HTTP
Request headers
Before processing an HTTP POST request body, verify that the request originated from Suki by validating the following request headers:How to handle the request
After verifying the request headers:- Parse the JSON request body.
- Read the top-level
status(orstatefor CKG ingestion) field. - Process the notification based on that value (
SUCCESSorFAILUREfor Ambient and Form filling, orCOMPLETED,FAILED, orABORTEDfor CKG ingestion). - On success, use the
_linksobject (if present) to retrieve medical form output, note content, and session status. For Ambient, confirm session status iscompletedbefore you treat content as ready. - Use
session_idortransaction_idas your deduplication key.
Notification payloads
Every notification includes a top-level field indicating its status or state. The remaining fields depend on its value.- Ambient
- Form Filling
- CKG Ingestion
Every Ambient notification includes a top-level
status field. The remaining fields depend on its value.Success payload
Whenstatus is SUCCESS, the payload identifies the session and encounter and provides links so you can retrieve note content, transcripts, and related resources. Treat Ambient SUCCESS as a signal that processing finished,
then confirm Session status is completed before you open note review. Empty or silent recordings can return this webhook when status is skipped and there is no note. See Check note status.A success payload can look like the following:Required fields
Optional fields
The _links object
The_links object contains one or more collections of resource links. Each link object includes:The following link collections can be included:
Available link collections
Available link collections
array
Session-level note content.
array
Encounter-level note content.
array
Session-level structured clinical data.
array
Encounter-level structured clinical data.
array
Session-level section structured data, which holds filled Embedded Form values for the session.
array
Encounter-level section structured data, which holds filled Embedded Form values from the latest completed session for the encounter.
array
Session status resources.
array
Session transcript resources.
To retrieve generated resources, combine each
href value with your API base URL and call the corresponding endpoint using the specified HTTP method and appropriate authentication.If present, the sessions array lists every Ambient session currently associated with the encounter.Failure payload
Whenstatus is FAILURE, the payload identifies the session and describes why processing failed or was aborted.Use these fields to determine why the request failed and decide whether to retry, alert, or surface the error to users.For a summary of Ambient and Form filling notification events, see Event types.
Example payloads
The following examples show the request body your callback URL receives for successful and failed notifications.- Ambient
- Form Filling
- CKG Ingestion
Success payload
When an Ambient session completes successfully, Suki sends a payload that can look like the following:_links to retrieve note content, structured data, transcripts, or session status. Combine each href with your API base URL and authenticate before you call the endpoint.If present, the sessions array lists every Ambient session currently associated with the encounter.Failure payload
When an Ambient session fails or is aborted, Suki sends a payload that can look like the following:error_code and error_detail to log the failure, alert, or show an error to users.Common use cases
Use Webhook notifications to detect when a session or ingestion job completes or fails and trigger automated workflows.Ambient Sessions
Use Ambient session completion or failure notifications to automate downstream workflows:
- Synchronize completed clinical notes with your EHR or EMR.
- Trigger downstream workflows such as coding, billing, or document processing.
- Notify clinicians or care teams when a session completes or requires attention.
- Start custom workflows based on the session status.
Form Filling Sessions
Use Form filling webhook notifications to detect when a medical form session has completed or failed and trigger automated workflows:
- Update EHR or EMR records with generated form data.
- Notify clinicians that structured assessment forms are ready for review.
- Trigger downstream analytics or quality workflows on completed forms.
- Update application state after a successful Form filling session.
- Surface or retry failed form generation based on
error_codeanderror_detail.
CKG Ingestion
Use CKG ingestion notifications to detect when a FHIR push ingestion job has completed or failed and trigger automated workflows:
- Update patient records in your EHR or EMR.
- Notify clinicians or care teams that new patient data is available.
- Trigger downstream analytics or reporting workflows.
- Update application state after a successful ingestion.
- Retry failed ingestion jobs when appropriate.
Implementation recommendations
Follow these practices when implementing your callback URL to receive notifications for Ambient session, Form filling, and CKG data ingestion events:Responses from linked API endpoints
After receiving a success Webhook, call the linked endpoints to retrieve generated output.- Ambient
- Form Filling
- CKG Ingestion
When you call one of the resource URLs returned in the
_links object, the Ambient APIs return standard HTTP status codes.