---
title: "Poll one batch — status and live counts"
method: GET
path: "/v1/audio/batches/{id}"
tags: ["audio"]
---

# Poll one batch — status and live counts

`GET /v1/audio/batches/{id}`

## Request

- Base URL: `https://api.ditto.audio` (the document declares no server; this is the origin it was published from)
- URL: `https://api.ditto.audio/v1/audio/batches/{id}`
- Auth: HTTP bearer

Cheap to poll: the counts are maintained on the batch row as items finish, so this never aggregates the item table.

Pass `wait_ms` (up to 30000) to LONG-POLL: the request is answered the moment the batch finishes, or when the wait runs out, and a finished batch of at most 20 items comes back with its `items` (presigned URLs included). One waiting request replaces a tight polling loop.

`completed` means every item reached a terminal state — NOT that they all succeeded. Check `counts.failed`. A batch only reports `failed` when the batch itself could not run.

## Path parameters

- `id` string, required

## Query parameters

- `wait_ms` number

## Other responses

- `404`: UNKNOWN_BATCH — no such batch, or not yours.

---

[API](https://skmtc.dev/ditto/apis/ditto-audio-api.md) · [All operations](https://skmtc.dev/ditto/apis/ditto-audio-api/llms.txt) · [OpenAPI document](https://skmtc.dev/ditto/apis/ditto-audio-api/revisions/30c8d7c218da?raw)
