Skip to main content
Quick summary
After the clinician taps Stop in your UI to end the ambient session, poll session status until a terminal state. Open the note editor only when status is completed. Treat skipped as too little audio, not as an API failure.
Clinicians do not think in API status values. They think in recorder states and what your product UI labels should show: listening, paused, generating a note, note ready, or something went wrong. Session status is how your product translates Suki’s processing into that experience after clinician taps Stop in your UI. Use Get ambient session status after you call End ambient session. Poll until you reach a terminal state, then decide what the chart should show. Do not call content or structured-data APIs while status is still running. Do not open an editable ambient note editor until status is completed. When you handle status well, it helps clinicians to:
  • Trust that Stop button actually started note generation.
  • Know when it is safe to review and edit the note.
  • Understand a short or silent recording without blaming “the API.”
  • Avoid dictating into a section before ambient session has finished.
What you build for status handling to work
  • A recorder UI that moves from Recording → Generating → a clear outcome screen.
  • Polling after End until completed, skipped, failed, or aborted.
  • Copy and primary actions for each outcome (open note, Record again, retry, or clear cancelled state).
  • Dictation microphone disabled while ambient session is recording or generating.
These patterns apply when you build your own ambient experience with the Ambient APIs or the Headless modalities. The headed Web SDK already provides Generating and outcome screens, so you do not need to recreate this status UI. You still need the same status model if you retrieve content yourself or combine Ambient workflow with Dictation workflow.
If you only need a short poll helper, use Poll session status before fetching content. This page explains how that poll drives the product UI.

How status fits the visit

Ambient session generates the clinical note after the session ends, not as a live document that updates sentence by sentence during the visit. That is why Generating is a real screen in your product. Clinicians should see that something is happening, and they should not edit an empty chart while Suki is still processing. A good UX is to keep chart editor unavailable until status is completed.

Design the clinician experience

Align your team on what each Stop moment looks like before you wire the poll loop.

What each status means in the product

Suki needs enough audio to build a note. Recordings shorter than about one minute, or sessions with an empty transcript, often finish as skipped with empty content. That is expected product behavior, not a broken integration. The same guidance appears when you end the session and in Ambient audio streaming.
The paused status value is no longer supported on the status API. Pause during capture still uses streaming PAUSE / resume messages. See Ambient audio streaming.
Poll after End, while the screen shows Generating. Do not poll for status during live capture. Pause during capture is a stream PAUSE / resume message, not a status API value.
No. Do not call content or structured-data APIs while status is running. Ambient generates the note after End, not as a live document during the visit.
skipped is too little audio or an empty transcript (about one minute when you can). Offer Record again. failed is a processing error. Log the ambient session ID and offer retry or support. Neither is a successful empty chart.
aborted means the client or user cancelled. Confirm cancellation, stop polling, and do not fetch content. Do not treat cancel as a completed note.

How to implement status in your application

After Stop, follow this sequence in your product.
1

Finish the Stream and Call End

Send end-of-audio (RU9G), close the WebSocket, then call End. See Complete an ambient visit.
2

Show Generating and Poll Status

Keep the clinician on a “Generating note…” screen. Poll Get ambient session status until a terminal value. Do not open the note editor yet.
3

Branch the UI from the Terminal Status

On completed, fetch content and open review. On skipped, offer Record again. On failed, show retry or support and log the ambient session ID. On aborted, clear generating state.
4

Enable Follow-On Actions

After completed, enable section edit and optional Dictation Speak. Continue with Get the generated clinical note.
Use the status response to choose the next screen. For a copy-paste poll helper, see Poll session status before fetching content.
Implementation checklist:
  • Poll only after End.
  • Show Generating while running.
  • Open the note only on completed.
  • Treat skipped as too short / no note (about one minute when you can).
  • Log ambient_session_id on failed.
  • Clear Generating on aborted. Do not fetch content.
  • Keep Dictation Speak off until a completed note is on screen. See Ambient vs Dictation streaming.

Next steps

Get the generated clinical note - Load note sections, transcript, and structured data after completed. Complete an ambient visit - Wire Stop with RU9G, End, and Generating. Get ambient session status - Status values and request examples. Poll session status before fetching content - Short poll recipe. Ambient vs Dictation streaming - Keep Speak off while Ambient records or generates.
Last modified on August 20, 2026