Errors & status codes

The error envelope, every error code, and retry guidance.

Every error response uses one envelope:

{
  "error": {
    "code": "study_not_found",
    "message": "No study 'a1b2c3d4' for this organization"
  }
}

Some errors include extra context fields next to code and message (for example detected_series on series-selection failures).

Error codes

HTTPCodeWhenWhat to do
401invalid_api_keyMissing or unknown X-API-KeyCheck the header and key value
403key_revokedKey was revokedUse your replacement key
400unsupported_file_typeFile is not .dcm or .zipRepackage the study
400no_files / no_files_uploadedStudy created but nothing uploadedPUT files to the presigned URLs, then retry process
404study_not_foundUnknown study id for your orgCheck the study_id from the create response
404results_not_readyReport/findings/images before completionPoll GET /studies/{id} until complete
409already_processingSecond process callIdempotent; use the scan_id in the response
422no_processable_seriesNo usable DICOM series foundInspect detected_series reasons; send a different series
422series_not_foundseries_uid not in the uploadCheck the UID against detected_series
422validation_errorMalformed request bodySee details for field errors
503inference_unavailableProcessing temporarily unavailableRetry with backoff
503storage_unavailable / auth_unavailableUpstream dependency issueRetry with backoff

Retry guidance

Study status values

StatusMeaning
uploadedWaiting for process
queuedWaiting for a GPU worker
materializingDICOM conversion in progress
processingAI pipeline running
completeResults available
errorFailed; error field has the reason

Next: Changelog