# Rate-limited requests

A request over a rate limit
([Rate limits](/docs/rate-limits.md)) gets `429` with the
usual envelope and the code `rate_limited`:

```text
HTTP/1.1 429 Too Many Requests
Retry-After: 42
RateLimit-Policy: "default";q=5;w=3600
RateLimit: "default";r=0;t=42

{ "error": { "code": "rate_limited", "message": "Too many requests.", "request_id": "req_0b1e…" } }
```

`Retry-After` gives the seconds to wait. `RateLimit` and `RateLimit-Policy`
are the standard headers of the IETF draft
`draft-ietf-httpapi-ratelimit-headers`: the limit's requests (`q`) and window
in seconds (`w`), and none left (`r=0`) until `t` seconds from now. The failure's wording for people
comes from translations, as every failure's does, and is in the per-locale
failure export ([OpenAPI](/docs/openapi.md)).
