Skip to Content
DocumentationRate Limits

Rate Limits

Inzi enforces per-endpoint rate limits on all API keys.


Limits

EndpointLimit
POST /v1/checkouts60 requests / minute
GET /v1/checkouts/{id}120 requests / minute
GET /v1/checkouts (list)30 requests / minute

Limits are per API key, not per IP address.


Response headers

Every API response includes rate limit headers:

X-RateLimit-Limit: 60 X-RateLimit-Remaining: 58 X-RateLimit-Reset: 1712145960
HeaderDescription
X-RateLimit-LimitMaximum requests allowed in the window
X-RateLimit-RemainingRequests remaining in the current window
X-RateLimit-ResetUnix timestamp when the window resets

Exceeding the limit

When you exceed the rate limit, you receive a 429 Too Many Requests response:

{ "error": { "type": "rate_limit", "message": "Rate limit exceeded. Retry after 42 seconds." } }

Best practices

  1. Use webhooks instead of polling. Don’t poll GET /v1/checkouts/{id} in a tight loop — wait for the webhook.
  2. Cache checkout responses. A checkout’s final state (completed, expired) won’t change.
  3. Implement exponential backoff. When you hit a 429, wait and retry with increasing delays.
  4. Use the list endpoint sparingly. For dashboards, cache results and paginate efficiently.
  5. Monitor X-RateLimit-Remaining. Proactively throttle before hitting the limit.