---
title: "Retrieve a Message Batch"
method: GET
path: "/v1/messages/batches/{message_batch_id}"
---

# Retrieve a Message Batch

`GET /v1/messages/batches/{message_batch_id}`

This endpoint is idempotent and can be used to poll for Message Batch completion. To access the results of a Message Batch, make a request to the `results_url` field in the response.

Learn more about the Message Batches API in our [user guide](https://platform.claude.com/docs/en/build-with-claude/batch-processing)

## Path parameters

- `message_batch_id` string, required — ID of the Message Batch.

## Headers

- `anthropic-version` string — The version of the Claude API you want to use. Read more about versioning and our version history [here](https://platform.claude.com/docs/en/api/versioning).
- `x-api-key` string — Your unique API key for authentication. This key is required in the header of all API requests, to authenticate your account and access Anthropic's services. Get your API key through the [Console](https://console.anthropic.com/settings/keys). Each key is scoped to a Workspace.

## Response `200`

Successful Response

- MessageBatch
  - `archived_at` string, date-time, nullable, required — RFC 3339 datetime string representing the time at which the Message Batch was archived and its results became unavailable.
  - `cancel_initiated_at` string, date-time, nullable, required — RFC 3339 datetime string representing the time at which cancellation was initiated for the Message Batch. Specified only if cancellation was initiated.
  - `created_at` string, date-time, required — RFC 3339 datetime string representing the time at which the Message Batch was created.
  - `ended_at` string, date-time, nullable, required — RFC 3339 datetime string representing the time at which processing for the Message Batch ended. Specified only once processing ends. Processing ends when every request in a Message Batch has either succeeded, errored, canceled, or expired.
  - `expires_at` string, date-time, required — RFC 3339 datetime string representing the time at which the Message Batch will expire and end processing, which is 24 hours after creation.
  - `id` string, required — Unique object identifier. The format and length of IDs may change over time.
  - `processing_status` 'in_progress' | 'canceling' | 'ended', required — Processing status of the Message Batch.
  - `request_counts` RequestCounts, required
    - `canceled` integer, required — Number of requests in the Message Batch that have been canceled. This is zero until processing of the entire Message Batch has ended.
    - `errored` integer, required — Number of requests in the Message Batch that encountered an error. This is zero until processing of the entire Message Batch has ended.
    - `expired` integer, required — Number of requests in the Message Batch that have expired. This is zero until processing of the entire Message Batch has ended.
    - `processing` integer, required — Number of requests in the Message Batch that are processing.
    - `succeeded` integer, required — Number of requests in the Message Batch that have completed successfully. This is zero until processing of the entire Message Batch has ended.
  - `results_url` string, nullable, required — URL to a `.jsonl` file containing the results of the Message Batch requests. Specified only once processing ends. Results in the file are not guaranteed to be in the same order as requests. Use the `custom_id` field to match results to requests.
  - `type` 'message_batch', required — Object type. For Message Batches, this is always `"message_batch"`.

## Other responses

- `4XX` — Error response. See our [errors documentation](https://platform.claude.com/docs/en/api/errors) for more details.

---

[API](https://skmtc.net/anthropics/apis/anthropic-api.md) · [All operations](https://skmtc.net/anthropics/apis/anthropic-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/anthropics/anthropic-api/versions/93d8fd7d6493/schema)
