Sandboxes are running instances of a Simulator. Each sandbox provides live credentials (FHIR endpoints, phone numbers, fax numbers, etc.) and records all interactions as events. Sandboxes can be created standalone or as part of a Playground.
Endpoints not yet in OpenAPI spec.
Endpoints
| Method | Endpoint | Description |
|---|
GET | /sandboxes | List sandboxes |
POST | /sandboxes | Create a sandbox |
GET | /sandboxes/{id} | Get sandbox details |
GET | /sandboxes/{id}/events | List sandbox events |
POST | /sandboxes/{id}/teardown | Tear down a sandbox |
POST | /sandboxes/{id}/datasets/{datasetId} | Add a dataset to the sandbox |
DELETE | /sandboxes/{id}/datasets/{datasetId} | Remove a dataset from the sandbox |
Sandbox Object
| Field | Type | Description |
|---|
id | string | Unique identifier |
simulator_id | string | Source Simulator |
playground_id | string | null | Parent Playground, if part of one |
status | string | Current status (provisioning, active, teardown, etc.) |
credentials | object | null | Protocol-specific access credentials |
organization_id | string | Parent organization |
created_at | datetime | Creation timestamp |
updated_at | datetime | Last modification timestamp |
SDK Example
// Create a standalone sandbox
const sandbox = await verial.sandboxes.create({
simulatorId: 'sim_abc123',
})
// List sandboxes (optionally filter by playground)
const sandboxes = await verial.sandboxes.list({ playgroundId: 'pg_abc123' })
// Get sandbox details (includes credentials)
const details = await verial.sandboxes.get({ id: sandbox.id })
// List interaction events
const events = await verial.sandboxes.listEvents({ id: sandbox.id })
// Load a dataset
await verial.sandboxes.addDataset({
sandboxId: sandbox.id,
datasetId: 'ds_abc123',
})
// Remove a dataset
await verial.sandboxes.removeDataset({
sandboxId: sandbox.id,
datasetId: 'ds_abc123',
})
// Tear down when done
await verial.sandboxes.teardown({ id: sandbox.id })