Problem reference · HTTP 429

rate_limited

Your credential sent more requests than the current window allows. The request was not processed; retry after the window resets.

Example response

HTTP/1.1 429 Too Many Requests
Content-Type: application/problem+json
X-Request-ID: 7d1e9c2a-3b4f-4c5d-8e6f-9a0b1c2d3e4f
Retry-After: 17
X-RateLimit-Limit: 100
X-RateLimit-Remaining: 0
X-RateLimit-Reset: 17

{
  "type": "https://docs.talero.dk/problems/rate_limited",
  "title": "Rate limit exceeded",
  "status": 429,
  "detail": "Rate limit exceeded.",
  "code": "rate_limited"
}

Common causes

  • More than 100 requests in 60 seconds with one credential — typically an unthrottled backfill or a polling loop.
  • More than 10 requests in 60 seconds to the OAuth token endpoint per client and IP — usually a client requesting a fresh token per API call instead of caching it.
  • Multiple workers sharing one API key without a shared throttle.

How to fix it

  • Wait Retry-After seconds, then retry. Add exponential backoff with jitter for repeated 429s — a sample is in Rate limits.
  • Replace change-detection polling with webhooks.
  • Fetch up to 200 items per page and use since/until filters to reduce request counts.
  • Cache OAuth access tokens for their full one-hour lifetime.

If the problem persists, contact [email protected] and quote the X-Request-ID header from the failing response.