Audio Streaming
WebSocket endpoint for real-time audio streaming during Ambient sessions
Prerequisites
Complete these steps before opening the WebSocket.- Authenticate and obtain
sdp_suki_token - Create an ambient session with POST
/api/v1/ambient/session/create. A successful create returns 201 Created; keep theambient_session_idyou used or received. - Seed session context with POST
/api/v1/ambient/session/{ambient_session_id}/context. Send the JSON body your integration requires (see that endpoint for the full schema). - Authenticate and open the WebSocket on
wss://sdp.suki-stage.com/ws/stream. To stream audio, you must first establish an authenticated WebSocket connection. The authentication method you use depends on your client types: browser or non-browser.
Browser clients
When connecting from a browser, include theSec-WebSocket-Protocol header as part of the WebSocket handshake.
Set the header value as a single comma-separated string. The order must be:
- Subprotocol name
- Token - Your
sdp_suki_token - Ambient session ID - Your ambient session ID
Non-browser clients
For non-browser clients such as mobile apps, backend services, or testing tools, pass authentication details as separate HTTP headers in the WebSocket upgrade request. Do not use theSec-WebSocket-Protocol header.
Include the following headers:
sdp_suki_token- Session token from login.sdp_provider_id- Provider identifier. Optional for standard partners; Required for Single Auth Token authentication.ambient_session_id- The ID for the current .
Full code examples
For end-to-end ambient and Form filling streaming examples, start with these tutorials:Authorizations
Suki access token (suki_token) from Login or Register. Expires after one hour.
Headers
Required FOR BROWSER CLIENTS ONLY. Sent during WebSocket handshake. Browsers must use the same subprotocol the grpc-wsproxy maps to Authorization: 'SukiAmbientAuth,<sdp_suki_token>,<ambient_session_id>' (comma-separated; token second, ambient session id third). Other subprotocol names are not mapped and typically yield 401.
Required for non-browser clients only. Session UUID from Create Ambient Session or Create Form filling Session.
Optional for standard partners.
Required for:
- Bearer authentication. Use the same
provider_idreturned by the Login or Register API. - Single Auth Token authentication. Include the same
provider_idon every request assdp_provider_id.
"provider-123"
Response
Switching Protocols - Indicates successful WebSocket handshake.
The response is of type string.