Organized by what you see, not by cause.HTTP endpoints#
| Status | Meaning | What to do |
|---|
400 | Bad input. The message says which field. | Fix the request. It cost nothing. |
401 | Missing or wrong key. | Send X-Auth or ?key=. |
402 | Insufficient credits. | Top up the account. |
404 | Session not found, or it belongs to another key. | Check the session_id and the key. |
502 | Transcription failed on /scan. | Retry. Send a transcript instead if it repeats. |
503 | The product is off on this deployment, or the node is at its session limit. | Check What this deployment can do. Retry on a new connection. |
Every error body is {"status": "error", "message": "..."}.Socket#
| What you see | Cause |
|---|
Upgrade refused with 401 | Missing or wrong key. |
Upgrade refused with 503 | live_filter is false, or the node is full. Retry on a new connection. |
| Socket closed with no events | No start message within 10 seconds, a binary frame before the start message, or an unsupported encoding or sample_rate. |
session.started but no transcript.line | No audio is arriving, the audio is silent, or the encoding does not match what you declared. Check encoding and sample_rate first. |
transcript.line with garbage text | Wrong encoding or sample_rate, or both parties mixed in one channel. |
Session ended early with session.ended | Credits ran out, or the session hit its time limit. |
session.error | Honeypot only. Speech synthesis failed. The error field carries the message. |
Webhook#
| What you see | Cause |
|---|
| No posts at all | The URL is not HTTPS. HTTP URLs are ignored without an error. |
| Some posts missing | Your endpoint took more than 5 seconds or returned a non-2xx status. There is no retry. Read Get one session. |
| Signature does not match | You hashed the parsed JSON instead of the raw body, or you used a different key than the one that opened the session. |
Verdicts#
| What you see | Cause |
|---|
No verdict events on a call | The call is clean, or every rules-only score stayed below 0.5. Normal. |
scam on a legitimate call | Read the transcript in Get one session. If the verdict is wrong, contact us with the session_id. |
Nothing filed with report=true | from was missing or not E.164 with a leading +, the category is never filed, or the score did not reach the threshold. See Block a caller. |
Modified at 2026-09-18 16:57:11