Skip to content

Errors & troubleshooting ​

REST errors normally use an envelope containing an error object with a safe code, message, and type. Do not rely on message text as a stable machine identifier.

HTTP responses ​

StatusMeaningWhat to check
400Invalid request combinationWorkspace selector and parameter formats
401Authentication failedMissing, invalid, or revoked API key
403Permission deniedRequired scopes and current workspace access
404Record unavailable in this workspaceCorrect ID, workspace, and version
409State conflictCurrent resource state before retrying
422Validation failedRequired fields, supported values, and body shape
429A limit or rate restrictionReturned error code and workspace limits
503Service or configuration unavailableProvider setup and retry with backoff where appropriate

Do not blindly retry mutations such as key creation or conversation creation: the first request may have succeeded even if its response was lost. Refresh the relevant resource list or inspect its status first.

WebSocket failures ​

CodeLikely cause
4400Invalid initial handshake, unsupported audio format, or protocol version
4401Invalid, consumed, or expired stream token
4403Required provider access or authorization unavailable
4404Conversation/version unavailable
4008Workspace call limit reached
1013Runtime unavailable or unsupported engine path

A rejected handshake may appear as an HTTP error in a WebSocket library rather than exposing a close code. Never print the connection URL with its stream token into error logs.

No audio or delayed audio ​

Verify 16 kHz mono PCM16 input, real-time pacing, and version-1 output decoding. Make sure send and receive loops run concurrently. Do not buffer the entire assistant response before starting playback.

If interruptions leave old audio playing, clear the interrupted generation’s playback queue. If speech is cut off at the end, wait for audio exhaustion and queue drain; a completed transcript is not the end of audio.

Analysis unavailable ​

Call completion, persisted conversation material, recording, and analysis have distinct states. Read the result’s processing status before treating a missing analysis as a permanent failure.

When contacting the EVA team, include the workspace ID, conversation ID, approximate time, and sanitized error code. Exclude permanent keys, stream tokens, and provider secrets.

EVA Company · Understanding the conversation.