Messaging API rate limits

important
This page is in beta. Features and documentation for the Messaging API are subject to change.
Braze applies Messaging API rate limits per workspace. If a workspace exceeds a limit, Braze returns a 429 Too Many Requests status code.
Messaging API limits are separate from the default limits documented for other Braze REST API endpoints. Don’t assume that a limit, time window, payload size, or reset schedule documented for another endpoint applies to the Messaging API.
Rate-limit headers
When rate-limit information is available, a response includes the following headers:
| Header | Description |
|---|---|
X-RateLimit-Limit |
The maximum number of requests allowed in the current interval. |
X-RateLimit-Remaining |
The number of requests remaining in the current rate-limit window. |
X-RateLimit-Reset |
The UTC epoch time when the current rate-limit window resets. |
X-RateLimit-Retry-After |
The number of seconds to wait before retrying a rate-limited request. |
Use these headers to reduce or pause requests before reaching a limit. Headers might not be present on every response.
Handling rate limits
When you receive a 429 response:
- Stop or reduce requests for the affected workspace.
- Use
X-RateLimit-Retry-Afterwhen it is present to determine how long to wait. Otherwise, useX-RateLimit-Resetwhen available to determine when to resume. - Retry with exponential backoff and a maximum number of attempts.
New Stuff!