> ## Documentation Index
> Fetch the complete documentation index at: https://developer.suki.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Ambient APIs Overview

> Introduction to the Suki Ambient APIs: REST, Partner WebSocket audio, webhooks, sessions, clinical notes, and structured clinical output

<Callout title="Updates" color="orange" icon="bell">
  **New**

  The Ambient APIs are now <Tooltip tip="Interoperability lets different Suki ambient products contribute to the same clinical note for a patient visit. Pass a shared EMR encounter ID so clinicians can start, continue, or re-ambient across Ambient APIs, Mobile SDK, Headless Web SDK, and Web SDK." cta="Learn more" href="/documentation/concepts/ambient-clinical-notes/ambient-interoperability">interoperable</Tooltip> with other Suki products that support Ambient workflows. Pass `emr_encounter_id` when you create an ambient session so clinicians can continue the same clinical note across Ambient APIs, Mobile SDK, and Web SDK.

  Refer to [Ambient interoperability](/documentation/concepts/ambient-clinical-notes/ambient-interoperability) for the platform overview.
</Callout>

Suki Ambient APIs let you integrate **Ambient clinical documentation** into your application. You can create and manage **ambient sessions**, stream encounter audio, and retrieve AI-generated **clinical notes** while maintaining full control over your application's workflows and user experience.

During an ambient session, providers and patients have a real-time conversation while Suki processes the streamed audio and generates a clinical note. Most operations use <Tooltip tip="Representational State Transfer. A software architectural style used for building web services.">REST</Tooltip> APIs and return standard [HTTP status codes](/api-reference/https-guidelines).

Audio is streamed over the Partner <Tooltip tip="A persistent, bi-directional connection used for real-time audio streaming and events.">WebSocket</Tooltip> (`GET /ws/stream`) using the ambient session ID. When note generation is complete, Suki sends a <Tooltip tip="HTTP callbacks sent to your service for asynchronous events and status updates.">webhook</Tooltip> notification to your application, so you don't need to continuously poll for results.

The same APIs also support **Dictation** when you need transcription without the full clinical note workflow. You create a Dictation session, stream audio, and retrieve the transcript in real time. To learn more, refer to [Audio Dictation](/documentation/concepts/dictation/dictation).

## Key capabilities

The Ambient APIs provide the following capabilities, so you can control audio capture, note quality, and how generated outputs reach your product and downstream systems.

<CardGroup cols={2}>
  <Card title="Real-Time Visit Capture" icon="waveform">
    Create ambient sessions, stream encounter audio over the Partner WebSocket, and pause, resume, or end capture when the visit is complete.
  </Card>

  <Card title="Clinical Notes & Transcripts" icon="file-lines" href="/documentation/concepts/ambient-clinical-notes/ambient-documentation" arrow={true}>
    Turn provider-patient conversations into structured clinical notes and full transcripts, then retrieve draft content and metadata after processing finishes.
  </Card>

  <Card title="Multilingual Support" icon="language" href="/api-reference/capabilities/multilingual" arrow={true}>
    Let patients speak in 80+ languages while Suki generates English notes and transcripts that fit standard EHR workflows.
  </Card>

  <Card title="Personalization" icon="user" href="/api-reference/capabilities/personalization" arrow={true}>
    Set provider-level verbosity and section formats through the User Preferences API so generated notes match how each clinician documents care.
  </Card>

  <Card title="Problem-Based Charting (PBC)" icon="list" href="/api-reference/capabilities/problem-based-charting" arrow={true}>
    Organize documentation by patient problems, merge existing diagnoses from context, and retrieve ICD10, IMO, SNOMED, and HCC structured output for EHR integration.
  </Card>

  <Card title="Structured Clinical Data" icon="table" href="/api-reference/ambient-content/structured-data" arrow={true}>
    Extract diagnoses, medications, and other encounter-level artifacts from the conversation for charting, orders, and analytics in your application.
  </Card>

  <Card title="Custom Note Sections" icon="note" href="/documentation/concepts/ambient-clinical-notes/note-sections" arrow={true}>
    Configure which LOINC-based sections appear in generated notes so output aligns with your specialty templates and compliance requirements.
  </Card>

  <Card title="Dictation" icon="microphone" href="/documentation/concepts/dictation/dictation" arrow={true}>
    Run speech-to-text sessions when you need transcription without the full ambient clinical note workflow.
  </Card>

  <Card title="Webhooks & Feedback" icon="bell" href="/documentation/webhook/overview" arrow={true}>
    Receive webhook callbacks when processing completes, and submit feedback on transcripts or generated content to track quality over time.
  </Card>
</CardGroup>

## Requirements

Before you can use the ambient & Dictation APIs, you need to meet the following requirements:

* You must be a Suki partner. Learn more about how to become a Suki partner in the [Partner onboarding](/documentation/get-started/partner-onboarding) documentation.
* HTTP/2.0 compliant authentication system (e.g. OAuth 2.0, JWT, etc.).
* JWT tokens with consistent user identifiers (e.g. `sub`, `email`, `userId`, etc.).
* Publicly accessible JWKS endpoint for token verification.

## Common integration patterns and use cases

The Ambient APIs provide REST and WebSocket endpoints to create ambient sessions, stream audio, complete sessions, and retrieve clinical outputs. Your application owns the capture UI, session orchestration, and how notes are reviewed or persisted.

The following examples show common ways to integrate the Ambient APIs into your application.

<CardGroup cols={2}>
  <Card title="Capture Ambient Audio in Your Own UI" icon="waveform">
    Create the session through REST, stream encounter audio over the Partner WebSocket, and expose recording controls in your own interface.
  </Card>

  <Card title="Complete Sessions Asynchronously" icon="bell">
    End the session, receive a completion webhook or poll status, then retrieve the generated clinical note and related outputs when processing completes.
  </Card>

  <Card title="Hand Off Content to Your EHR" icon="database">
    Map LOINC-based note sections, transcripts, and available structured data into your review and EHR persistence workflow after the session completes.
  </Card>

  <Card title="Capture Dictation without Ambient Notes" icon="microphone">
    Use Dictation APIs when your application needs real-time transcription without running the ambient note-generation workflow.
  </Card>
</CardGroup>

## API versioning

All endpoints use the `/api/v1/` prefix. **v1** is the stable version. Non-breaking changes may ship without a major version jump. For policies and migration, refer to [API guidelines](/api-reference/api-guidelines#version-management).

<Note>
  These APIs may include Early Access features. If you are unsure what is enabled for your account, contact your Suki representative.
</Note>

## Available Partner APIs for Ambient and Dictation workflows

The following set of Partner APIs are available for the Ambient and Dictation workflows. View each card below to learn more about the endpoints that are available and how to use them.

<CardGroup cols={3}>
  <Card title="Authentication" icon="key" href="/api-reference/authentication" arrow={true}>
    Endpoints for authentication and authorization.
  </Card>

  <Card title="Session Management" icon="waveform" href="/api-reference/ambient-session-management" arrow={true}>
    Endpoints for ambient session management.
  </Card>

  <Card title="Dictation" icon="microphone" href="/api-reference/ambient-dictation" arrow={true}>
    Endpoints for Dictation.
  </Card>

  <Card title="Content Retrieval" icon="file-lines" href="/api-reference/ambient-content-retrieval" arrow={true}>
    Endpoints for content retrieval after the session is completed.
  </Card>

  <Card title="Preferences" icon="gear" href="/api-reference/user-preferences" arrow={true}>
    Endpoints for managing the user preferences.
  </Card>

  <Card title="Feedback" icon="comment" href="/api-reference/user-feedback" arrow={true}>
    Endpoints for managing user feedback.
  </Card>

  <Card title="Notifications" icon="bell" href="/api-reference/send-notifications" arrow={true}>
    Endpoints for managing notifications to your service.
  </Card>

  <Card title="Information" icon="info" href="/api-reference/info" arrow={true}>
    Endpoints for retrieving information about the encounter type, visit type, and provider role.
  </Card>

  <Card title="Medication Orders Info" icon="prescription" href="/api-reference/medication-orders-info" arrow={true}>
    Endpoints for retrieving information about the medication orders.
  </Card>
</CardGroup>

## Suki Ambient APIs workflow

To integrate with the Suki <Tooltip tip="The specific set of APIs used to create clinical notes from conversations." cta="View in Glossary" href="/Glossary/a">Ambient API</Tooltip>, you follow a session-based workflow.

```mermaid actions={false} theme={"theme":{"light":"github-dark","dark":"material-theme-darker"}}
flowchart TD
    Start([Start Session]) --> Auth[Authentication]
    Auth --> Check{User registered?}
    Check -->|No| Register[Register new user]
    Register --> Auth
    Check -->|Yes| Token[Get sdp_suki_token]
    Token --> Create[Create session]
    Create --> SessionID[Get session_id]
    SessionID --> Context{Seed Context?}
    Context -->|Yes| AddContext[Add additional context]
    Context -->|No| Stream
    AddContext --> Stream[Stream audio chunks]
    Stream --> Control[PAUSE/RESUME</br>/KEEP_ALIVE]
    Control --> Done{Session Complete?}
    Done -->|No| Stream
    Done -->|Yes| End[Generate note]
    End --> Wait[AI processing]
    Wait --> Notify{Webhook configured?}
    Notify -->|Yes| Hook[Receive notification]
    Notify -->|No| Poll[Poll status]
    Hook --> Retrieve
    Poll --> Retrieve[Retrieve note]
    Retrieve --> Complete([Session Complete])
    
    classDef authStyle fill:#FFE148,stroke:#D4A017,stroke-width:2px,color:#000000
    classDef registerStyle fill:#FFF394,stroke:#FFE148,stroke-width:2px,color:#000000
    classDef highlightStyle fill:#FFD700,stroke:#D4A017,stroke-width:3px,color:#000000
    
    class Auth,Create,Stream,End authStyle
    class Register registerStyle
    class Retrieve highlightStyle
```

### Developer workflow

<Steps>
  <Step title="Authenticate with Suki" icon="key">
    Authenticate with Suki to get a Suki authentication token also called `suki_token`.
  </Step>

  <Step title="Create an Ambient Session" icon="waveform">
    Create an ambient session to start a new visit.
  </Step>

  <Step title="Stream Visit Audio over WebSocket" icon="microphone">
    Stream visit audio over WebSocket to the Suki backend.
  </Step>

  <Step title="End the Session When the Visit Is Complete" icon="circle-xmark">
    End the session when the visit is complete.
  </Step>

  <Step title="Retrieve Generated Outputs Through REST Endpoints" icon="file-lines">
    Retrieve generated outputs through REST endpoints.
  </Step>
</Steps>

<Note>
  If webhooks are enabled for your partner account, your application will receive automatic completion notifications instead of relying only on polling.
</Note>

<Tip>
  **Best practices**

  * Store **partner\_id**, **partner\_token**, and issued tokens securely; rotate credentials per your security policy.
  * Send API traffic over HTTPS and validate webhook signatures when your integration receives callbacks.
  * Read HTTP status and error bodies from REST responses; handle auth expiry by refreshing **suki\_token** as documented.
</Tip>

## Next steps

<Icon icon="file-lines" iconType="solid" /> Refer to the [Ambient APIs quickstart](/api-reference/quickstart) to get started.
