---
title: "Read Sim Batches"
method: GET
path: "/api/v1/sim-batches"
tags: ["simulated runs"]
---

# Read Sim Batches

`GET /api/v1/sim-batches`

## Request

- Base URL: `https://api.brumby.com` (the document declares no server; this is the origin it was published from)
- URL: `https://api.brumby.com/api/v1/sim-batches`
- Auth: HTTP bearer

## Query parameters

- `device_id` string, nullable
- `limit` integer

## Response `200`

Successful Response

- SimBatchResponse[]
  - `batch_id` string, uuid, required
  - `name` string, required
  - `farm_id` string, required
  - `device_id` string, required
  - `dispatch` 'launch' | 'headless', required: How a simulated run reaches an aircraft, and therefore who authorises it. LAUNCH is the ordinary path and the only one that flies anything: the run schedules a mission request exactly as the customer app does, a pilot signs the JSA and presses LAUNCH, and the dock delivers. FleetOps adds nothing to that sequence and skips nothing in it. HEADLESS never asks a dock for anything. The bench composes the same mission config from the same farm and runs it against a stub dock, so there is no clearance to grant, no aircraft to arm and nothing to authorise -- which is why there is no JSA on it. A sweep of two hundred seeds is this one; a run you want a flight record for is the other.
  - `matrix` object, required
  - `notes` string, nullable, required
  - `created_by` string, required
  - `created_at` string, date-time, required
  - `cancelled_at` string, date-time, nullable, required
  - `run_count` integer, required
  - `state_counts` object, required

## Other responses

- `422`: Validation Error

---

[API](https://skmtc.dev/brumby/apis/brumby-platform-api.md) - [All operations](https://skmtc.dev/brumby/apis/brumby-platform-api/llms.txt) - [OpenAPI document](https://skmtc.dev/brumby/apis/brumby-platform-api/revisions/fe185e20813e?raw)
