Claude Platform Docs

Batches

Create a Message Batch
client.beta.messages.batches.create(params, options?): BetaMessageBatch
POST/v1/messages/batches

Send a batch of Message creation requests.

Retrieve a Message Batch
client.beta.messages.batches.retrieve(messageBatchID, params?, options?): BetaMessageBatch
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.

List Message Batches
client.beta.messages.batches.list(params?, options?): Page<BetaMessageBatch>
GET/v1/messages/batches

List all Message Batches within a Workspace. Most recently created batches are returned first.

Cancel a Message Batch
client.beta.messages.batches.cancel(messageBatchID, params?, options?): BetaMessageBatch
POST/v1/messages/batches/{message_batch_id}/cancel

Batches may be canceled any time before processing ends. Once cancellation is initiated, the batch enters a canceling state, at which time the system may complete any in-progress, non-interruptible requests before finalizing cancellation.

Delete a Message Batch
client.beta.messages.batches.delete(messageBatchID, params?, options?): BetaDeletedMessageBatch
DELETE/v1/messages/batches/{message_batch_id}
Retrieve Message Batch results
client.beta.messages.batches.results(messageBatchID, params?, options?): BetaMessageBatchIndividualResponse | Stream<BetaMessageBatchIndividualResponse>
GET/v1/messages/batches/{message_batch_id}/results

Streams the results of a Message Batch as a .jsonl file.

Models
interface BetaDeletedMessageBatch { type: "message_batch_deleted"; id }
type: "message_batch_deleted"

Deleted object type.

For Message Batches, this is always "message_batch_deleted".

defaultmessage_batch_deleted
id: string

ID of the Message Batch.

interface BetaMessageBatch { type: "message_batch"; id; archived_at; /* 7 more */ }
interface BetaMessageBatchCanceledResult { type: "canceled" }
type: "canceled"
defaultcanceled
interface BetaMessageBatchErroredResult { type: "errored"; error }
type: "errored"
defaulterrored
error: BetaErrorResponse { type: "error"; error; request_id }
type: "error"
defaulterror
error: BetaError
One of the following:
request_id: string | null
interface BetaMessageBatchExpiredResult { type: "expired" }
type: "expired"
defaultexpired
interface BetaMessageBatchIndividualResponse { custom_id; result }

This is a single line in the response .jsonl file and does not represent the response as a whole.

custom_id: string

Developer-provided ID created for each request in a Message Batch. Useful for matching results to requests, as results may be given out of request order.

Must be unique for each request within the Message Batch.

Processing result for this request.

Contains a Message output if processing was successful, an error response if processing failed, or the reason why processing was not attempted, such as cancellation or expiration.

One of the following:
interface BetaMessageBatchRequestCounts { canceled; errored; expired; /* 2 more */ }
canceled: number

Number of requests in the Message Batch that have been canceled.

This is zero until processing of the entire Message Batch has ended.

default0
errored: number

Number of requests in the Message Batch that encountered an error.

This is zero until processing of the entire Message Batch has ended.

default0
expired: number

Number of requests in the Message Batch that have expired.

This is zero until processing of the entire Message Batch has ended.

default0
processing: number

Number of requests in the Message Batch that are processing.

default0
succeeded: number

Number of requests in the Message Batch that have completed successfully.

This is zero until processing of the entire Message Batch has ended.

default0

Contains a Message output if processing was successful, an error response if processing failed, or the reason why processing was not attempted, such as cancellation or expiration.

One of the following:
interface BetaMessageBatchSucceededResult { type: "succeeded"; message }
type: "succeeded"
defaultsucceeded
message: BetaMessage { type: "message"; id; container; /* 10 more */ }