Documentation
Rate limits
Limits that protect the platform and your accounts. Exceeding them returns 429 (or queues calls at your CPS rate).
Limits
| Limit | Default | Scope | Notes |
|---|---|---|---|
| Calls per second (CPS) | 1 (configurable) | Account | Outbound API calls beyond CPS are queued, not rejected. |
| Calls per minute | Configurable per account | Account | Fraud guardrail — adjustable in the dashboard. |
| Distinct destinations / hour | Configurable per account | Account | Fraud guardrail against destination fan-out. |
| PageSize | 50, max 1000 | Request | List endpoints. |
| TwiML length | 4000 chars | Request | Inline Twiml. |
| Recording length | 3600s default | Call | maxLength on <Record>. |
Response headers
When you hit a rate limit, the response includes:
HTTP/1.1bash
HTTP/1.1 429 Too Many Requests
Retry-After: 30
Calls Per Second explained
CPS controls how fast outbound calls are initiated. Bursts above the limit are queued and executed at the CPS rate, so POST /Calls returns 201 immediately but the call may not start dialing until its turn. Increase CPS in the dashboard for higher throughput.
Best practices
- Set generous
PageSizeto reduce request count. - Honor
Retry-Afteron 429s. - Use
waitForin the SDK to poll a call instead of tight-looping.