Submit an ingestion batch

Preview
Submit a batch of surgery/case records. The request envelope is validated synchronously; if any row is invalid the whole request is rejected (`422`) and no job is created. On success a job is created and rows are processed asynchronously — read a case with `GET /cases/{caseId}` or subscribe to the per-case `ingestion.case.status_changed` webhook. `caseId` is the reconciliation key: resubmitting a row with the same `caseId` updates the existing record rather than creating a duplicate.

Authentication

AuthorizationBearer

Bearer authentication of the form Bearer <token>, where token is your auth token.

Headers

Orchestra-VersionstringOptional

Optional date-based API version (e.g. 2026-07-13). When omitted, the version pinned to your client at onboarding is used.

Request

This endpoint expects a list of objects.

Response

Batch accepted; processing asynchronously.

jobIdstringformat: "uuid"
Batch correlation id. Also carried on each case webhook event.
caseIdslist of strings

The caseIds accepted for processing, echoed for confirmation.

Errors

400
Bad Request Error
401
Unauthorized Error
403
Forbidden Error
413
Content Too Large Error
422
Unprocessable Entity Error
429
Too Many Requests Error