---
title: "Get analysis batch status"
method: GET
path: "/api/v1/analysis-batches/{id}"
tags: ["Batches"]
---

# Get analysis batch status

`GET /api/v1/analysis-batches/{id}`

## Request

- Base URL: `https://app.probbai.com`
- URL: `https://app.probbai.com/api/v1/analysis-batches/{id}`
- Auth: HTTP bearer

Read individual outcomes from an accepted analysis batch. Use itemKey to match each outcome to the original application row.

## Before you call

Use the batchId from creation and the same scope required to create that kind of batch.

**Required scope:** `analyses:write`.

## What happens next

Read item state, resourceId, attemptId, and errorCode. Items finish only after their admitted analysis reaches a terminal outcome. Fetch each report to distinguish completed, failed, and requires_action.

## Recovery

completed means all item processing is terminal, not that every item succeeded. Do not resubmit successful items. A revoked key can stop unadmitted items while accepted work continues.

[Follow the complete workflow](/integration-bulk/) · [Errors and retries](/api-errors/)

## Path parameters

- `id` string, required

## Response `200`

Read item state, resourceId, attemptId, and errorCode. Items finish only after their admitted analysis reaches a terminal outcome. Fetch each report to distinguish completed, failed, and requires_action.

- object
  - `data` Batch, required
    - `id` string, required: Resource identifier. External-reference IDs are supplied by your system; resource/event IDs are returned by ProBB AI.
    - `kind` 'uploads' | 'analyses' | 'interviews', required: Variant selector. For job input use text or existing; for batches identifies uploads, analyses, or interviews.
    - `status` 'queued' | 'processing' | 'completed', required: Current state of the surrounding resource or finding. Use the documented enum and the operation's workflow explanation.
    - `createdAt` string, date-time, required: UTC creation timestamp in ISO 8601 format.
    - `expiresAt` string, date-time, required: UTC expiration timestamp. For a batch this is the admission deadline, not a cancellation time for already accepted work.
    - `items` object[], required: Page or batch entries. An empty list is valid; use the cursor or individual item states to decide what happens next.
      - `itemKey` string, required: Your unique identifier within this batch, used to match each outcome to its input. It is not the HTTP idempotency key.
      - `state` 'queued' | 'waiting' | 'processing' | 'admitted' | 'succeeded' | 'failed', required: Individual batch progress. succeeded/failed are terminal; waiting means capacity has delayed admission.
      - `resourceId` string, nullable, required: Resource created by this batch item; null until available. Use the batch kind to select the report or interview endpoint.
      - `attemptId` string, nullable, required: Analysis run identity. Retries keep this ID; a new admitted run receives a new ID. Null when no run is available.
      - `errorCode` string, nullable, required: Reason this item failed. Null when no item error is present; inspect item state too.
      - `upload` object, nullable: Temporary upload instructions; null after admission or when no eligible upload destination can be returned.
        - `url` string, uri, required: Short-lived signed storage URL. Treat it as a credential; never send your ProBB AI API key to it.
        - `method` 'PUT', required: HTTP method required for the signed file upload: PUT.
        - `mimeType` string, required: File content type. The file extension, declared type, and uploaded content must agree.
        - `sizeBytes` number, required: Expected upload size in bytes; send the matching file bytes to the signed URL.
        - `expiresInSeconds` 600, required: Upload URL lifetime in seconds from issuance; refresh before reuse after expiry.

## Other responses

- `400`: Invalid input or cursor
- `401`: Invalid, expired, or revoked API key
- `403`: Disabled organisation or missing scope
- `404`: The resource is absent, expired, deleted, or unavailable in this workspace. Verify the resource ID and key's workspace.
- `405`: Method not allowed; consult Allow for supported methods
- `429`: Request limit exceeded
- `500`: Unexpected failure
- `503`: Service unavailable

---

[API](https://skmtc.dev/probbai/apis/probb-ai-customer-api.md) · [All operations](https://skmtc.dev/probbai/apis/probb-ai-customer-api/llms.txt) · [OpenAPI document](https://skmtc.dev/probbai/apis/probb-ai-customer-api/revisions/33a3294530e4?raw)
