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

> Technical questions about the Suki Dictation SDK

<Accordion title="What does SukiAuthManager require at minimum?">
  **Required**

  * **`partnerId`**
  * **`partnerToken`**

  **Optional** (when your integration needs them)

  * **`environment`** (for example **`"staging"`** or **`"production"`**)
  * **`autoRegister`**
  * **`loginOnInitialize`**

  Field descriptions and **AuthConfig** details are in [Configuration](/dictation-sdk/guides/configuration) and [Authentication](/dictation-sdk/guides/authentication). Invalid **`partnerId`** or **`partnerToken`** block iframe initialization, as noted on those pages and in [Prerequisites](/dictation-sdk/prerequisites).
</Accordion>

<Accordion title="What is fieldId?">
  **`fieldId`** is a **stable, unique** string that names one dictation session. Every callback returns it together with **`text`** so you know which field the result belongs to.

  It does **not** have to match a DOM **`id`**, but using the same string as your input's **`id`** is a simple pattern.

  Naming examples and guidance: [Configuration](/dictation-sdk/guides/configuration) (Field IDs in practice) and [Callbacks](/dictation-sdk/guides/callbacks).
</Accordion>

<Accordion title="Why is onSubmit important?">
  **`onSubmit`** runs when the user **commits** the transcript. If you omit it, dictation often **closes immediately** after the user acts, so production integrations should always implement it.

  Read [Configuration](/dictation-sdk/guides/configuration) and [Callbacks](/dictation-sdk/guides/callbacks) for the full callback contract.
</Accordion>

<Accordion title="What is rootElement used for?">
  **`rootElement`** is the **DOM node** where the SDK mounts the dictation iframe. The iframe **sizes to that container**, so the node should have real width and height.

  **Layout:** Wrapper markup and CSS patterns are described under **Wrapper layout** on the [Configuration](/dictation-sdk/guides/configuration) page. [In-field mode](/dictation-sdk/guides/in-field-mode) and [Error handling](/dictation-sdk/guides/error-handling) cover related layout issues.

  **React:** Some examples omit **`rootElement`**; the [React integration](/dictation-sdk/react-integration/react) guide explains when the minimal pattern skips it and when to pass it (including refs in real apps). [Configuration examples](/dictation-sdk/guides/examples/configuration-examples) includes sample wiring.
</Accordion>

<Accordion title="Where do I start if dictation never appears or the layout looks wrong?">
  Work through checks in this order:

  1. **Runtime:** Browser-only use, correct timing (call after the DOM and container exist and have size).
  2. **Layout:** **`rootElement`** (when used), height, and CSS.
  3. **Auth and CSP:** Valid partner credentials and any CSP rules that affect iframes.
  4. **Configuration and callbacks:** **AuthConfig**, **ShowOptions**, and a working **`onSubmit`**.

  That order is documented on [Error handling](/dictation-sdk/guides/error-handling). Use [Configuration](/dictation-sdk/guides/configuration) for every option field.
</Accordion>
