> ## 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.

# Technical Constraints & Risks

> Technical limitations, constraints, and risk considerations for API integration

<Accordion title="What Is the Exact List of Whitelisted Domains?">
  No, we don't have pre-approved domains.
  To register for our <Tooltip tip="A mechanism that allows Suki to send real-time event notifications to your application's server." cta="View in Glossary" href="/Glossary/w">webhook</Tooltip>, share your callback URL so we can notify you there. This step is currently manual; we plan to upgrade this system in the future.
</Accordion>

<Accordion title="What Is the Specific IP Range or Proxy Traversal Configuration?">
  N/A, we can share the IP of our system which calls callback URL if need be
</Accordion>

<Accordion title="What Is the Webhook Transmission Protocol?">
  A POST call will be made to the webhook hosted by the Partner using the HTTPS protocol.
</Accordion>

<Accordion title="Is Webhook Configuration at the Partner Level?">
  Yes, the Webhook URL should be configured at the Partner level during [partner onboarding](/documentation/get-started/partner-onboarding).
  We currently do not support session-based webhook callbacks or similar configurations; webhook support is only for APIs and not for Web SDK.
</Accordion>

<Accordion title="Who Creates encounter_id When an Encounter Has Multiple Ambient Sessions?">
  The client is responsible for creating and managing the `encounter_id`.
  We support combining <Tooltip tip="A single, time-bound instance of an ambient recording for a specific patient encounter that captures clinical conversations." cta="View in Glossary" href="/Glossary/s">sessions</Tooltip> and generating the note based on the provided `encounter_id`. An <Tooltip tip="One patient visit or appointment with a healthcare provider. In Suki, an encounter can group one or more ambient sessions so related recordings and notes stay tied to the same clinical visit." cta="View in Glossary" href="/Glossary/e">encounter</Tooltip> can include multiple <Tooltip tip="A single, time-bound instance of an ambient recording for a specific patient encounter that captures clinical conversations." cta="View in Glossary" href="/Glossary/a">ambient sessions</Tooltip>.
</Accordion>

<Accordion title="What Are the Prerequisites and Steps to Get Started with Suki APIs?">
  1. Obtain a developer platform test license (POC: Commercials team). <br />
  2. Complete partner onboarding: <br />
     * Share required details for partner creation in our system → you will receive a <Tooltip tip="A unique identifier assigned by Suki during onboarding that links an application to its configuration in the Suki Developer Platform." cta="View in Glossary" href="/Glossary/p">Partner ID</Tooltip> (`partner_id`). <br />
     * Let us know the unique identifier you will use in the OAuth 2.0 <Tooltip tip="JSON Web Token. A compact, URL-safe means of representing claims used for authentication and information exchange." cta="View in Glossary" href="/Glossary/j">JWT</Tooltip> token to identify the user (<Tooltip tip="A healthcare professional such as a physician, APP, or nurse who documents care. In Suki integrations, provider identity ties sessions, preferences, and generated notes to the correct clinician." cta="View in Glossary" href="/Glossary/p">provider</Tooltip>). <br />
       Example: user\_id, email\_id, sid, pid, etc. (need not be actual id from your system, can be hash value as well) <br />
     * Provide your <Tooltip tip="JSON Web Key Set. A set of keys containing the public keys used to verify any JWT issued by the authorization server." cta="View in Glossary" href="/Glossary/j">JWKS</Tooltip> endpoint for accessing your public key. <br />
     * Test authentication with Suki. <br />
</Accordion>

<Accordion title="What Is the Basic Flow for Getting Started with Suki Ambient APIs?">
  Here's a minimal flow for your reference:

  `/login → /session/create → /context (optional) → /stream → /end`

  This flow automatically triggers note generation.

  Either:

  1. Use `/status` to poll the note generation status, then call /content to retrieve the note.
  2. Receive a notification through our webhook.
</Accordion>

<Accordion title="What Happens on Long Calls (Longer Than 30 Minutes)?">
  As long as the stream is active, there is no upper limit on call duration. The
  system allows a maximum pause of 30 minutes during the streaming. If you
  get disconnected and then rejoin, or lose the WebSocket connection, Suki stitches
  the sessions together using the same session ID.

  <Note>
    Although there is no strict lower limit, Suki needs a minimum amount of data to generate recommendations. For calls **shorter than 1 minute**, Suki may not have enough meaningful data/information to provide accurate recommendations and returns empty content. The session will be marked as **skipped**.
  </Note>
</Accordion>
