---
title: "Get batch status"
method: GET
path: "/v1/batches/{batchId}"
tags: ["testRuns"]
---

# Get batch status

`GET /v1/batches/{batchId}`

Retrieve the aggregate status of a group-run batch with per-run verdicts. Poll this endpoint to track batch completion, then fetch individual runs (or `GET /v1/runs?batchId=...`) for details.

## Path parameters

- `batchId` string, uuid, required

## Headers

- `Authorization` string, required

## Response `200`

Batch status summary

- BatchStatusResponse
  - `batchId` string, uuid, required — Batch ID
  - `status` 'queued' | 'running' | 'completed' | 'failed' | 'cancelled', required — Aggregate batch status: running while any run is in flight, failed when any finished run failed, completed when all finished runs passed, cancelled when every run was cancelled
  - `counts` BatchStatusResponseCounts, required — Run counts by status
    - `total` integer, required
    - `queued` integer, required
    - `running` integer, required
    - `completed` integer, required
    - `failed` integer, required
    - `cancelled` integer, required
  - `runs` BatchStatusRun[], required — Child runs ordered by creation time
    - `id` string, uuid, required — Run ID
    - `testId` string, uuid, nullable, required — Saved test the run executed
    - `status` 'queued' | 'running' | 'completed' | 'failed' | 'cancelled', required — Run status
    - `result` 'PASS' | 'FAILED' | 'BLOCKED', required — Test verdict when the run finished with an output. BLOCKED means an environment or setup problem prevented a product verdict
    - `errorCode` string, nullable, required — Run error code when execution failed
    - `durationMs` integer, nullable, required — Execution time in milliseconds
    - `createdAt` string, date-time, required — When the run was created
    - `startedAt` string, date-time, nullable, required — When execution started
    - `completedAt` string, date-time, nullable, required — When execution finished

## Other responses

- `400` — Bad Request - Invalid input parameters
- `401` — Unauthorized - Invalid or missing API key
- `404` — Batch not found
- `429` — Too Many Requests - Usage limit exceeded
- `500` — Internal Server Error
- `504` — Gateway Timeout - Test execution exceeded time limit

---

[API](https://skmtc.net/tester/apis/testerarmy-api.md) · [All operations](https://skmtc.net/tester/apis/testerarmy-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/tester/testerarmy-api/versions/7fd19ca2a7fc/schema)
