Session lifecycle
A session moves through several states. The values below are returned verbatim in thestatus field.
Retrieving a session
Look a session up by itsid. The id is either the consultationInternalId you set, or the session id (ss_...) the API returns — in this response and as scribeSessionId in every webhook event. Both resolve to the same session:
A session created without a
consultationInternalId — for example one a clinician recorded directly — returns consultationInternalId: null. Use the session id (ss_...) to look it up. Every session-scoped endpoint accepts either id.Listing a patient’s sessions
GET /v1/patients/{patient_id}/scribe-sessions returns the scribe sessions for one patient, most recent first. The {patient_id} can be the public id (sp_...) or the internalCode you set for your institution. Paginate with page (1-based) and limit (1–50, default 20).
Each item carries the same fields as a single session above.
total and totalPages count every session for the patient and are present on every page. Use id (ss_...) or consultationInternalId to fetch a session’s filled record from the Medical Record Documents endpoint. Returns 404 if no patient with that id is visible to your key.Retrieving the filled record
This endpoint returns only the session’s lifecycle and consultation metadata. The actual filled record — the output of the session templates, with all sections — is fetched separately from the medical record documents endpoint, using the sameconsultationInternalId:
purpose — e.g. primary for the clinician-facing record, rpa for EMR injection). Filter with ?purpose=primary to fetch only the main one. See Medical Record Documents for the full response shape and field reference.