Rate limits
Some endpoints are rate-limited per organization to keep the platform fast and fair.
Rate-limit headers
Section titled “Rate-limit headers”Rate-limited responses carry headers describing your current window:
| Header | Meaning |
|---|---|
X-RateLimit-Limit |
Max requests allowed in the window. |
X-RateLimit-Remaining |
Requests remaining in the current window. |
X-RateLimit-Reset |
Unix timestamp (seconds) when the window resets. |
When you exceed a limit
Section titled “When you exceed a limit”Exceeding a limit returns 429 Too Many Requests with a Retry-After header (seconds
to wait) alongside the rate-limit headers:
HTTP/1.1 429 Too Many RequestsRetry-After: 42X-RateLimit-Limit: 5X-RateLimit-Remaining: 0X-RateLimit-Reset: 1782345678
{ "detail": "Rate limit exceeded" }Handling 429
Section titled “Handling 429”- Wait for the number of seconds in
Retry-After, then retry. - Back off exponentially if you keep hitting the limit.
- Avoid tight polling loops — prefer webhooks for real-time call updates.
For example, creating API keys is limited to 5 requests per hour per organization. Limits vary by endpoint; always read the response headers rather than hardcoding values.