This guide covers: Form filling APIs.
- Stream visit audio on the shared Partner WebSocket
GET /ws/stream. Refer to Stream ambient audio over WebSocket and WebSocket streaming wire format for handshake, message order,EVENTcontrols, and PCM format.
- Create a Form filling session
- Seed session context with template metadata
- Stream visit audio over WebSocket
- End the session when capture is complete
- Retrieve structured form output when processing finishes
sdp_suki_token. Refer to Partner authentication and Form filling authentication.
From filling API workflow overview
The Form filling API workflow uses Form filling REST APIs and the shared partner WebSocket.- Create a session with the REST API.
- Seed context with
form_template_idvalues when needed. - Stream audio to the session over
/ws/stream. - End the session with the REST API.
- Poll status and retrieve structured data.
Both Form filling and Ambient clinical note sessions use the parameter name
ambient_session_id in the API reference. Those identifiers refer to different sessions. Use only the ID returned from Form filling Create Form filling session for Form filling REST calls and for /ws/stream.Create a Form filling session
Create a Form filling session before you seed context or open the WebSocket. The response includes anambient_session_id that you use for the rest of the workflow.
Call POST Create Form filling session:
201 Created when the session is created successfully.
Request details
- Include
sdp_suki_tokenin every REST request and during the WebSocket handshake. - The request body is optional. You may send
correlation_idwhen your integration needs it. - Save
ambient_session_idfor context,/ws/stream, end session, status, and structured-data calls.
Seed session context
After you create the session, you can provide form template metadata for the visit. Context helps Suki generate structured output for the templates you select. Call POST Seed Form filling session context:Request details
- The body is optional. If you omit it, you can continue to audio capture without seeding context.
- If you include
form_filling, provide validvalueswith a requiredform_template_id(UUID) for each template. - Refer to Suki Medical form templates to list templates for your integration.
- To update context later, use PATCH Update Form filling session context.
Stream visit audio
Form filling uses the Partner WebSocket GET/ws/stream, not a separate Form filling streaming path.
Authenticate during the WebSocket handshake with:
sdp_suki_token- Your Form filling
ambient_session_id
EVENT messages, refer to Stream ambient audio over WebSocket, WebSocket streaming wire format, and the Audio streaming API reference.
Close the WebSocket when audio capture is complete, then call end session.
End the Form filling session
When visit capture is complete:- Close the WebSocket connection used for audio.
- End the session with the REST API.
Retrieve structured form output
After you end the session, poll until processing reaches a terminal status, then retrieve structured data.Poll session status
Call GET Form filling session status:completed or failed). Refer to the status API reference for all status values.
Get structured data
Call GET Form filling structured data:generated_values. Templates with no output appear in non_generated_values.
Example response
The Form filling structured data API returns the following response for a completed Form filling session with filled templates:structured_data:
Each item in
generated_values has the following fields:
data is where the filled field values live. Different templates use different field names (for example vitals vs skin).
Check the template schema using the Suki Medical form templates API to know which keys to expect.Common integration patterns and use cases
Pattern 1: Standard Form filling flow
A typical Form filling workflow follows these steps:1
Create the Session
Call Create Form filling session and save
ambient_session_id.2
Seed Context
Call Seed Form filling session context with
form_template_id values when needed.3
Stream Audio
Connect to
/ws/stream, stream audio per Ambient audio streaming, then close the WebSocket.4
End the Session
5
Retrieve Structured Data
Poll Status API, then call Structured data API.
Pattern 2: Update context during the visit
If the templates in scope change during the visit, call Update Form filling session context before you end the session.Pattern 3: Submit feedback on a form instance
After clinicians review generated output, call Form filling session feedback. Includefeedback_metadata.form_id for the medical form instance you are rating.
What you can build
In-Person and Virtual Form Filling Workflows
Complete template-based forms during room or telehealth visits with structured output in your UI.
Server-Side Capture Pipelines
Capture audio on a backend service, stream on
/ws/stream, and store structured data for downstream systems.Nursing and Clinical Assessments
Bind Suki templates in context and route generated_values into your chart or internal tools.
Webhook-Driven Completion
Trigger save or review flows when Suki notifies your backend that processing finished.
Related API references
Create Form Filling Session
Create a Form filling session
Seed Session Context
Provide form template metadata
Form Filling Structured Data
Retrieve structured form output
Best practices
FAQs
What's the Difference Between Form Filling and Ambient Clinical Documentation?
What's the Difference Between Form Filling and Ambient Clinical Documentation?
Where Do I Get form_template_id Values?
Where Do I Get form_template_id Values?
Call Suki Medical form templates. Use
template_id from each template in form_filling.values when you seed or update context.