Skip to content

Error Codes

This page describes the stable SDK Open business error codes used by Command WebSocket responses, Command/Video events, and business method status results.

Integrations should branch on code first. message is intended for logs and diagnostics, and should not be the only decision key.

Response Shape

Command WebSocket responses use this common shape:

json
{
  "request_id": "req-001",
  "id": "req-001",
  "code": 0,
  "message": "ok",
  "data": {},
  "ts": 1710000000
}
FieldDescription
request_idMatches the request request_id.
idCompatibility field. It currently matches request_id.
codeStable status code. 0 means success.
messageShort status message for logs and diagnostics.
dataResponse data or extended error details.
tsServer Unix timestamp in seconds.

Event Shape

Command/Video events use this common shape:

json
{
  "event": "capture.completed",
  "code": 0,
  "message": "ok",
  "payload": {},
  "ts": 1710000000
}
FieldDescription
eventEvent name.
codeEvent status code. 0 means success.
messageShort status message for logs and diagnostics.
payloadEvent business payload.
tsServer Unix timestamp in seconds.

Error Code Groups

RangeCategoryDescription
0SuccessRequest or event completed successfully.
1000-1099Request protocol errorsRequest shape, method name, parameters, or rate limiting.
1100-1199Auth and authorization errorsToken, session, capability, device scope, or auth scene errors.
1200-1299Device errorsDevice discovery, open, busy, model support, or disconnect errors.
1300-1399Video and capture errorsStream, preview resolution, capture failure, or capture timeout errors.
1700-1799SANE errorsSANE runtime, device, option, scan, or profile errors.
1900-1999Runtime and provider errorsSDK runtime internal errors or provider wiring/call errors.

SDK Open Status Codes

codeNameDescriptionSuggested action
0OKSuccess.Read data.
1000INVALID_REQUESTRequest is not a valid JSON object.Check Command WS envelope.
1001INVALID_METHODmethod is missing or invalid.Use a public method name.
1002INVALID_PARAMSParameter missing or invalid.Fill parameters according to the reference.
1003UNSUPPORTED_METHODMethod or format is unsupported.Call system.capabilities to confirm capability.
1004RATE_LIMITEDRate limit hit.Reduce request rate.
1100AUTH_REQUIREDCurrent connection has no session.Call auth.create_session first.
1101TOKEN_INVALIDAPI key invalid.Check key value, status, and license mode.
1102TOKEN_EXPIREDAPI key or token expired.Rotate or reissue the key.
1103SESSION_TOKEN_INVALIDSession token invalid.Create a new session.
1104ACCOUNT_TYPE_NOT_ALLOWEDAccount tier not allowed.Upgrade key tier or check capability.
1105DEVICE_NOT_IN_AUTH_SCOPEDevice is outside auth scope.Update API key deviceScope.
1106AUTH_SCENE_MISMATCHThe current auth scene does not satisfy SDK requirements.Check auth scene configuration and reissue authorization.
1107CAPABILITY_NOT_ALLOWEDThe current session lacks method permission, or the requested parameter-level feature exceeds the current entitlement tier. For example, a VIP/SVIP/SVIP+ feature is not authorized, or an online API key is not commercially authorized and the requested feature exceeds the purchased tier.Check auth_context.capabilities, auth_context.account_type, auth_context.licensed_account_type, and the entitlement tier required by the method parameters. Upgrade the key tier or complete commercial authorization before retrying.
1108OFFLINE_AUTH_CODE_INVALIDOffline activation code invalid.Generate a code for the current machine code.
1109ONLINE_AUTH_UNAVAILABLEOnline auth unavailable.Check gateway URL and network.
1110USAGE_LIMIT_EXCEEDEDQuota exceeded. This also applies when a trial session calls a VIP/SVIP/SVIP+ restricted feature after the shared trial quota has been exhausted, for example with message trial quota exhausted.Wait for quota reset, upgrade tier, complete offline activation, or complete online commercial authorization. Do not keep retrying the same restricted feature after trial quota is exhausted.
1111OFFLINE_BINDING_MISMATCHOffline authorization does not match machine.Generate a new code for the current machine.
1200DEVICE_NOT_FOUNDDevice not found.Check connection and device ID.
1201DEVICE_BUSYDevice busy.Stop video or close device before retrying.
1202DEVICE_OPEN_FAILEDFailed to open device.Check driver, permissions, and provider.
1203DEVICE_NOT_OPENDevice not open.Call device.open first.
1204DEVICE_MODEL_UNSUPPORTEDDevice model unsupported.Check device capabilities.
1205DEVICE_DISCONNECTEDDevice disconnected.Reconnect the device.
1300STREAM_NOT_FOUND / STREAM_NOT_READYStream not found or not ready. Both names currently share the same numeric value.Call video.start again and wait until the stream is ready.
1301CAPTURE_FAILEDCapture failed.Check device state and profile.
1302PREVIEW_RESOLUTION_UNSUPPORTEDPreview resolution unsupported.Use a resolution returned by device.get.
1303CAPTURE_TIMEOUTCapture timeout.Increase timeout_ms or check device.
1700SANE_NOT_AVAILABLESANE unavailable.Linux only; check provider and SANE runtime.
1701SANE_DEVICE_NOT_FOUNDSANE device not found.Refresh with sane.list.
1702SANE_DEVICE_BUSYSANE device busy.Close old sessions and retry.
1703SANE_OPTION_INVALIDSANE option invalid.Set values according to sane.get_options constraints.
1704SANE_SCAN_FAILEDSANE scan failed.Check device, paper, and driver logs.
1705SANE_PROFILE_NOT_FOUNDProfile not found.Refresh profile list.
1900INTERNAL_ERRORInternal error.Check runtime logs.
1901PROVIDER_NOT_READYProvider not ready.Check runtime startup and provider wiring.
1902PROVIDER_CALL_FAILEDProvider call failed.Check provider error and logs.

CZUR Open Platform Documentation