The number of requests the API consumer can make in a second
A rate limit is the number of API requests (calls) an app or user can make within a defined time.
If the number of requests exceeds the limits described in the table below, requests are temporarily blocked (throttled) until the rate limit window resets; the responses return an error with status code 429.
The methods not listed in this table share a total default rate limit of 200 requests per second.
Events sent through the Generate event and Generate past events resources are processed asynchronously, and the processing order isn't guaranteed. Don't rely on the order in which requests are sent: for historical events, the reference point is the time passed in the event itself, in the occurred field.
| Method | Request type | Endpoint | Max requests per second |
|---|---|---|---|
| Get contact ID by token | GET | /api/v1/contact/token/{app_uuid}/{token_id}/contactId | 150 |
| Search for contacts | GET | /api/v1/contacts | 50 |
| Generate events v1 | POST | /api/v1/event | 350 |
| Generate past events V1 | POST | /api/v1/past_events | 100 |
| Delete events | DELETE | /api/v1/past_events | 5 |
| Update interaction status | PUT | /api/v1/interactions/{interaction_id}/status | 300 |
| Get contact's message history | GET | /api/v2/contacts/messages | 10 |
| Generate event v2 | POST | /api/v2/event | 350 |
| Generate past events V2 | POST | /api/v2/past_events | 100 |
| Get email message | GET | /api/v1/messages/email/{id} | 10 |
| Generate event v3 | POST | /api/v3/event | 350 |
| Generate past events V3 | POST | /api/v3/past_events | 100 |
Hourly limit on message retrieval requests
A group of message-retrieval GET methods shares one additional limit of 500 requests per hour. The limit is shared across the methods in this group rather than applied separately to each method. When their combined number of requests exceeds 500 within an hour, the API returns 429 Too Many Requests.
Hourly limit on permanent contact erasure
The Delete contact resource has a default limit of 13 requests per hour per account when called with erase=true. The limit also applies when the contact is identified by externalCustomerId, for example:
DELETE /api/v1/contact?externalCustomerId=AB12770&erase=true
After the limit is reached, subsequent permanent-erasure requests return 429 Too Many Requests until the hourly window resets. This special hourly limit applies only to requests with erase=true; requests with erase=false are subject to the general API rate limit.
Hourly limit on single email sends
In addition to the per-second request limits, each account has an hourly limit on single (one-off) email sends ā 100 emails per hour by default. The limit applies to email messages sent by workflow message blocks and by the Send prepared message and Send Email message API resources. Bulk campaigns are not affected.
When the limit is exceeded, the API returns a 403 error Per hour emails limit reached: N, where N is the current limit value. The same error is displayed in the workflow launch history.
To increase the limit for your account, contact support.
