Rate Limiting
Rate Limit Exceeded (RATE_LIMIT_EXCEEDED)
The request was rejected because the client exceeded the configured rate limit.
Response format
The 429 response uses the Problem Details format:
Code
If headerMode is set to "retry-after" (the default), the response includes a
Retry-After header with the number of seconds to wait before retrying.
Common Causes
- Too many requests — The client sent more requests than the rate limit policy allows within the configured time window.
- Shared rate limit — Multiple clients or API keys share a rate limit pool that has been exhausted.
- Burst traffic — A sudden spike in requests exceeded the allowed burst capacity.
How to Fix
- Check the
Retry-Afterheader — The response typically includes aRetry-Afterheader indicating how long to wait before sending another request. - Implement backoff — Add exponential backoff and retry logic to the client.
- Request a higher limit — If the current rate limit is too restrictive, contact the API provider about upgrading the plan or adjusting limits.
For API Operators
- Review the rate limiting policy configuration in the route settings. Check the
requestsAllowedandtimeWindowMinutesvalues and verify that therateLimitByidentifier is resolving correctly. - Consider using dynamic rate limiting to set different limits per customer tier.
- Use your logging integration to filter for 429 responses and identify which consumers are being throttled. Break down by user or IP to spot noisy neighbors.
Last modified on