Skip to content

Rate limits

Limits are applied per client_id, across all of its tokens and source IPs.

Endpoint Limit
POST /oauth/token 10 requests per minute
All /v1/* endpoints 60 requests per minute

A sync that fetches pages of 500 tasks stays well within these limits. If your use case needs more, contact support.

Every /v1/* response reports your budget:

Header Meaning
X-RateLimit-Limit Requests allowed in the current one-minute window.
X-RateLimit-Remaining Requests left in the window.
Retry-After Only on 429: seconds to wait before the next request.

A throttled request returns 429 with the standard error body:

{
"error": {
"code": "rate_limited",
"message": "Rate limit exceeded. Retry after 12 seconds.",
"request_id": "req_01J8ZQ4K6M2V7T9B"
}
}

Wait Retry-After seconds, then continue. Tips to stay under the limit:

  • Cache the access token for its full lifetime.
  • Use limit=500 when syncing to reduce the number of pages.
  • Filter by location_id, mva or vehicle_id instead of downloading everything and filtering locally.
  • Spread scheduled jobs across the minute instead of starting them all at :00.