POST
/
batches
Create batch
curl --request POST \
  --url https://api.openai.com/v1/batches \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "input_file_id": "<string>",
  "endpoint": "/v1/responses",
  "completion_window": "24h",
  "metadata": {}
}'
{
  "id": "<string>",
  "object": "batch",
  "endpoint": "<string>",
  "errors": {
    "object": "<string>",
    "data": [
      {
        "code": "<string>",
        "message": "<string>",
        "param": "<string>",
        "line": 123
      }
    ]
  },
  "input_file_id": "<string>",
  "completion_window": "<string>",
  "status": "validating",
  "output_file_id": "<string>",
  "error_file_id": "<string>",
  "created_at": 123,
  "in_progress_at": 123,
  "expires_at": 123,
  "finalizing_at": 123,
  "completed_at": 123,
  "failed_at": 123,
  "expired_at": 123,
  "cancelling_at": 123,
  "cancelled_at": 123,
  "request_counts": {
    "total": 123,
    "completed": 123,
    "failed": 123
  },
  "metadata": {}
}

Authorizations

Authorization
string
header
required

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

Body

application/json
input_file_id
string
required

The ID of an uploaded file that contains requests for the new batch.

See upload file for how to upload a file.

Your input file must be formatted as a JSONL file, and must be uploaded with the purpose batch. The file can contain up to 50,000 requests, and can be up to 200 MB in size.

endpoint
enum<string>
required

The endpoint to be used for all requests in the batch. Currently /v1/responses, /v1/chat/completions, /v1/embeddings, and /v1/completions are supported. Note that /v1/embeddings batches are also restricted to a maximum of 50,000 embedding inputs across all requests in the batch.

Available options:
/v1/responses,
/v1/chat/completions,
/v1/embeddings,
/v1/completions
completion_window
enum<string>
required

The time frame within which the batch should be processed. Currently only 24h is supported.

Available options:
24h
metadata
object | null

Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format, and querying for objects via API or the dashboard.

Keys are strings with a maximum length of 64 characters. Values are strings with a maximum length of 512 characters.

Response

200 - application/json

Batch created successfully.

id
string
required
object
enum<string>
required

The object type, which is always batch.

Available options:
batch
endpoint
string
required

The OpenAI API endpoint used by the batch.

input_file_id
string
required

The ID of the input file for the batch.

completion_window
string
required

The time frame within which the batch should be processed.

status
enum<string>
required

The current status of the batch.

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

The Unix timestamp (in seconds) for when the batch was created.

errors
object
output_file_id
string

The ID of the file containing the outputs of successfully executed requests.

error_file_id
string

The ID of the file containing the outputs of requests with errors.

in_progress_at
integer

The Unix timestamp (in seconds) for when the batch started processing.

expires_at
integer

The Unix timestamp (in seconds) for when the batch will expire.

finalizing_at
integer

The Unix timestamp (in seconds) for when the batch started finalizing.

completed_at
integer

The Unix timestamp (in seconds) for when the batch was completed.

failed_at
integer

The Unix timestamp (in seconds) for when the batch failed.

expired_at
integer

The Unix timestamp (in seconds) for when the batch expired.

cancelling_at
integer

The Unix timestamp (in seconds) for when the batch started cancelling.

cancelled_at
integer

The Unix timestamp (in seconds) for when the batch was cancelled.

request_counts
object

The request counts for different statuses within the batch.

metadata
object | null

Set of 16 key-value pairs that can be attached to an object. This can be useful for storing additional information about the object in a structured format, and querying for objects via API or the dashboard.

Keys are strings with a maximum length of 64 characters. Values are strings with a maximum length of 512 characters.