API: Limits and errors
Getting started
Reference
Limits and errors
Updated September 7, 2026
The limit is 120 requests per minute per key. That is enough to sync even large accounts if you avoid polling the conversation list more than a couple of times a minute and use webhooks for events.
Rate limit headers
Response headers
X-RateLimit-Limit: 120
X-RateLimit-Remaining: 118
X-RateLimit-Reset: 1757232360When the limit is exceeded the API responds 429 with a Retry-After header — the number of seconds until the next allowed request.
Error format
Error example
{"error": {"code": "rate_limited", "message": "Retry after 30s"}}| HTTP | Code | Reason |
|---|---|---|
| 400 | bad_request | Invalid parameters or request body |
| 401 | unauthorized | Key missing, revoked or wrong |
| 403 | forbidden | Plan without API access or another company's data |
| 404 | not_found | Conversation, contact or webhook not found |
| 409 | conflict | A webhook with this URL already exists |
| 429 | rate_limited | Rate limit exceeded, see Retry-After |
| 500 | internal | Error on our side — retry with backoff |
Use exponential backoff for retries: 1s, 2s, 4s. For 429 always wait for Retry-After — it is faster than guessing.