Skip to main content
POST
Create Batch

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

multipart/form-data
file
file
required

The requests, JSONL: at most 5000 lines and 100 MB. Each line is {"custom_id", "method": "POST", "url": "/v1/chat/completions", "body"}, body a chat completion body whose model is openai/<model>, the same on every line.

metadata
string | null

A JSON object of up to 14 string pairs attached to the batch. The keys eden_batch_id and eden_request_id are reserved.

webhook_receiver
string | null

URL notified once the batch has finished and settled.

Response

Successful Response

A chat batch.

id
string
required

The batch id.

model
string
required

The model every request runs on, openai/<model>.

status
enum<string>
required

Where the batch is in its lifecycle.

Available options:
validating,
in_progress,
finalizing,
completed,
failed,
expired,
cancelling,
cancelled
created_at
integer
required

When the batch was created, Unix seconds.

object
string
default:batch

Always batch.

Allowed value: "batch"
endpoint
string
default:/v1/chat/completions

The endpoint every request of the batch calls.

request_counts
BatchRequestCounts · object

How many requests have finished, refreshed every few minutes.

metadata
Metadata · object | null

The key/value pairs given at create.

finished_at
integer | null

When the batch finished and settled, Unix seconds.

cost
string | null

What the batch billed, in US dollars, once it finished; null before. Each request that succeeded bills its tokens at the model's batch rates; a failed one, or one that never ran, bills zero. A request that succeeded with no token count bills an estimate at the same rates: its prompt tokens, the output its response shows and a reasoning allowance, the output never above the most the request could produce. A request OpenAI counts as completed with no result line bills the same estimate with no output shown. When the results cannot be read, every request that may have run bills that estimate.

Pattern: ^(?!^[-+.]*$)[+-]?0*\d*\.?\d*$
error
string | null

Why the batch failed, when it did.