Skip to main content

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.

Quick summary
The createSession(withSessionInfo:) method creates a new ambient session and returns a sessionId that you use for all subsequent operations. Optionally provide session context like patient information, provider specialty, and note sections to improve note quality. The method handles the session creation asynchronously and returns a result that you can use to track success or handle errors. Store the sessionId securely as you’ll need it for recording controls and content retrieval.

Overview

Before you can start recording audio and generating clinical notes, you must create an ambient session. This guide shows you how to create a session and provide clinical context that helps Suki generate more accurate notes. What will you learn? In this guide, you will learn how to:
  • Create an ambient session using the createSession(withSessionInfo:) method
  • Store the session ID returned from session creation for future operations

Create an ambient session

To start capturing audio and generating notes, you must first create a session. The session acts as a container that holds all the audio data and context for a single patient encounter.

Call the createSession(withSessionInfo:) method to create a new session. When successful, this method returns a sessionId that you must store to use for recording and retrieving content later.
let createSession = [
    SukiAmbientConstant.kSessionId: <encounter-id>,
    SukiAmbientConstant.kIsMultilingual: isMultilingual
] as [String : AnyHashable]

SukiAmbientCoreManager.shared.createSession(with: sessionContext, onCompletion: { result in
    switch result {
    case .success(let sessionResponse):
        // Store the sessionId from sessionResponse for future use
        let sessionId = sessionResponse.sessionId
        print("Session created successfully: \(sessionId)")
    case .failure(let error):
        print("Error creating session: \(error)")
    }
})

Session info parameters

The withSessionInfo dictionary accepts the following optional parameters:
SukiAmbientConstant.kSessionId
string
An optional unique identifier for the session. If you don’t provide this, the SDK automatically generates a session ID for you. Use this if you want to use your own encounter ID or session identifier.
SukiAmbientConstant.kMultilingual
boolean
default:"false"
Enables multilingual processing for the session. Set this to true if the conversation will be in languages other than English. The default value is false (English only). Once set, this cannot be changed for the session.
Important: Always store the sessionId returned from createSession. You’ll need it to:
  • Start recording
  • Check session status
  • Retrieve generated content
  • Update session context

Next steps

Refer to the Provide clinical context guide to learn how to provide clinical context to the ambient session for better note quality in the iOS SDK. After you create a session and optionally set context, proceed to the Recording controls guide to learn how to start recording and manage the recording lifecycle.
Last modified on April 20, 2026