Get an ingestion
One submission and where its work stands. status is derived from the work the submission started, so this is the handle to poll after submitting — it stays valid for the life of that work.
Authorization
Bearer readEach operation lists the OAuth scope (read or write) it requires.
In: header
Scope: read
Path Parameters
ID of the patient
^[A-Za-z0-9._-]{1,128}$Id of the submission, as returned when it was accepted.
1 <= lengthResponse Body
application/json
application/json
curl -X GET "https://example.com/v1/patients/string/ingestions/string"{ "ingestionId": "string", "source": "fhir/r4", "mimeType": "string", "receivedAt": "string", "status": "pending", "staged": { "facts": 0, "events": 0, "narratives": 0 }, "intake": [ { "unit": "resource", "received": 0, "entries": [ { "kind": "string", "label": "string", "count": 1, "outcome": "structured", "reason": "unsupported" } ] } ], "startedAt": "string", "completedAt": "string", "failure": { "code": "string", "message": "string" }}List ingestions GET
This patient's submissions, newest arrival last. `status` is derived per submission from the work it started, so filtering on it is also how to ask what is outstanding: `?status=pending,processing` returns everything still to settle, and its `meta.total` is the count — zero means this patient's data has settled.
Create session POST
Opens a new query session scoped to a patient. Sessions track interaction context across multiple MCP tool calls within a single agent run.