rate_limit_exceeded
A rate-limit bucket is exhausted.
A rate-limit bucket is exhausted.
| Code | rate_limit_exceeded |
| Type | rate_limit_error — Too many requests |
| HTTP | 429 |
| Retriable? | Yes |
What to do
Retry-After says exactly how long to wait. Limits are raised on request (§5.7).
Retrying the same request may work. Respect Retry-After when it comes.
The envelope
{
"error": {
"type": "rate_limit_error",
"code": "rate_limit_exceeded",
"message": "…",
"hint": "`Retry-After` says exactly how long to wait. Limits are raised on request (§5.7).",
"retriable": true,
"doc_url": "https://docs.facturia.cl/errors/rate_limit_exceeded",
"request_id": "req_01K2R7Q9M4T2VB"
}
}Program against code, never against message — the prose can be rewritten, the code cannot (§5.8).
hint and retriable arrive in the response with these exact values: they are a function of code and come from the same dictionary GET /v1/error_codes serves, so the envelope and the dictionary cannot disagree. Both are English on the wire by design — one registry, one language. More in The error envelope.
See also
Every code
The full table, grouped by where you will run into it.
The error envelope
The nine types, the request_id and how to handle them in practice.
The machine-readable copy of this page lives at GET /v1/error_codes, unauthenticated.