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

# Simulators

> Reusable simulator definitions for healthcare interfaces.

Simulators are reusable definitions for healthcare interface endpoints. Each simulator has a type (FHIR, HL7, Voice, Fax, Payer, Clearinghouse, CDSHooks, Message, Portal, SFTP, X12) and optional configuration. Link simulators to [Environments](/api-reference/resources/environments) to compose a simulated health system that tasks run rollouts against.

## Endpoints

| Method   | Endpoint           | Description           |
| -------- | ------------------ | --------------------- |
| `GET`    | `/simulators`      | List simulators       |
| `POST`   | `/simulators`      | Create a simulator    |
| `GET`    | `/simulators/{id}` | Get simulator details |
| `PATCH`  | `/simulators/{id}` | Update a simulator    |
| `DELETE` | `/simulators/{id}` | Delete a simulator    |

## Simulator Object

| Field             | Type           | Description                                                                     |
| ----------------- | -------------- | ------------------------------------------------------------------------------- |
| `id`              | string         | Unique identifier                                                               |
| `type`            | SimulatorType  | Simulator type (Fhir, Hl7, Voice, Fax, Payer, Clearinghouse, CdsHooks, Message) |
| `name`            | string         | Simulator name                                                                  |
| `description`     | string \| null | Optional description                                                            |
| `config`          | object \| null | Type-specific configuration                                                     |
| `slug`            | string         | URL-friendly identifier                                                         |
| `organization_id` | string         | Parent organization                                                             |
| `created_at`      | datetime       | Creation timestamp                                                              |
| `updated_at`      | datetime       | Last modification timestamp                                                     |

## SDK Example

```typescript theme={null}
// Create a FHIR simulator
const sim = await verial.simulators.create({
  type: 'Fhir',
  name: 'Epic EHR',
})

// List simulators (optionally filter by environment)
const simulators = await verial.simulators.list({ environmentId: 'env_abc123' })

// Get a specific simulator
const details = await verial.simulators.get({ id: sim.id })

// Update configuration
await verial.simulators.update({
  id: sim.id,
  config: { ehrVendor: 'epic' },
})

// Generate config from a prompt
await verial.simulators.generateConfig({
  id: sim.id,
  prompt: 'A primary care clinic in San Francisco',
})

// Generate synthetic data
await verial.simulators.generateData({ id: sim.id })

// Delete
await verial.simulators.delete({ id: sim.id })
```
