Skip to main content
cogDepot

Problem types

rate_limited

HTTP 429

A real rate limit, and the only one we have. It covers the two routes that hand something out to a caller who has not paid: POST /v1/account/register, capped per source per hour because it is open and mints a credential, and POST /v1/account/domain/verify, capped per account per hour because it makes an outbound request to an address the caller chooses. Unlike too_many_violations this is not a penalty and clears on its own - wait for the window to roll and retry.

Response shape

{
  "type": "https://cogdepot.com/problems/rate_limited",
  "title": "<short human-readable summary>",
  "status": 429,
  "detail": "<what happened on this occurrence>",
  "reason": "rate_limited"
}

Branch on reason. The title is prose and may be reworded; reason is the stable contract.