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

# Troubleshooting

> Search or browse troubleshooting guides for common Suki API and SDK issues

export const TsProductTags = ({products = ''}) => {
  const labels = {
    authentication: 'Authentication',
    ambient: 'Ambient',
    dictation: 'Dictation',
    'form-filling': 'Form Filling',
    'web-sdk': 'Web SDK',
    'mobile-sdk': 'Mobile SDK',
    'headless-web-sdk': 'Headless Web SDK',
    webhooks: 'Webhooks',
    streaming: 'Streaming',
    apis: 'APIs',
    'patient-summary': 'Patient Summary'
  };
  const list = String(products).split(/\s+/).map(s => s.trim()).filter(Boolean);
  if (!list.length) return null;
  return <div className="ts-hub-row-tags" aria-label="Products">
      {list.map(key => <span key={key} className="ts-hub-tag">
          {labels[key] || key}
        </span>)}
    </div>;
};

export const TsResetIcon = () => <svg xmlns="http://www.w3.org/2000/svg" width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
    <path d="M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8" />
    <path d="M3 3v5h5" />
  </svg>;

export const TsFilterChevron = () => <svg xmlns="http://www.w3.org/2000/svg" width="16" height="16" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
    <path d="m6 9 6 6 6-6" />
  </svg>;

export const TsSearchIcon = () => <svg xmlns="http://www.w3.org/2000/svg" width="24" height="24" viewBox="0 0 24 24" fill="none" stroke="currentColor" strokeWidth="2" strokeLinecap="round" strokeLinejoin="round" aria-hidden="true">
    <path fill="none" d="M11 17.5a6.5 6.5 0 1 0 0-13 6.5 6.5 0 0 0 0 13z" />
    <path d="m21 21-4.3-4.3" />
  </svg>;

