Introduction
API throttling limits the number of requests an API server accepts within a given time period. API requests are throttled to ensure a better quality of service.
If the number of API requests exceed the throttling limit, the following occurs:
- The API request is rejected.
HTTP 429 Too Many Requests
status code is returned. This indicates that too many requests were sent. within a given amount of time (“rate limiting”).
The following limits apply for each tenant (service provider, partner, and client) as requests per minute:
API Category | GET (non-paginated) | GET (paginated) | POST/DELETE/PUT |
---|---|---|---|
Alerts | 500 | 50 | 200 |
Metric | 500 | 50 | 5000 |
Device | 500 | 50 | 25 |
Tickets | 500 | 50 | 50 |
Other APIs | 500 | 50 | 50 |
Use HTTP Headers
HTTP headers should be used when making API requests. Using HTTP headers are recommended because API rate limits may change for performance and service reasons.Usage information
API response headers include information on usage against throttling limits. This allows applications making API requests can self-regulate their requests.
HTTP Header | Description | Example |
---|---|---|
X-RateLimit-Limit | Number of requests the user is allowed to make per minute. | X-RateLimit-Limit: 500 |
X-RateLimit-Remaining | Number of requests remaining in the current rate limit window. | X-RateLimit-Remaining: 14 |
X-RateLimit-Reset | The time at which the current rate limit window resets. Time in UTC epoch seconds. | X-RateLimit-Reset: 1491397260 |
Error response sample
The following sample response is generated if the API requests exceed the rate limit:
{
"error" : "throttled",
"error_description" : "Too Many Requests"
}