---
title: "Dispatch a simulation suite run (fan-out per item)"
method: POST
path: "/v1/sim-suites/{suite_id}/runs"
tags: ["sim_suites"]
---

# Dispatch a simulation suite run (fan-out per item)

`POST /v1/sim-suites/{suite_id}/runs`

## Path parameters

- `suite_id` string, uuid, required

## Request body

- SimulationSuiteRunDispatch — Request body for ``POST /v1/sim-suites/{suite_id}/runs``. ``suite_id`` is taken from the path. The orchestrator fans the suite out into one ``SimulationRun`` per item, all pinned to the same agent/revision.
  - `agent_id` string, uuid, required
  - `agent_revision_id` string, uuid, nullable
  - `channel` 'text' | 'voice'
  - `tool_overrides` object, nullable

## Response `201`

Successful Response

- SimulationSuiteRunResponse
  - `id` string, uuid, required
  - `organization_id` string, uuid, required
  - `suite_id` string, uuid, required
  - `agent_id` string, uuid, required
  - `agent_revision_id` string, uuid, nullable, required
  - `created_by` string, nullable, required
  - `created_at` string, date-time, required
  - `status` string, required
  - `runs` 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
  - `release_eval_status` string, nullable
  - `release_eval_verdict` ReleaseVerdict
    - `schema_version` integer
    - `status` string, required
    - `agent_id` string, uuid, required
    - `agent_revision_id` string, uuid, nullable
    - `suite_id` string, uuid, required
    - `suite_run_id` string, uuid, required
    - `max_failures` integer
    - `summary` ReleaseVerdictSummary, required
      - `total_scenarios` integer
      - `passed_scenarios` integer
      - `failed_scenarios` integer
      - `pending_scenarios` integer
      - `critical_failures` integer
    - `scenarios` ReleaseVerdictScenario[]
      - `simulation_run_id` string, uuid, required
      - `session_id` string, uuid, required
      - `scenario_id` string, uuid, required
      - `persona_id` string, uuid, required
      - `status` string, required
      - `session_eval_status` string, required
      - `critical_total` integer
      - `critical_succeeded` integer
      - `critical_failed` integer
      - `critical_pending` integer
      - `evaluators` ReleaseVerdictEvaluator[]
        - `evaluator_id` string, uuid, required
        - `name` string, nullable
        - `is_critical` boolean
        - `severity` string, nullable
        - `status` string, required
        - `score` number, nullable
        - `threshold` number, nullable
        - `reason` string, nullable
  - `release_eval_completed_at` string, date-time, nullable
  - `release_eval_error` string, nullable

## Other responses

- `400` — Bad request
- `401` — Authentication required
- `404` — Resource not found
- `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/versions/888bdd5c076e/schema)
