POST
/
v1
/
messages
/
batches
While in Beta, this endpoint requires passing the anthropic-beta header with value message-batches-2024-09-24

Feature Support

The Message Batches API supports the following models: Claude 3 Haiku, Claude 3 Opus, and Claude 3.5 Sonnet. All features available in the Messages API, including beta features, are available through the Message Batches API.

While in Beta, batches may contain up to 10,000 requests and be up to 32 MB in total size.

Headers

anthropic-beta
string

Optional header to specify the beta version(s) you want to use.

If passing in multiple, use a comma separated list, e.g. beta1,beta2.

anthropic-version
string
required

The version of the Anthropic API you want to use.

Read more about versioning and our version history here.

x-api-key
string
required

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. Each key is scoped to a Workspace.

Body

application/json
requests
object[]
required

List of requests for prompt completion. Each is an individual request to create a Message.

Response

200 - application/json
id
string
required

Unique object identifier.

The format and length of IDs may change over time.

type
enum<string>
default: message_batchrequired

Object type.

For Message Batches, this is always "message_batch".

Available options:
message_batch
processing_status
enum<string>
required

Processing status of the Message Batch.

Available options:
in_progress,
canceling,
ended
request_counts
object
required

Tallies requests within the Message Batch, categorized by their status.

Requests start as processing and move to one of the other statuses only once processing of the entire batch ends. The sum of all values always matches the total number of requests in the batch.

ended_at
string | null
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.

created_at
string
required

RFC 3339 datetime string representing the time at which the Message Batch was created.

expires_at
string
required

RFC 3339 datetime string representing the time at which the Message Batch will expire and end processing, which is 24 hours after creation.

cancel_initiated_at
string | null
required

RFC 3339 datetime string representing the time at which cancellation was initiated for the Message Batch. Specified only if cancellation was initiated.

results_url
string | null
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.