Limits
API routes (/api/v1/...) are rate-limited per API key (after successful authentication).
Default (current implementation): 60 requests per minute per key. Limits may change; check response headers.
Headers
On rate-limited responses (429), error.code is 429. The JSON body may include error.details.retryAfterSeconds.
Headers:
Retry-After— seconds to wait before retryingX-RateLimit-Limit— max requests in the windowX-RateLimit-Remaining— remaining in the current windowX-RateLimit-Reset— epoch ms when the window resetsX-Request-Id— same aserror.request_idwhen present
Best practices
- Use exponential backoff when you receive
429. - Cache list results when possible instead of polling aggressively.
- Run integrations from a server, not from end-user devices.
