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.
The caseId you submitted, echoed back for correlation.
Per-case lifecycle state. created (accepted/queued), processing
(being reconciled), completed (successfully ingested), failed
(errored — see error).
Present only when status is failed. RFC 9457 problem shape.