Skip to main content

batches

Creates, updates, deletes, gets or lists a batches resource.

Overview

Namebatches
TypeResource
Idanthropic.messages.batches

Fields

The following fields are returned by SELECT queries:

NameDatatypeDescription
idstringUnique object identifier.

The format and length of IDs may change over time.
archived_atstring (date-time)RFC 3339 datetime string representing the time at which the Message Batch was archived and its results became unavailable.
cancel_initiated_atstring (date-time)RFC 3339 datetime string representing the time at which cancellation was initiated for the Message Batch. Specified only if cancellation was initiated.
created_atstring (date-time)RFC 3339 datetime string representing the time at which the Message Batch was created.
ended_atstring (date-time)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_atstring (date-time)RFC 3339 datetime string representing the time at which the Message Batch will expire and end processing, which is 24 hours after creation.
processing_statusstringProcessing status of the Message Batch. (in_progress, canceling, ended)
request_countsobjectTallies 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.
results_urlstringURL 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.
typestringObject type.

For Message Batches, this is always `"message_batch"`. (message_batch)

Methods

The following methods are available for this resource:

NameAccessible byRequired ParamsOptional ParamsDescription
getselectmessage_batch_idThis 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
listselectbefore_id, after_idList all Message Batches within a Workspace. Most recently created batches are returned first.

Learn more about the Message Batches API in our user guide
createinsertrequestsSend a batch of Message creation requests.

The Message Batches API can be used to process multiple Messages API requests at once. Once a Message Batch is created, it begins processing immediately. Batches can take up to 24 hours to complete.

Learn more about the Message Batches API in our user guide
deletedeletemessage_batch_idDelete a Message Batch.

Message Batches can only be deleted once they've finished processing. If you'd like to delete an in-progress batch, you must first cancel it.

Learn more about the Message Batches API in our user guide
cancelexecmessage_batch_idBatches 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.

The number of canceled requests is specified in request_counts. To determine which requests were canceled, check the individual results within the batch. Note that cancellation may not result in any canceled requests if they were non-interruptible.

Learn more about the Message Batches API in our user guide
resultsexecmessage_batch_idStreams the results of a Message Batch as a .jsonl file.

Each line in the file is a JSON object containing the result of a single request in the Message Batch. Results are not guaranteed to be in the same order as requests. Use the custom_id field to match results to requests.

Learn more about the Message Batches API in our user guide

Parameters

Parameters can be passed in the WHERE clause of a query. Check the Methods section to see which parameters are required or optional for each operation.

NameDatatypeDescription
message_batch_idstringID of the Message Batch.
after_idstringID of the object to use as a cursor for pagination. When provided, returns the page of results immediately after this object.
before_idstringID of the object to use as a cursor for pagination. When provided, returns the page of results immediately before this object.

SELECT examples

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

SELECT
id,
archived_at,
cancel_initiated_at,
created_at,
ended_at,
expires_at,
processing_status,
request_counts,
results_url,
type
FROM anthropic.messages.batches
WHERE message_batch_id = '{{ message_batch_id }}' -- required
;

INSERT examples

Send a batch of Message creation requests.

The Message Batches API can be used to process multiple Messages API requests at once. Once a Message Batch is created, it begins processing immediately. Batches can take up to 24 hours to complete.

Learn more about the Message Batches API in our user guide

INSERT INTO anthropic.messages.batches (
requests
)
SELECT
'{{ requests }}' /* required */
RETURNING
id,
archived_at,
cancel_initiated_at,
created_at,
ended_at,
expires_at,
processing_status,
request_counts,
results_url,
type
;

DELETE examples

Delete a Message Batch.

Message Batches can only be deleted once they've finished processing. If you'd like to delete an in-progress batch, you must first cancel it.

Learn more about the Message Batches API in our user guide

DELETE FROM anthropic.messages.batches
WHERE message_batch_id = '{{ message_batch_id }}' --required
;

Lifecycle Methods

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.

The number of canceled requests is specified in request_counts. To determine which requests were canceled, check the individual results within the batch. Note that cancellation may not result in any canceled requests if they were non-interruptible.

Learn more about the Message Batches API in our user guide

EXEC anthropic.messages.batches.cancel
@message_batch_id='{{ message_batch_id }}' --required
;