Rate Limits
Every API-key-authenticated request returns rate-limit headers so your integration can throttle proactively.Headers
Every API-key-authenticated response (including the429 rejection) carries:
Read
X-RateLimit-Remaining on each response and slow down as it approaches
0 to avoid 429s entirely. Session/JWT-authenticated requests use separate
role-based limits and do not receive these headers.
Defaults
Configure per-key limits when creating or updating keys via the API Keys
dashboard or
POST /api/api-keys.
Handling 429 Responses
When rate-limited, the API returns429 with a Retry-After header (seconds)
plus the full X-RateLimit-* set, and this body:
Retry-After / X-RateLimit-Reset when present; otherwise fall
back to exponential backoff with jitter:
Use exponential backoff with jitter:

