Overview
This quickstart guide will help you integrate Suki’s ambient documentation capabilities into your healthcare application. You’ll go from initial setup to your first successful ambient session in just a few steps.What You’ll Accomplish
By completing this guide, you will:- Set up authentication with Suki Platform
- Choose and integrate your preferred SDK or API
- Create your first ambient session with patient information
- Record and stream audio for at least 1 minute
- Retrieve a fully structured clinical note with transcript
What You Need Before Starting
To integrate your application with Suki Platform, you must meet the following requirements:OAuth-compliant authentication system
JWT tokens with consistent user identifiers
Publicly accessible JWKS endpoint
ES6 compatible browser
Required Information From Suki
You’ll need the following from Suki to get started:- Partner ID - Unique identifier provided by Suki
How Does Authentication Work
Suki supports the following public key sharing authentication mechanisms. You will use your own identity provider to issue the token.- Stored Secret - You provide your public key to Suki, and we store it securely in our database as an encrypted file.
- JWKS URL - You host your public keys at a public JSON Web Key Set () endpoint, and Suki fetches them dynamically to verify tokens.
- Okta - You use Okta as your Identity Provider, and Suki obtains the public key from your Okta issuer URL.
- JWT Assertion - You share your public key as a signed JWT that follows the RFC 7523 standard. Suki then verifies this JWT using our public key.
Step 1: Choose Your Integration Path
Select the integration method that best fits your application requirements: Refer to the Integration Decision Guide to help you decide.Web SDK
Mobile SDK
Direct APIs
Step 2: Integration Setup For API And SDKs
Once you have chosen your integration method, you can follow the following setup guide below to start building your application with Suki for Partners.Web SDK
Install the Package
- JavaScript
- React
Initialize SDK
SukiProvider and initialize the SDK:Mount UI
SukiAssistant component with encounter data:Start Recording
Record for at least 1 minute
Stop and Retrieve Note
Mobile SDK
Install the Framework
Initialize the SDK
Create Session
Start Recording
Record for at least 1 minute
End Session
Retrieve Generated Content
Direct API
Authenticate and Get Token
suki_token from the response. This token is valid for 1 hour and must be included as sdp_suki_token header for all subsequent API calls.Create Ambient Session
ambient_session_id from the response. You’ll need it to stream audio and retrieve content.Stream Audio via WebSocket
End Session
Retrieve Generated Content
SKIPPED status, meaning no clinical note was generated.For complete API capabilities, refer to the API Reference of the documentation.Verify Success
After completing your first session, you should see: For Web SDK:- The generated clinical note automatically appears in the Suki UI panel
- Sections are organized according to your LOINC configuration
- Transcript is available within the UI
- Call
content()andtranscript()to retrieve the note and transcript respectively - Check the session status to confirm successful completion
- Access structured sections and conversation transcript programmatically
- GET request to
/api/v1/ambient/session/{ambient_session_id}/contentreturns:summary- Array of structured clinical note sections
- GET request to
/api/v1/ambient/session/{ambient_session_id}/transcriptreturns:final_transcript- Complete conversation transcript with speaker identification
- GET request to
/api/v1/ambient/session/{ambient_session_id}/statusreturns:status- Session status (created,ready,running,aborted,skipped,failed,completed)
Step 3:Advance Configuration (Optional But Recommended)
You can configure the generated note in many ways. For example, if you want to generate a customized clinical note, you should refer to the LOINC codes to define the sections you want to generate.Next Steps
Ambient Documentation Guide
Authentication Setup
Note Sections
API Reference
Success Checklist
Before moving to production, ensure you have successfully completed these steps:Authentication Works
Authentication Works
- You can successfully call the
/api/v1/auth/loginendpoint - You receive a valid
suki_tokenin the response - Your JWT token is properly formatted and not expired
- Your JWKS endpoint is publicly accessible
Session Creation Works
Session Creation Works
- You can create an ambient session with patient information
- You receive an
ambient_session_idin the response - The session status is valid (not
FAILED)
Audio Streaming Works
Audio Streaming Works
- WebSocket connection establishes successfully
- Audio chunks are being sent to Suki
- No connection errors or timeouts occur
- Session duration is at least 1 minute
Content Retrieval Works
Content Retrieval Works
- You can fetch session content using the
ambient_session_id - Response includes structured
summaryarray with clinical content - Response includes a complete
transcriptof the conversation - Session status shows
COMPLETED(notSKIPPEDorFAILED)
Integration Quality
Integration Quality
- Generated notes are accurate and clinically relevant
- Transcript speaker identification is correct
- LOINC sections match your requested configuration
- Error handling is implemented for all API calls
Troubleshooting
Common Issues
Authentication Failed - 401 Unauthorized
Authentication Failed - 401 Unauthorized
Session Creation Failed
Session Creation Failed
- Confirm you have a valid
suki_tokenfrom the login endpoint - Use
sdp_suki_tokenheader (notAuthorization: Bearer) for all API calls - Verify
ambient_session_idandencounter_idare valid UUIDs if provided - Check that
multilingualis a boolean value (true/false) - Verify your partner account has the necessary permissions for ambient sessions
WebSocket Connection Failed
WebSocket Connection Failed
- Verify you’re using the correct WebSocket URL:
wss://sdp.suki.ai/ws/stream - For browser clients, ensure you’re using
Sec-WebSocket-Protocolheader with format:SukiAmbientAuth,<ambient_session_id>,<sdp_suki_token> - For non-browser clients, include both
sdp_suki_tokenandambient_session_idas separate headers in the WebSocket upgrade request - Check network connectivity and firewall settings allow WebSocket connections
- Ensure your
suki_tokenhasn’t expired (valid for 1 hour)
Session Status Shows SKIPPED
Session Status Shows SKIPPED
SKIPPED and no note is generatedSolution:- Ensure your session duration is at least 1 minute long
- Verify audio is being properly captured and streamed
- Check that audio chunks contain actual speech (not silence)
- Confirm WebSocket connection remained stable throughout the session
SKIPPED status is expected for sessions shorter than 1 minute or with no audible speech. This is not a system error.Audio Not Processing
Audio Not Processing
- Verify audio format is correct (PCM, 16-bit, 16kHz mono recommended)
- Ensure audio chunks are the correct size (100ms chunks recommended)
- Check that you’re sending the
end_of_streammessage when done - Verify microphone permissions are granted in your application
- Test with a known working audio sample first
Content Retrieval Returns Empty or Incomplete Data
Content Retrieval Returns Empty or Incomplete Data
- Wait at least 5-10 seconds after ending the session before retrieving content
- Check the session
status- it should beCOMPLETED, notPROCESSING - Verify you’re using the correct
ambient_session_idin the URL path - Use
sdp_suki_tokenheader (notAuthorization: Bearer) - Ensure your
suki_tokenis still valid (valid for 1 hour) - Check if session was
SKIPPEDdue to short duration (less than 1 minute) - Verify you called the
/endendpoint to trigger note generation
Getting Help
- Technical Issues: Review our FAQs
- Integration Support: Contact our support team
- Partnership Questions: Reach out to our partnership team