<div className="hp-wrap cookbook-hp-wrap ts-hub-wrap" data-disable-read-time="true" data-ts-hub>
  <div className="sdk-overview-container">
    <div className="ts-hub-intro" aria-labelledby="ts-hub-page-title">
      <h1 id="ts-hub-page-title" className="sdk-overview-main-title">
        Troubleshooting
      </h1>

      <p className="sdk-overview-text">
        Search or browse troubleshooting guides for solutions to common Suki authentication, streaming, session, SDK, and webhook issues.

        <br />

        <br />
      </p>
    </div>

    <section className="tut-hub-toolbar ts-hub-toolbar" aria-label="Search and filter troubleshooting guides">
      <div className="release-notes-filter-dropdowns tut-hub-filter-row ts-hub-filter-row">
        <div className="release-notes-filter-dropdown-field">
          <span id="ts-hub-product-label" className="release-notes-filter-row-label">
            Products
          </span>

          <div className="ts-hub-ms" data-ts-ms="product">
            <button type="button" id="ts-hub-product-trigger" className="ts-hub-ms-trigger" aria-haspopup="listbox" aria-expanded="false" aria-controls="ts-hub-product-panel" aria-labelledby="ts-hub-product-label">
              <span className="ts-hub-ms-chips" data-ts-ms-chips>
                <span className="ts-hub-ms-placeholder">Products</span>
              </span>

              <span className="ts-hub-ms-chevron" aria-hidden="true">
                <TsFilterChevron />
              </span>
            </button>

            <div id="ts-hub-product-panel" className="ts-hub-ms-panel" hidden>
              <ul className="ts-hub-ms-list" role="listbox" aria-labelledby="ts-hub-product-label" aria-multiselectable="true">
                <li role="option"><label className="ts-hub-ms-option"><input type="checkbox" className="ts-hub-ms-checkbox" data-ts-ms-option="authentication" /><span>Authentication</span></label></li>
                <li role="option"><label className="ts-hub-ms-option"><input type="checkbox" className="ts-hub-ms-checkbox" data-ts-ms-option="ambient" /><span>Ambient</span></label></li>
                <li role="option"><label className="ts-hub-ms-option"><input type="checkbox" className="ts-hub-ms-checkbox" data-ts-ms-option="dictation" /><span>Dictation</span></label></li>
                <li role="option"><label className="ts-hub-ms-option"><input type="checkbox" className="ts-hub-ms-checkbox" data-ts-ms-option="form-filling" /><span>Form Filling</span></label></li>
                <li role="option"><label className="ts-hub-ms-option"><input type="checkbox" className="ts-hub-ms-checkbox" data-ts-ms-option="web-sdk" /><span>Web SDK</span></label></li>
                <li role="option"><label className="ts-hub-ms-option"><input type="checkbox" className="ts-hub-ms-checkbox" data-ts-ms-option="mobile-sdk" /><span>Mobile SDK</span></label></li>
                <li role="option"><label className="ts-hub-ms-option"><input type="checkbox" className="ts-hub-ms-checkbox" data-ts-ms-option="headless-web-sdk" /><span>Headless Web SDK</span></label></li>
                <li role="option"><label className="ts-hub-ms-option"><input type="checkbox" className="ts-hub-ms-checkbox" data-ts-ms-option="webhooks" /><span>Webhooks</span></label></li>
                <li role="option"><label className="ts-hub-ms-option"><input type="checkbox" className="ts-hub-ms-checkbox" data-ts-ms-option="streaming" /><span>Streaming</span></label></li>
                <li role="option"><label className="ts-hub-ms-option"><input type="checkbox" className="ts-hub-ms-checkbox" data-ts-ms-option="apis" /><span>APIs</span></label></li>
                <li role="option"><label className="ts-hub-ms-option"><input type="checkbox" className="ts-hub-ms-checkbox" data-ts-ms-option="patient-summary" /><span>Patient Summary</span></label></li>
              </ul>
            </div>
          </div>
        </div>

        <div className="release-notes-filter-dropdown-field">
          <span id="ts-hub-error-label" className="release-notes-filter-row-label">
            Error codes
          </span>

          <div className="ts-hub-ms" data-ts-ms="error">
            <button type="button" id="ts-hub-error-trigger" className="ts-hub-ms-trigger" aria-haspopup="listbox" aria-expanded="false" aria-controls="ts-hub-error-panel" aria-labelledby="ts-hub-error-label">
              <span className="ts-hub-ms-chips" data-ts-ms-chips>
                <span className="ts-hub-ms-placeholder">Error codes</span>
              </span>

              <span className="ts-hub-ms-chevron" aria-hidden="true">
                <TsFilterChevron />
              </span>
            </button>

            <div id="ts-hub-error-panel" className="ts-hub-ms-panel" hidden>
              <div className="ts-hub-ms-panel-search">
                <input type="search" className="ts-hub-ms-panel-search-input" data-ts-error-search placeholder="Search error codes" aria-label="Search error codes" autoComplete="off" />
              </div>

              <ul className="ts-hub-ms-list" role="listbox" aria-labelledby="ts-hub-error-label" aria-multiselectable="true" data-ts-error-list />

              <p className="ts-hub-ms-panel-note">
                Full catalogs: Ambient & Dictation, Form filling, Patient Summary, and Mobile SDK error message pages.
              </p>
            </div>
          </div>
        </div>

        <div className="release-notes-filter-dropdown-field">
          <span id="ts-hub-tag-label" className="release-notes-filter-row-label">
            Tags
          </span>

          <div className="ts-hub-ms" data-ts-ms="tag">
            <button type="button" id="ts-hub-tag-trigger" className="ts-hub-ms-trigger" aria-haspopup="listbox" aria-expanded="false" aria-controls="ts-hub-tag-panel" aria-labelledby="ts-hub-tag-label">
              <span className="ts-hub-ms-chips" data-ts-ms-chips>
                <span className="ts-hub-ms-placeholder">Tags</span>
              </span>

              <span className="ts-hub-ms-chevron" aria-hidden="true">
                <TsFilterChevron />
              </span>
            </button>

            <div id="ts-hub-tag-panel" className="ts-hub-ms-panel" hidden>
              <ul className="ts-hub-ms-list" role="listbox" aria-labelledby="ts-hub-tag-label" aria-multiselectable="true">
                <li role="option"><label className="ts-hub-ms-option"><input type="checkbox" className="ts-hub-ms-checkbox" data-ts-ms-option="auth" /><span>Auth</span></label></li>
                <li role="option"><label className="ts-hub-ms-option"><input type="checkbox" className="ts-hub-ms-checkbox" data-ts-ms-option="microphone" /><span>Microphone</span></label></li>
                <li role="option"><label className="ts-hub-ms-option"><input type="checkbox" className="ts-hub-ms-checkbox" data-ts-ms-option="streaming" /><span>Streaming</span></label></li>
                <li role="option"><label className="ts-hub-ms-option"><input type="checkbox" className="ts-hub-ms-checkbox" data-ts-ms-option="sessions" /><span>Sessions</span></label></li>
                <li role="option"><label className="ts-hub-ms-option"><input type="checkbox" className="ts-hub-ms-checkbox" data-ts-ms-option="csp" /><span>CSP</span></label></li>
                <li role="option"><label className="ts-hub-ms-option"><input type="checkbox" className="ts-hub-ms-checkbox" data-ts-ms-option="webhooks" /><span>Webhooks</span></label></li>
                <li role="option"><label className="ts-hub-ms-option"><input type="checkbox" className="ts-hub-ms-checkbox" data-ts-ms-option="offline" /><span>Offline</span></label></li>
                <li role="option"><label className="ts-hub-ms-option"><input type="checkbox" className="ts-hub-ms-checkbox" data-ts-ms-option="platform" /><span>Platform</span></label></li>
              </ul>
            </div>
          </div>
        </div>

        <div className="release-notes-filter-dropdown-field release-notes-filter-search-field ts-hub-search-field">
          <label id="ts-hub-search-label" className="release-notes-filter-row-label" htmlFor="ts-hub-search">
            Search
          </label>

          <div className="ts-hub-search-row">
            <div className="suki-use-case-search-wrap release-notes-timeline-search-wrap">
              <span aria-hidden="true">
                <TsSearchIcon />
              </span>

              <input id="ts-hub-search" type="search" className="suki-use-case-search" data-ts-search placeholder="Search by keyword" aria-labelledby="ts-hub-search-label" aria-label="Search troubleshooting guides" autoComplete="off" />
            </div>

            <button type="button" className="ts-hub-reset" data-ts-reset aria-label="Reset filters" title="Reset filters" disabled>
              <TsResetIcon />
            </button>
          </div>
        </div>
      </div>

      <p className="tut-hub-filter-note ts-hub-filter-note" data-ts-filter-note hidden />
    </section>

    <div className="ts-hub-list" role="list" aria-label="Troubleshooting guides">
      <a href="/documentation/troubleshooting/invalid-partner-token-401" className="ts-hub-row" role="listitem" data-ts-row data-product="authentication apis web-sdk mobile-sdk headless-web-sdk" data-error="401 invalid_sdp_token provider_not_registered invalidPartnerId" data-tags="auth" data-search="401 unauthorized invalid partner token jwt expired login authentication invalid_sdp_token">
        <div className="ts-hub-row-main">
          <span className="ts-hub-row-title">401 Unauthorized or invalid Partner Token</span>
          <span className="ts-hub-row-code">401 · invalid\_sdp\_token</span>
        </div>

        <TsProductTags products="authentication apis" />
      </a>

      <a href="/documentation/troubleshooting/invalid-partner-details" className="ts-hub-row" role="listitem" data-ts-row data-product="authentication headless-web-sdk web-sdk" data-error="InvalidPartnerDetails UserNotFound invalidPartnerId SDKNotInitilized 401" data-tags="auth" data-search="InvalidPartnerDetails partner id partner token sign-in registration UserNotFound">
        <div className="ts-hub-row-main">
          <span className="ts-hub-row-title">InvalidPartnerDetails during sign-in or registration</span>
          <span className="ts-hub-row-code">InvalidPartnerDetails</span>
        </div>

        <TsProductTags products="authentication headless-web-sdk" />
      </a>

      <a href="/documentation/troubleshooting/suki-token-expired" className="ts-hub-row" role="listitem" data-ts-row data-product="authentication apis form-filling web-sdk" data-error="401 invalid_sdp_token" data-tags="auth" data-search="suki token expired refresh login sdp_suki_token one hour invalid_sdp_token">
        <div className="ts-hub-row-main">
          <span className="ts-hub-row-title">Suki Token expired during a long session</span>
          <span className="ts-hub-row-code">401 · invalid\_sdp\_token</span>
        </div>

        <TsProductTags products="authentication apis" />
      </a>

      <a href="/documentation/troubleshooting/session-already-exists" className="ts-hub-row" role="listitem" data-ts-row data-product="ambient headless-web-sdk mobile-sdk" data-error="409 sessionAlreadyExists remoteSessionConflict sessionInProgress" data-tags="sessions" data-search="sessionAlreadyExists 409 blockingSessionId cancelRemote endRemote encounter remoteSessionConflict">
        <div className="ts-hub-row-main">
          <span className="ts-hub-row-title">sessionAlreadyExists remote session conflict</span>
          <span className="ts-hub-row-code">sessionAlreadyExists · 409</span>
        </div>

        <TsProductTags products="ambient headless-web-sdk" />
      </a>

      <a href="/documentation/troubleshooting/microphone-permission-denied" className="ts-hub-row" role="listitem" data-ts-row data-product="ambient headless-web-sdk web-sdk dictation mobile-sdk" data-error="AudioRecorderFailure StartSessionFailed needMicrophonePermissionRecording unableToStartRecording" data-tags="microphone" data-search="microphone permission denied AudioRecorderFailure getUserMedia deviceId needMicrophonePermissionRecording">
        <div className="ts-hub-row-main">
          <span className="ts-hub-row-title">Microphone permission denied or AudioRecorderFailure</span>
          <span className="ts-hub-row-code">AudioRecorderFailure</span>
        </div>

        <TsProductTags products="ambient headless-web-sdk" />
      </a>

      <a href="/documentation/troubleshooting/websocket-disconnects-ambient" className="ts-hub-row" role="listitem" data-ts-row data-product="ambient streaming apis" data-error="error_streaming_audio client_disconnected 500 504 FailedPrecondition" data-tags="streaming" data-search="websocket disconnect ambient streaming StreamError connection drop error_streaming_audio">
        <div className="ts-hub-row-main">
          <span className="ts-hub-row-title">WebSocket disconnects during ambient streaming</span>
          <span className="ts-hub-row-code">StreamError · error\_streaming\_audio</span>
        </div>

        <TsProductTags products="ambient streaming" />
      </a>

      <a href="/documentation/troubleshooting/empty-notes-after-end-session" className="ts-hub-row" role="listitem" data-ts-row data-product="ambient apis" data-error="404 session_wrong_state 412 skipped failed aborted" data-tags="sessions" data-search="empty notes incomplete content poll status after end session generation ambient_session_not_found">
        <div className="ts-hub-row-main">
          <span className="ts-hub-row-title">Empty or incomplete notes after ending an ambient session</span>
          <span className="ts-hub-row-code">ambient\_session\_not\_found</span>
        </div>

        <TsProductTags products="ambient apis" />
      </a>

      <a href="/documentation/troubleshooting/csp-blocks-sdk-iframe" className="ts-hub-row" role="listitem" data-ts-row data-product="form-filling dictation web-sdk" data-error="CSP SUKI_FF_002" data-tags="csp" data-search="csp content security policy frame-src iframe sdk.suki.ai sdk.suki-stage.com handshake-timeout">
        <div className="ts-hub-row-main">
          <span className="ts-hub-row-title">CSP blocks the SDK iframe</span>
          <span className="ts-hub-row-code">CSP · SUKI\_FF\_002</span>
        </div>

        <TsProductTags products="form-filling dictation web-sdk" />
      </a>

      <a href="/documentation/troubleshooting/form-filling-no-results" className="ts-hub-row" role="listitem" data-ts-row data-product="form-filling web-sdk" data-error="SUKI_FF_001 SUKI_FF_002 SUKI_FF_003 SUKI_FF_004" data-tags="sessions" data-search="form filling no results empty fields session status template SUKI_FF_001">
        <div className="ts-hub-row-main">
          <span className="ts-hub-row-title">Form filling session returns no results</span>
          <span className="ts-hub-row-code">SUKI\_FF\_001</span>
        </div>

        <TsProductTags products="form-filling" />
      </a>

      <a href="/documentation/troubleshooting/dictation-websocket-handshake" className="ts-hub-row" role="listitem" data-ts-row data-product="dictation streaming apis" data-error="400 401 404 invalid_request FailedPrecondition client_disconnected" data-tags="streaming" data-search="dictation websocket handshake transcription session open stream">
        <div className="ts-hub-row-main">
          <span className="ts-hub-row-title">Dictation WebSocket handshake fails</span>
          <span className="ts-hub-row-code">400 · StreamError</span>
        </div>

        <TsProductTags products="dictation streaming" />
      </a>

      <a href="/documentation/troubleshooting/webhook-deliveries-not-arriving" className="ts-hub-row" role="listitem" data-ts-row data-product="webhooks" data-error="403 permission_denied" data-tags="webhooks" data-search="webhook not receiving deliveries signature hmac endpoint">
        <div className="ts-hub-row-main">
          <span className="ts-hub-row-title">Webhook deliveries are not arriving</span>
        </div>

        <TsProductTags products="webhooks" />
      </a>

      <a href="/documentation/troubleshooting/app-is-not-active-mobile" className="ts-hub-row" role="listitem" data-ts-row data-product="mobile-sdk ambient" data-error="appIsNotActive AppIsNotActive" data-tags="microphone" data-search="AppIsNotActive appIsNotActive background recording iOS mobile foreground">
        <div className="ts-hub-row-main">
          <span className="ts-hub-row-title">AppIsNotActive when starting Mobile SDK recording</span>
          <span className="ts-hub-row-code">appIsNotActive</span>
        </div>

        <TsProductTags products="mobile-sdk" />
      </a>

      <a href="/documentation/troubleshooting/mic-is-in-use-mobile" className="ts-hub-row" role="listitem" data-ts-row data-product="mobile-sdk" data-error="micIsInUse unableToStartRecording" data-tags="microphone" data-search="micIsInUse microphone in use another app mobile">
        <div className="ts-hub-row-main">
          <span className="ts-hub-row-title">micIsInUse on Mobile SDK</span>
          <span className="ts-hub-row-code">micIsInUse</span>
        </div>

        <TsProductTags products="mobile-sdk" />
      </a>

      <a href="/documentation/troubleshooting/wav-header-streamed-as-audio" className="ts-hub-row" role="listitem" data-ts-row data-product="ambient dictation streaming apis" data-error="invalid_request 400" data-tags="streaming" data-search="wav header pcm base64 audio quality recognition file stream">
        <div className="ts-hub-row-main">
          <span className="ts-hub-row-title">WAV header streamed as audio data</span>
        </div>

        <TsProductTags products="streaming ambient" />
      </a>

      <a href="/documentation/troubleshooting/wrong-environment-endpoints" className="ts-hub-row" role="listitem" data-ts-row data-product="authentication apis" data-error="401 404 invalid_sdp_token" data-tags="platform" data-search="staging production environment wrong endpoint stage suki.ai">
        <div className="ts-hub-row-main">
          <span className="ts-hub-row-title">Wrong staging vs production endpoints</span>
        </div>

        <TsProductTags products="authentication apis" />
      </a>

      <a href="/documentation/troubleshooting/provider-register-login-fails" className="ts-hub-row" role="listitem" data-ts-row data-product="authentication apis" data-error="401 412 InvalidPartnerDetails provider_not_registered provider_user_inactive UserNotFound" data-tags="auth" data-search="register login provider fails partner token provider_id provider_not_registered">
        <div className="ts-hub-row-main">
          <span className="ts-hub-row-title">Provider register or login fails</span>
          <span className="ts-hub-row-code">provider\_not\_registered</span>
        </div>

        <TsProductTags products="authentication" />
      </a>

      <a href="/documentation/troubleshooting/content-generation-slow" className="ts-hub-row" role="listitem" data-ts-row data-product="ambient mobile-sdk apis" data-error="504 unableFetchContent ServiceError" data-tags="sessions" data-search="content generation slow long delay note processing timeout">
        <div className="ts-hub-row-main">
          <span className="ts-hub-row-title">Content generation is taking too long</span>
        </div>

        <TsProductTags products="ambient mobile-sdk" />
      </a>

      <a href="/documentation/troubleshooting/offline-upload-failures-mobile" className="ts-hub-row" role="listitem" data-ts-row data-product="mobile-sdk" data-error="audioUploadFailed audioUploadAllRetryFailed processingUploadFailed" data-tags="offline" data-search="offline upload failures mobile network connectivity audioUploadFailed pendingOfflineUpload">
        <div className="ts-hub-row-main">
          <span className="ts-hub-row-title">Offline upload failures on Mobile SDK</span>
          <span className="ts-hub-row-code">audioUploadFailed</span>
        </div>

        <TsProductTags products="mobile-sdk" />
      </a>

      <a href="/documentation/troubleshooting/network-offline-headless" className="ts-hub-row" role="listitem" data-ts-row data-product="headless-web-sdk ambient" data-error="NetworkOffline OfflineSaveFailed StartSessionFailed SubmitSessionFailed" data-tags="offline" data-search="NetworkOffline OfflineSaveFailed IndexedDB offline headless start submit browser storage">
        <div className="ts-hub-row-main">
          <span className="ts-hub-row-title">NetworkOffline or OfflineSaveFailed on Headless Web SDK</span>
          <span className="ts-hub-row-code">NetworkOffline · OfflineSaveFailed</span>
        </div>

        <TsProductTags products="headless-web-sdk" />
      </a>

      <a href="/documentation/troubleshooting/session-in-progress" className="ts-hub-row" role="listitem" data-ts-row data-product="ambient apis" data-error="409 session_in_progress" data-tags="sessions" data-search="session_in_progress 409 concurrent ambient create emr_encounter_id blocking session">
        <div className="ts-hub-row-main">
          <span className="ts-hub-row-title">session\_in\_progress on Partner API create</span>
          <span className="ts-hub-row-code">session\_in\_progress · 409</span>
        </div>

        <TsProductTags products="ambient apis" />
      </a>

      <a href="/documentation/troubleshooting/permission-denied-403" className="ts-hub-row" role="listitem" data-ts-row data-product="authentication apis form-filling" data-error="403 permission_denied insufficient_scope sbac_denied" data-tags="auth" data-search="403 permission_denied insufficient_scope sbac_denied sdp.write organization access">
        <div className="ts-hub-row-main">
          <span className="ts-hub-row-title">403 permission\_denied, insufficient\_scope, or sbac\_denied</span>
          <span className="ts-hub-row-code">403 · permission\_denied</span>
        </div>

        <TsProductTags products="authentication apis" />
      </a>

      <a href="/documentation/troubleshooting/form-filling-api-empty-results" className="ts-hub-row" role="listitem" data-ts-row data-product="form-filling apis" data-error="failed aborted completed" data-tags="sessions" data-search="form filling api empty structured data poll status completed before retrieve">
        <div className="ts-hub-row-main">
          <span className="ts-hub-row-title">Form filling API returns empty structured data</span>
        </div>

        <TsProductTags products="form-filling apis" />
      </a>

      <a href="/documentation/troubleshooting/patient-summary-not-ready" className="ts-hub-row" role="listitem" data-ts-row data-product="apis patient-summary" data-error="403 permission_denied FAILED ABORTED" data-tags="sessions" data-search="patient summary empty not ready poll status COMPLETED ingestion FAILED">
        <div className="ts-hub-row-main">
          <span className="ts-hub-row-title">Patient Summary empty or not ready</span>
        </div>

        <TsProductTags products="apis patient-summary" />
      </a>
    </div>

    <div className="ts-hub-empty" data-ts-empty hidden>
      <p>No troubleshooting guides match your filters.</p>

      <p className="ts-hub-empty-links">
        Look up the full error id on{' '}
        <a href="/api-reference/error-messages">Ambient & Dictation error messages</a>,{' '}
        <a href="/form-filling-api-reference/error-messages-form-filling">Form filling error messages</a>,{' '}
        <a href="/patient-summary-api-reference/error-messages-patient-summary">Patient Summary error messages</a>, or{' '}
        <a href="/mobile-sdk/error-messages">Mobile SDK error messages</a>.
      </p>
    </div>
  </div>
</div>
