Legacy API Notice: This documentation covers the Legacy Sent API (v2). For new integrations, please refer to the latest Sent API v3 Rate Limits.
Rate Limits
This page is the authoritative reference for rate limits on the legacy Sent API v2; other v2 pages link here rather than restating limit values.
Rate limits apply per customer account: all requests authenticated with the same x-sender-id count against one pool. Unauthenticated requests are limited per IP address.
Per-minute request limit
The v2 send-message endpoints use the standard per-minute limit:
| Endpoint | Limit | Window |
|---|---|---|
POST /v2/messages/phone | 200 requests per minute | Sliding 60-second window |
POST /v2/messages/contact | 200 requests per minute | Sliding 60-second window |
The 200-per-minute pool is shared with the standard-tier Sent API v3 endpoints: v2 and v3 requests from the same account count against the same limit.
Quick-message daily limit
POST /v2/messages/quick-message enforces a separate limit of 5 messages per customer per day. The counter resets at midnight UTC. Requests that fail validation do not count against the limit.
Above the limit, the endpoint returns 429 with this message in the error response body:
Daily message limit exceeded. You have sent 5 of 5 allowed messages today. Limit resets at midnight UTC.This limit is enforced by the endpoint itself; its 429 response does not include the X-RateLimit-* headers described below.
429 response
When the per-minute limit is exceeded, the API returns 429 Too Many Requests with these headers:
| Header | Description |
|---|---|
Retry-After | Seconds to wait before retrying |
X-RateLimit-Limit | Maximum requests allowed in the window |
X-RateLimit-Remaining | Requests remaining (always 0 on 429) |
X-RateLimit-Reset | Unix timestamp when the window resets |
The response body follows the standard v2 error response format:
{
"type": "https://www.rfc-editor.org/rfc/rfc9110#section-15.5.1",
"title": "Rate limit exceeded. Please retry after 60 seconds.",
"status": 429,
"errors": {
"generalErrors": ["Rate limit exceeded. Please retry after 60 seconds."]
}
}Endpoints without explicit limits
The remaining v2 endpoints (contact lookup and listing, template management, message lookup, and number lookup) have no explicit per-request rate limit.
For backoff, monitoring, and throttling implementations, see How to handle Sent API rate limits.
Error Catalog
Lookup catalog of legacy Sent API v2 errors: authentication, validation, balance, not-found, rate-limit, and server errors with causes and remediation.
Glossary
Definitions of key terms for the legacy Sent API v2, covering authentication credentials, contacts, channels, message templates, and delivery statuses.