- General — reads, tags, mailbox, notes, files.
- Messages — sends under
conversation.messages.*(text, quick-reply, template).
When exceeded
Past the limit the API responds429 with code RATE_LIMIT_EXCEEDED:
Response headers
Every429 carries Retry-After. The X-RateLimit-* headers accompany only the rate-limit 429 (code: RATE_LIMIT_EXCEEDED); other 429s such as TOO_MANY_PENDING_UPLOADS carry Retry-After alone:
How to handle a 429
1
Detect the status
Almost every
429 is a rate limit. Always honor the Retry-After header;
if you need the exact cause, tell it apart by the body’s code field
(RATE_LIMIT_EXCEEDED vs others such as TOO_MANY_PENDING_UPLOADS).2
Read the Retry-After
Wait the number of seconds indicated by the
Retry-After header.3
Retry with backoff
Resend the request. For large workloads (campaigns), space out the requests
instead of sending them in a burst.