Authentication Errors
Errors that indicate the client cannot authenticate. Do not retry these without user intervention.SDK handling:Authorization: Bearersupport varies by endpoint./tts/synthesize,/stt/transcribe, and/denoiseacceptAuthorization: Bearer, a rawAuthorizationheader,X-API-Key, or?api_key=. Every other authenticated endpoint (including the entire Call Center API) only acceptsX-API-Keyor?api_key=— aBearertoken there is silently ignored and the request gets treated as unauthenticated. When in doubt, sendX-API-Key; it works everywhere.
Validation Errors
Errors that indicate the request was malformed. Fix the request payload and retry.TTS Errors
Errors during text-to-speech synthesis. Most are retryable.STT Errors
Errors during speech-to-text transcription.Agent Errors
Errors during voice agent session management.Billing Errors
Usage is paid from a prepaid balance (Pricing and billing). These errors mean the account cannot pay for what was asked; none of them goes away by retrying.
Where they arrive:
- REST (
/tts/synthesize,/stt/transcribe,/denoise): in the error format above. - Call Center API: as
{"code": "billing.topup_required", "error": "…"}, with the same codes. - WebSocket (
/ws/agent,/ws/tts,/ws/stt): the refusal comes before the connection opens. The handshake answers402with the message as plain text; a browserWebSocketonly sees the connection fail (close code1006), so check the balance when a connection fails at the handshake.
1008 and the reason account balance exhausted. See When the balance runs out.
Internal Errors
Catch-all errors for unexpected server-side failures.Client-side (JavaScript SDK)
These are raised by@lokutor/sdk in the browser, not sent by the server.