Some endpoints in the API have a limitation on the number of requests you may make within a given period.
The following endpoints are rate-limited:
GET /products
GET /products/{uuid}
GET /products/{uuid}/product-types
GET /product-types/{uuid}
GET /product-types/{uuid}/price-lists
GET /product-types/{uuid}/price-lists/{YYYY-MM-DD}
The limit is 400 requests per minute. The API response from all these endpoints will contain additional headers specifying the details of the limit, the time, and the remaining requests within the period, for example:
X-RateLimit-Limit: 400
X-RateLimit-Remaining: 199
The 400 requests per minute limit is a combined rate limit for all these endpoints. For example, if you have reached the limit while requesting the GET /products/{uuid}
endpoint, you will receive an error when you retry this request or try a new API endpoint request.
After reaching the limit, you will receive a 429 Too Many Requests
response with two more headers indicating when you can retry your request:
HTTP/1.1 429 Too Many Requests
Content-Type: application/json
X-RateLimit-Limit: 400
X-RateLimit-Remaining: 0
Retry-After: 60 // Seconds to pass before you can try again
X-RateLimit-Reset: 1493171315 // UNIX timestamp when you can try again
{
"error": {
"code": "GEN-TOO-MANY-REQUESTS",
"http_code": 429,
"message": "The limit for using this API method has been reached"
}
}