Get started
Rate limits
Request limits per minute, the throttles on logins and codes, and concurrency.
Request limits
Authenticated requests are counted per minute. The count is shared by all keys of a workspace, and by all workspaces of an organisation when sub-accounts are used.
| Routes | Default limit |
|---|---|
POST /call, /v2/agent/{agent_id}, /v2/agent/{agent_id}/executions | 500 a minute, counted per route |
| Everything else | 1,000 a minute, counted together |
Over the limit, the answer is:
{"error": 429, "message": "Too many requests. Back off and retry with exponential backoff."}The window is the calendar minute, so waiting until the next minute is enough. The response does not carry a Retry-After header or remaining-quota headers.
Note: These numbers are the defaults in the code. The operator of a deployment can change both.
Throttles on sensitive actions
These are separate from the request limits and have their own messages.
| Action | Limit |
|---|---|
| Failed logins | 10 per 15 minutes, per email and per client address |
| Wrong two-factor codes | 5, then the second step is locked for 15 minutes |
| Password-reset emails | 3 an hour per address; 20 requests an hour per client address |
| Verification-email resends | 3 an hour |
| Setup-assistant messages | 20 an hour per workspace |
| Browser voice tests | One at a time per workspace |
Team invitations, website lead forms and callback requests are throttled too; their limits are on the reference pages.
Calls per number
The compliance settings can cap how many calls one phone number receives per day. A call over the cap is refused with 429 and a message that starts with Call not placed:. See Compliance toolkit.
Concurrency
How many calls run at once is not a rate limit; it is admission control.
- Each workspace has a concurrency limit, set by its plan. Calls beyond it wait in the queue; they are not refused.
- The voice engine has its own capacity (
MAX_CALLS), sized by the operator to what the model servers can carry. When the platform knows the engine is full, calls wait.
Limitation: A call that reaches the engine while it is full is refused without a spoken message. The operator should configure a busy announcement at the telephony provider.