# Overview

Orchestration is a module of a client-side JavaScript SDK that allows you to communicate with Mosaic, run journeys, and submit client input. Contact your Transmit representative to learn more about our orchestration capabilities.

## Benefits

The SDK offers the following advantages:

- Abstract and simplify the communication scheme
- Validate that the client input response contains the expected client input
- Keep state between the last server response and the next client input response
- Allow passing the state between pages, for multi-page applications


## Installation

Load the SDK:

npm
```bash
npm install @transmitsecurity/platform-web-sdk@^2
```

yarn
```bash
yarn add @transmitsecurity/platform-web-sdk@^2
```

script tag
```html
<script src="https://platform-websdk.transmitsecurity.io/platform-websdk/2.x/ts-platform-websdk.js" id="ts-platform-script"></script>
```

## Initialization

The main module interface is [IdoSDK](/sdk-ref/idosdk/interfaces/idosdk). To initialize, use the following code:

```js
// Import Orchestration module
import { ido, initialize } from '@transmitsecurity/platform-web-sdk';

// Initialize SDK
// If SDK was loaded via script tag, use window.tsPlatform.initialize({ ... })
initialize({
  clientId: 'your-client-id',
  ido: {
    serverPath: 'https://api.transmitsecurity.io/ido', // Required: Set serverPath based on your region or custom domain
  }
});
```

Customizations:

| Name | Type | Description |
|  --- | --- | --- |
| `serverPath` | `string` | (Required) The Orchestration module should be configured to work with your region or custom domain by setting `serverPath` to: - `https://api.transmitsecurity.io/ido` (for US)  - `https://api.eu.transmitsecurity.io/ido` (for EU)  - `https://api.ca.transmitsecurity.io/ido` (for Canada)  - `https://api.au.transmitsecurity.io/ido` (for Australia)  - `https://api.sbx.transmitsecurity.io/ido` (for sandbox)  - `https://<your_custom_domain>/ido` (for custom domain) For the SDK modules to work properly together, the regions must match. |
| `locale` | `string` | Language code for the SDK UI. |
| `applicationId` | `string` | Mosaic application ID. |
| `collectRiskData` | `boolean` | When set to `true` enables risk data collection for [Identity Threat Protection](/guides/user/identity_threat_protection). |


For more information, refer to the class reference, as well as the [Quick start guides](/guides/orchestration/getting-started/quick_start_web). We also recommend checking out the code samples for the various client side operations under [IdoJourneyActionType](/sdk-ref/idosdk/enums/idojourneyactiontype).