Elizon Docs
Voice Integration

Rate Limits

Rate limits and session limits specific to voice integration.

The two voice endpoints have their own fixed, per-API-key rate limits — independent of the general Public API rate limits.

Limits

LimitValue
GET /voice-agents100 requests/minute
POST /voice-agents/:agentId/sessions10 requests/minute
Concurrent sessions per key5
Maximum session duration3600 seconds (1 hour)

A session still running at the 3600-second mark is closed automatically; session_state is set to completed with a timeout reason.

X-RateLimit-* headers

Every response from either endpoint carries these headers:

HeaderDescriptionExample
X-RateLimit-LimitThe endpoint's limit, requests/minute100
X-RateLimit-RemainingRequests left in the current 60-second window37
X-RateLimit-ResetUnix timestamp (seconds) when the current window ends1732550460
X-RateLimit-Retry-AfterSeconds until the window resets — only present on 429 responses23

A 429 also carries a plain Retry-After header with the same value as X-RateLimit-Retry-After.

Rate Limit Best Practices

  • Cache the discovery response. Your list of voice-enabled agents rarely changes — call GET /voice-agents once and cache the result instead of calling it before every session.
  • Use exponential backoff on 429. Read retry_after from the response body (or Retry-After header) and back off at least that long; add jitter if you're retrying multiple sessions at once.
  • Monitor X-RateLimit-Remaining. Slow down proactively when it gets low instead of waiting for a 429.
  • Reuse sessions where possible. Each session start counts against both the 10 req/min limit and the 5-concurrent-session cap — end sessions promptly (see Session Management) so the slot is free for the next call.