API
Rate Limiting
A PDF 429 response includes a Retry-After header (seconds to wait)
HTTP/1.1 429 Too Many Requests
retry-after: 42
content-type: application/json{
"errors": [
{
"message": "PDF download rate limit exceeded (20/minute, 1000/day per account, aggregated across all PDF endpoints). Retry after the Retry-After period.",
"pointer": ["base"]
}
]
}Two rate limits apply:
- Paginated list endpoints with an
updated_datetimefilter: see List rate limits under Incremental Sync. - PDF downloads (any path ending in
/pdf): described below.
The PDF limit is per account, aggregated across every PDF endpoint — not per endpoint:
| Window | Limit |
|---|---|
| Per minute | 20 successful downloads |
| Per day | 1,000 successful downloads |
Only successful (2xx) downloads count toward the limit. Requests that are
rate limited (429), forbidden, or fail to render do not consume quota.
When you exceed the PDF limit, the API returns 429 Too Many Requests with a
Retry-After header giving the number of seconds to wait before retrying. The
window is sliding, so Retry-After reflects when the oldest counted request ages
out — honor it rather than retrying on a fixed schedule.