---
title: "Dispatch a simulation run"
method: POST
path: "/v1/simulation/runs"
tags: ["simulation_runs"]
---

# Dispatch a simulation run

`POST /v1/simulation/runs`

## Request body

- SimulationRunDispatch — Request body for ``POST /v1/simulation/runs``. Unlike :class:`SimulationRunCreate` (which describes a row that already has a ``Conversation``), this is the public orchestrator payload: the service creates the session row and the run row in one transaction and then dispatches the Celery worker.
  - `agent_id` string, uuid, required
  - `agent_revision_id` string, uuid, nullable
  - `persona_id` string, uuid, required
  - `scenario_id` string, uuid, required
  - `channel` 'text' | 'voice'
  - `tool_overrides` object, nullable

## Response `201`

Successful Response

- SimulationRunResponse
  - `id` string, uuid, required
  - `session_id` string, uuid, required
  - `organization_id` string, uuid, required
  - `agent_id` string, uuid, required
  - `agent_revision_id` string, uuid, nullable, required
  - `persona_id` string, uuid, required
  - `scenario_id` string, uuid, required
  - `channel` 'text' | 'voice', required
  - `tool_overrides` object, nullable, required
  - `status` string, required
  - `started_at` string, date-time, nullable, required
  - `finished_at` string, date-time, nullable, required
  - `error_text` string, nullable, required
  - `inputs_snapshot` object, required
  - `created_at` string, date-time, required
  - `recording_id` string, uuid, nullable
  - `recording_status` string, nullable

## Other responses

- `400` — Bad request
- `401` — Authentication required
- `422` — Validation Error

---

[API](https://skmtc.net/oneloop-hq/apis/feather-api.md) · [All operations](https://skmtc.net/oneloop-hq/apis/feather-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/oneloop-hq/feather-api/revisions/888bdd5c076e/schema)
