Skip to navigation

Ingestion case status changed

Preview

Sent once per case, per status transition as each row in a batch moves through its lifecycle (created → processing → completed, or failed). One batch of N rows therefore produces events for N cases, not a single job-level event.

The payload is PHI-free — it carries the caseId you submitted (your own key), the current status, and, for failed, a machine-readable error following the RFC 9457 problem shape. Fetch the full case via GET /cases/{caseId}.

The request is signed with RS256 (JWS). Verify the X-Orchestra-Signature header against the JWKS at https://api.orchestrahealth.com/.well-known/jwks.json. Delivery is at-least-once and unordered, so treat handling as idempotent — key on jobId + caseId + status.

Payload

The payload of this webhook request is an object.
eventenumRequired
Allowed values:
jobIdstringRequiredformat: "uuid"
The batch this case belongs to.
caseIdstringRequired

The caseId you submitted, echoed back for correlation.

statusenumRequired

Per-case lifecycle state. created (accepted/queued), processing (being reconciled), completed (successfully ingested), failed (errored — see error).

Allowed values:
timestampdatetimeRequired
errorobjectOptional

Present only when status is failed. RFC 9457 problem shape.

Response

2XX
Acknowledged. Any 2xx marks the delivery successful.