Skip to content

Error codes ​

Every failure carries a machine-readable code, and the same string means the same thing over the control API and the client protocol. Branch on code, never on the message. detail is written for a log or a bug report; no text Talkline sends is meant for a user, and the words a user sees are always yours.

On the control API an error is an RFC 9457 problem document whose type is the page below for its code. In @talkline/core it is a TalklineError, with fromServer saying which side raised it.

A client must treat a code it does not know as a failure it cannot act on, never as a crash: a minor release may add codes.

CodeHTTPFrom
already_answered409API, SignalingAlready answered
app_suspended403API, SignalingApplication suspended
auth_timeoutSignalingConnect timed out
cancelledSDKCancelled
client_outdatedSignalingUpdate required
conflict409API, SignalingConflict
device_errorSDKDevice error
duplicate_identity409API, SignalingIdentity already in the room
identity_not_found404API, SignalingIdentity not found
insufficient_creditSignalingInsufficient credit
internal500API, SignalingInternal error
invalid_stateSDKInvalid state
invite_expiredSignalingInvite expired
media_failedSDKMedia failed
no_agents_availableSignalingNo agents available
not_found404APINot found
payload_too_large413API, SignalingPayload too large
permission_denied403API, SignalingPermission denied
protocol_errorSignalingProtocol error
quota_exhausted403API, SignalingQuota exhausted
rate_limited429API, SignalingRate limited
recording_unavailable503APIRecorder unavailable
room_closed409API, SignalingRoom has ended
room_full409API, SignalingRoom is full
room_not_found404API, SignalingRoom not found
session_expiredSignalingSession expired
sfu_unavailable503API, SignalingMedia server unavailable
signaling_unavailable503APISignaling unavailable
slow_consumerSignalingClient too slow
timeoutSDKRequest timed out
token_expired401API, SignalingToken expired
token_not_yet_valid401APIToken not yet valid
token_replayed401API, SignalingToken already used
token_requiredSDKToken required
token_ttl_too_long400APIToken lifetime too long
transport_closedSDKConnection lost
unauthenticated401API, SignalingNot authenticated
unsupported501APINot supported
unsupported_messageSignalingNot supported by this server
validation_failed400APIRequest did not validate

Talkline documentation