Skip to content

List batches

batches.list(**kwargs) -> CursorPage<Batch { id, completion_window, created_at, 19 more } >
GET/batches

List your organization's batches.

ParametersExpand Collapse
after: String

A cursor for use in pagination. after is an object ID that defines your place in the list. For instance, if you make a list request and receive 100 objects, ending with obj_foo, your subsequent call can include after=obj_foo in order to fetch the next page of the list.

limit: Integer

A limit on the number of objects to be returned. Limit can range between 1 and 100, and the default is 20.

ReturnsExpand Collapse
class Batch { id, completion_window, created_at, 19 more }
id: String
completion_window: String

The time frame within which the batch should be processed.

created_at: Integer

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

endpoint: String

The OpenAI API endpoint used by the batch.

input_file_id: String

The ID of the input file for the batch.

object: :batch

The object type, which is always batch.

status: :validating | :failed | :in_progress | 5 more

The current status of the batch.

Accepts one of the following:
:validating
:failed
:in_progress
:finalizing
:completed
:expired
:cancelling
:cancelled
cancelled_at: Integer

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

cancelling_at: Integer

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

completed_at: Integer

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

error_file_id: String

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

errors: { data, object}
data: Array[BatchError { code, line, message, param } ]
code: String

An error code identifying the error type.

line: Integer

The line number of the input file where the error occurred, if applicable.

message: String

A human-readable message providing more details about the error.

param: String

The name of the parameter that caused the error, if applicable.

object: String

The object type, which is always list.

expired_at: Integer

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

expires_at: Integer

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

failed_at: Integer

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

finalizing_at: Integer

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

in_progress_at: Integer

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

metadata: Metadata

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.

model: String

Model ID used to process the batch, like gpt-5-2025-08-07. OpenAI offers a wide range of models with different capabilities, performance characteristics, and price points. Refer to the model guide to browse and compare available models.

output_file_id: String

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

request_counts: BatchRequestCounts { completed, failed, total }

The request counts for different statuses within the batch.

completed: Integer

Number of requests that have been completed successfully.

failed: Integer

Number of requests that have failed.

total: Integer

Total number of requests in the batch.

usage: BatchUsage { input_tokens, input_tokens_details, output_tokens, 2 more }

Represents token usage details including input tokens, output tokens, a breakdown of output tokens, and the total tokens used. Only populated on batches created after September 7, 2025.

input_tokens: Integer

The number of input tokens.

input_tokens_details: { cached_tokens}

A detailed breakdown of the input tokens.

cached_tokens: Integer

The number of tokens that were retrieved from the cache. More on prompt caching.

output_tokens: Integer

The number of output tokens.

output_tokens_details: { reasoning_tokens}

A detailed breakdown of the output tokens.

reasoning_tokens: Integer

The number of reasoning tokens.

total_tokens: Integer

The total number of tokens used.

List batches

require "openai"

openai = OpenAI::Client.new(api_key: "My API Key")

page = openai.batches.list

puts(page)
{
  "object": "list",
  "data": [
    {
      "id": "batch_abc123",
      "object": "batch",
      "endpoint": "/v1/chat/completions",
      "errors": null,
      "input_file_id": "file-abc123",
      "completion_window": "24h",
      "status": "completed",
      "output_file_id": "file-cvaTdG",
      "error_file_id": "file-HOWS94",
      "created_at": 1711471533,
      "in_progress_at": 1711471538,
      "expires_at": 1711557933,
      "finalizing_at": 1711493133,
      "completed_at": 1711493163,
      "failed_at": null,
      "expired_at": null,
      "cancelling_at": null,
      "cancelled_at": null,
      "request_counts": {
        "total": 100,
        "completed": 95,
        "failed": 5
      },
      "metadata": {
        "customer_id": "user_123456789",
        "batch_description": "Nightly job",
      }
    },
    { ... },
  ],
  "first_id": "batch_abc123",
  "last_id": "batch_abc456",
  "has_more": true
}
Returns Examples
{
  "object": "list",
  "data": [
    {
      "id": "batch_abc123",
      "object": "batch",
      "endpoint": "/v1/chat/completions",
      "errors": null,
      "input_file_id": "file-abc123",
      "completion_window": "24h",
      "status": "completed",
      "output_file_id": "file-cvaTdG",
      "error_file_id": "file-HOWS94",
      "created_at": 1711471533,
      "in_progress_at": 1711471538,
      "expires_at": 1711557933,
      "finalizing_at": 1711493133,
      "completed_at": 1711493163,
      "failed_at": null,
      "expired_at": null,
      "cancelling_at": null,
      "cancelled_at": null,
      "request_counts": {
        "total": 100,
        "completed": 95,
        "failed": 5
      },
      "metadata": {
        "customer_id": "user_123456789",
        "batch_description": "Nightly job",
      }
    },
    { ... },
  ],
  "first_id": "batch_abc123",
  "last_id": "batch_abc456",
  "has_more": true
}