> ## Documentation Index
> Fetch the complete documentation index at: https://docs.tortus.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Configuration

> Every option the loadTortus() function accepts.

`loadTortus()` initialises the client and immediately displays the standby screen. It accepts a single configuration object.

```ts theme={null}
import { loadTortus } from '@tortus-ai/embed-client';

const client = await loadTortus({
  publishableKey: 'pk_your_key_here',
  container: '#tortus-container',
  environment: 'production',
  fetchClientSecrets: async () => ({ launchToken: await getTokenFromBackend() }),
  debug: true,
});
```

## Options

<ParamField path="publishableKey" type="string" required>
  Your publishable API key, provided by TORTUS.
</ParamField>

<ParamField path="container" type="string | HTMLElement" required>
  DOM selector (or element) for the iframe container.
</ParamField>

<ParamField path="environment" type="'production' | 'sandbox'" required>
  Which TORTUS environment to connect to. Must be specified explicitly.
</ParamField>

<ParamField path="fetchClientSecrets" type="() => Promise<{ launchToken: string }>" required>
  Async function that returns secure credentials from your backend. See
  [Authentication](/authentication).
</ParamField>

<ParamField path="debug" type="boolean" default="false">
  Enable debug logging for troubleshooting. Defaults to `false` in production and `true` in
  development.
</ParamField>

<ParamField path="integration" type="Integration">
  Default EHR integration applied to all consultations. Consultations inherit this unless they
  provide their own `integration`. See [EHR integrations](/guides/consultations#ehr-integrations).
</ParamField>

<ParamField path="disableFinishMeetingButton" type="boolean" default="false">
  When `true`, the embedded meeting view hides the post-generation **Finish meeting** button and
  `meeting:completed` is not emitted. The bundled meetings list / **Start new meeting** UI is shown
  instead, so your host integration manages the meeting lifecycle. See [Hosting your own meetings
  UI](/guides/meetings#hosting-your-own-meetings-ui).
</ParamField>

## The container element

TORTUS renders into the element you point `container` at. Give it an explicit size:

```html theme={null}
<div id="tortus-container" style="width: 100%; height: 600px;"></div>
```

<Tip>
  Set `debug: true` while integrating to surface handshake and event logs in the console, then turn
  it off for production.
</Tip>
