Messages

messages

Methods

Create A Message -> { id, content, model, 5 more... }
post/v1/messages

Send a structured list of input messages with text and/or image content, and the model will generate the next message in the conversation.

The Messages API can be used for either single queries or stateless multi-turn conversations.

Learn more about the Messages API in our user guide

Count Tokens In A Message -> { input_tokens }
post/v1/messages/count_tokens

Count the number of tokens in a Message.

The Token Count API can be used to count the number of tokens in a Message, including tools, images, and documents, without creating it.

Learn more about token counting in our user guide

Count Tokens In A Message -> { input_tokens }
post/v1/messages/count_tokens?beta=true

Count the number of tokens in a Message.

The Token Count API can be used to count the number of tokens in a Message, including tools, images, and documents, without creating it.

Learn more about token counting in our user guide

Messages

Batches

messages.batches

Methods

Create A Message Batch -> { id, archived_at, cancel_initiated_at, 7 more... }
post/v1/messages/batches

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

List Message Batches -> { data, first_id, has_more, 1 more... }
get/v1/messages/batches

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

Learn more about the Message Batches API in our user guide

Retrieve A Message Batch -> { id, archived_at, cancel_initiated_at, 7 more... }
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

Delete A Message Batch -> { id, type }
delete/v1/messages/batches/{message_batch_id}

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

Cancel A Message Batch -> { id, archived_at, cancel_initiated_at, 7 more... }
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.

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

Retrieve Message Batch Results -> { custom_id, result }
get/v1/messages/batches/{message_batch_id}/results

Streams 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

Cancel A Message Batch -> { id, archived_at, cancel_initiated_at, 7 more... }
post/v1/messages/batches/{message_batch_id}/cancel?beta=true

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

Retrieve Message Batch Results -> { custom_id, result }
get/v1/messages/batches/{message_batch_id}/results?beta=true

Streams 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

messages.batches.beta_true

Methods

Retrieve A Message Batch -> { id, archived_at, cancel_initiated_at, 7 more... }
get/v1/messages/batches/{message_batch_id}?beta=true

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

Delete A Message Batch -> { id, type }
delete/v1/messages/batches/{message_batch_id}?beta=true

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

Messages

Batches Beta True

messages.batches_beta_true

Methods

Create A Message Batch -> { id, archived_at, cancel_initiated_at, 7 more... }
post/v1/messages/batches?beta=true

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

List Message Batches -> { data, first_id, has_more, 1 more... }
get/v1/messages/batches?beta=true

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

Learn more about the Message Batches API in our user guide