Content-Type: application/json and includes the generated-at and X-API-Key headers. Verify these headers before processing the request. For more information, refer to the Signature verification guide.
The request body varies by event type:
- Ambient and Form filling webhooks include a top-level
statusfield. The value isSUCCESSorFAILURE. - CKG ingestion webhooks include
transaction_id,correlation_id, andstatefields that identify the ingestion job and its status.
additional_info.session_type. Values include AMBIENT, FORM_FILLING, and CKG_INGESTION.
The following sections describe each webhook event and its payload. To search or filter every payload in one place, use the Event catalog.
Ambient Session Completion
Ambient Session Failure
CKG Data Ingestion Completion
Suki does not send separate timeout or cancellation webhooks. If a session fails or is aborted, you get
status: FAILURE. If processing finishes, you get status: SUCCESS. For Ambient sessions, that SUCCESS can still arrive when the recording was silent or too short and session status is skipped, so confirm status before you treat the visit as note-ready.Session completion
When an Ambient session finishes processing, your endpoint receives a session completion notification withstatus: SUCCESS. Form filling uses the same SUCCESS payload shape. Treat Ambient SUCCESS as a signal that processing finished, then check Session status before you fetch content or open note review. Open the note only when status is completed. If status is skipped, the transcript was empty or the audio was too short, so there is no note this time. Offer the clinician a chance to record again rather than showing an empty chart. For the full status flow in your product UI, refer to Check note status.
When status is "SUCCESS": The payload identifies the session and encounter and provides links to retrieve results. It includes:
session_id,encounter_id(always present).- Optionally:
sessions,additional_info,_links.
_links, each key is an array of link objects (href, method, name, type).
These are the keys you will see in the _links object for Ambient:
All Link Keys
All Link Keys
array
Session-level note content links.
array
Encounter-level content links.
array
Session-level structured clinical data links.
array
Encounter-level structured clinical data links.
array
Session-level section structured data links. Learn more in Embedded Forms.
array
Encounter-level section structured data links. Follow them to read filled Embedded Form values from the latest completed session for the encounter.
array
Status check links.
array
Transcript links.
structured_data and status. Other _links arrays are usually empty.
Link keys usage
Use the_links object to fetch session content, encounter content, structured clinical data, status, and transcripts from the Ambient APIs. For each link, combine its href with your API base URL and use the correct authentication when you call those follow-up APIs.
The sessions array lists the session IDs tied to the encounter so far.
For an example JSON body, refer to Payload & response.
Session failure
When the Ambient session or note generation fails, or when the session is aborted, your endpoint receives a session failure notification. Form filling failures use the sameFAILURE payload shape.
When status is "FAILURE": The payload identifies the session and encounter and describes the error. It includes:
session_id,encounter_id,error_code,error_detail.
error_code and error_detail to log the failure, trigger alerts, or show an error in your application. Known codes include ERROR_CODE_UNSPECIFIED and ERROR_CODE_NOTIFICATION_GENERATION_FAILURE.
For an example JSON body, refer to Payload & response.
CKG data ingestion event types
Thestate field indicates the outcome of the FHIR data ingestion job and can have one of the following values:
Suki sends a webhook notification only when the ingestion job reaches a terminal state.