Creates a batch from an uploaded JSONL file. Requests run asynchronously within 24 hours through the normal gateway path. Each request is billed at the same per-token price as a live request, priced when it runs; no batch discount is applied.

post/v1/batches

Request

Request body

input_file_idstring required
endpoint'/v1/chat/completions' | '/v1/responses' | '/v1/embeddings' required
completion_window'24h' required
metadataobject nullable

Response

The created batch.

idstring required
object'batch' required
endpoint'/v1/chat/completions' | '/v1/responses' | '/v1/embeddings' required
input_file_idstring required
completion_windowstring required
status'validating' | 'failed' | 'in_progress' | 'finalizing' | 'completed' | 'expired' | 'cancelling' | 'cancelled' required
output_file_idstring nullable required
error_file_idstring nullable required
created_atnumber required
in_progress_atnumber nullable required
expires_atnumber nullable required
finalizing_atnumber nullable required
completed_atnumber nullable required
failed_atnumber nullable required
expired_atnumber nullable required
cancelling_atnumber nullable required
cancelled_atnumber nullable required
metadataobject nullable required

Changes