Skip to main content

Rate Limits

Every API-key-authenticated request returns rate-limit headers so your integration can throttle proactively.

Headers

Every API-key-authenticated response (including the 429 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 returns 429 with a Retry-After header (seconds) plus the full X-RateLimit-* set, and this body:
Prefer honoring Retry-After / X-RateLimit-Reset when present; otherwise fall back to exponential backoff with jitter: Use exponential backoff with jitter: