Error: rate_limit_exceeded
Too many requests in the current window. Honor the Retry-After header.
rate_limit_exceeded
rate_limit_exceededHTTP status: 429
You sent more requests than the per-license window allows. The Retry-After header tells you how many seconds to wait before retrying.
Why this happens
- A burst of calls exceeded the per-second or per-minute ceiling for your license tier.
- A retry loop without backoff hammered the API after a transient failure.
- Concurrent workers shared one license without coordinating their request rate.
This is distinct from quota_exceeded. Rate limiting is a short-window throttle (resets in seconds). Quota is a billing-cycle ceiling (resets next cycle).
What to do
- Read the
Retry-Afterheader and wait that many seconds before retrying. (The SDKs handle this automatically.) - If you call the wire directly, use exponential backoff: start at 500 ms, cap at 30 s, and add jitter.
- Reuse the same
Idempotency-Keyacross retries to avoid duplicates. - For sustained high volume, spread work across the window instead of bursting. See Rate limits.
Example response
{
"type": "https://zyins.isaapi.com/errors/rate-limit-exceeded",
"title": "Rate limit exceeded",
"status": 429,
"detail": "Too many requests. Retry after 12 seconds.",
"code": "rate_limit_exceeded",
"advice_code": "honor_retry_after",
"param": null,
"request_id": "req_01HZK2N5GQR9T8X4B6FJW3Y1AS"
}SDK exceptions
| Language | Exception class |
|---|---|
| TypeScript | IsaRateLimitExceededError |
| Python | IsaRateLimitExceededError |
| Go | *zyins.RateLimitExceededError |
| PHP | Isa\Sdk\Zyins\Exception\IsaRateLimitExceededException |
| C# | IsaRateLimitExceededException |
See also
- Error catalog
- Rate limits — the per-license window and the headers returned on every response
quota_exceeded— the billing-cycle ceiling
Updated about 10 hours ago