SpyBara
Go Premium

cli/resources/batches/index.md 2026-07-07 08:02 UTC to 2026-07-09 20:58 UTC

1103 added, 0 removed.

2026
Fri 10 23:02 Thu 9 20:58 Tue 7 08:02

Batches

Create batch

$ openai batches create

post /batches

Create batch

Parameters

  • --completion-window: "24h"

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

  • --endpoint: "/v1/responses" or "/v1/chat/completions" or "/v1/embeddings" or 5 more

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

  • --input-file-id: string

    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.

  • --metadata: optional map[string]

    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.

  • --output-expires-after: optional object { anchor, seconds }

    The expiration policy for the output and/or error file that are generated for a batch.

Returns

  • batch: object { id, completion_window, created_at, 19 more }

    • id: string

    • completion_window: string

      The time frame within which the batch should be processed.

    • created_at: number

      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" or "failed" or "in_progress" or 5 more

      The current status of the batch.

      • "validating"

      • "failed"

      • "in_progress"

      • "finalizing"

      • "completed"

      • "expired"

      • "cancelling"

      • "cancelled"

    • cancelled_at: optional number

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

    • cancelling_at: optional number

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

    • completed_at: optional number

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

    • error_file_id: optional string

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

    • errors: optional object { data, object }

      • data: optional array of unknown

      • object: optional string

        The object type, which is always list.

    • expired_at: optional number

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

    • expires_at: optional number

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

    • failed_at: optional number

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

    • finalizing_at: optional number

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

    • in_progress_at: optional number

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

    • metadata: optional map[string]

      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: optional 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: optional string

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

    • request_counts: optional unknown

    • usage: optional object { 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: number

        The number of input tokens.

      • input_tokens_details: object { cached_tokens }

        A detailed breakdown of the input tokens.

      • output_tokens: number

        The number of output tokens.

      • output_tokens_details: object { reasoning_tokens }

        A detailed breakdown of the output tokens.

        • reasoning_tokens: number

          The number of reasoning tokens.

      • total_tokens: number

        The total number of tokens used.

Example

openai batches create \
  --api-key 'My API Key' \
  --completion-window 24h \
  --endpoint /v1/responses \
  --input-file-id input_file_id

Response

{
  "id": "id",
  "completion_window": "completion_window",
  "created_at": 0,
  "endpoint": "endpoint",
  "input_file_id": "input_file_id",
  "object": "batch",
  "status": "validating",
  "cancelled_at": 0,
  "cancelling_at": 0,
  "completed_at": 0,
  "error_file_id": "error_file_id",
  "errors": {
    "data": [
      {}
    ],
    "object": "object"
  },
  "expired_at": 0,
  "expires_at": 0,
  "failed_at": 0,
  "finalizing_at": 0,
  "in_progress_at": 0,
  "metadata": {
    "foo": "string"
  },
  "model": "model",
  "output_file_id": "output_file_id",
  "request_counts": {},
  "usage": {
    "input_tokens": 0,
    "input_tokens_details": {
      "cached_tokens": 0
    },
    "output_tokens": 0,
    "output_tokens_details": {
      "reasoning_tokens": 0
    },
    "total_tokens": 0
  }
}

Retrieve batch

$ openai batches retrieve

get /batches/{batch_id}

Retrieve batch

Parameters

  • --batch-id: string

    The ID of the batch to retrieve.

Returns

  • batch: object { id, completion_window, created_at, 19 more }

    • id: string

    • completion_window: string

      The time frame within which the batch should be processed.

    • created_at: number

      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" or "failed" or "in_progress" or 5 more

      The current status of the batch.

      • "validating"

      • "failed"

      • "in_progress"

      • "finalizing"

      • "completed"

      • "expired"

      • "cancelling"

      • "cancelled"

    • cancelled_at: optional number

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

    • cancelling_at: optional number

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

    • completed_at: optional number

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

    • error_file_id: optional string

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

    • errors: optional object { data, object }

      • data: optional array of unknown

      • object: optional string

        The object type, which is always list.

    • expired_at: optional number

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

    • expires_at: optional number

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

    • failed_at: optional number

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

    • finalizing_at: optional number

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

    • in_progress_at: optional number

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

    • metadata: optional map[string]

      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: optional 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: optional string

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

    • request_counts: optional unknown

    • usage: optional object { 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: number

        The number of input tokens.

      • input_tokens_details: object { cached_tokens }

        A detailed breakdown of the input tokens.

      • output_tokens: number

        The number of output tokens.

      • output_tokens_details: object { reasoning_tokens }

        A detailed breakdown of the output tokens.

        • reasoning_tokens: number

          The number of reasoning tokens.

      • total_tokens: number

        The total number of tokens used.

Example

openai batches retrieve \
  --api-key 'My API Key' \
  --batch-id batch_id

Response

{
  "id": "id",
  "completion_window": "completion_window",
  "created_at": 0,
  "endpoint": "endpoint",
  "input_file_id": "input_file_id",
  "object": "batch",
  "status": "validating",
  "cancelled_at": 0,
  "cancelling_at": 0,
  "completed_at": 0,
  "error_file_id": "error_file_id",
  "errors": {
    "data": [
      {}
    ],
    "object": "object"
  },
  "expired_at": 0,
  "expires_at": 0,
  "failed_at": 0,
  "finalizing_at": 0,
  "in_progress_at": 0,
  "metadata": {
    "foo": "string"
  },
  "model": "model",
  "output_file_id": "output_file_id",
  "request_counts": {},
  "usage": {
    "input_tokens": 0,
    "input_tokens_details": {
      "cached_tokens": 0
    },
    "output_tokens": 0,
    "output_tokens_details": {
      "reasoning_tokens": 0
    },
    "total_tokens": 0
  }
}

Cancel batch

$ openai batches cancel

post /batches/{batch_id}/cancel

Cancel batch

Parameters

  • --batch-id: string

    The ID of the batch to cancel.

Returns

  • batch: object { id, completion_window, created_at, 19 more }

    • id: string

    • completion_window: string

      The time frame within which the batch should be processed.

    • created_at: number

      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" or "failed" or "in_progress" or 5 more

      The current status of the batch.

      • "validating"

      • "failed"

      • "in_progress"

      • "finalizing"

      • "completed"

      • "expired"

      • "cancelling"

      • "cancelled"

    • cancelled_at: optional number

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

    • cancelling_at: optional number

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

    • completed_at: optional number

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

    • error_file_id: optional string

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

    • errors: optional object { data, object }

      • data: optional array of unknown

      • object: optional string

        The object type, which is always list.

    • expired_at: optional number

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

    • expires_at: optional number

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

    • failed_at: optional number

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

    • finalizing_at: optional number

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

    • in_progress_at: optional number

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

    • metadata: optional map[string]

      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: optional 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: optional string

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

    • request_counts: optional unknown

    • usage: optional object { 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: number

        The number of input tokens.

      • input_tokens_details: object { cached_tokens }

        A detailed breakdown of the input tokens.

      • output_tokens: number

        The number of output tokens.

      • output_tokens_details: object { reasoning_tokens }

        A detailed breakdown of the output tokens.

        • reasoning_tokens: number

          The number of reasoning tokens.

      • total_tokens: number

        The total number of tokens used.

Example

openai batches cancel \
  --api-key 'My API Key' \
  --batch-id batch_id

Response

{
  "id": "id",
  "completion_window": "completion_window",
  "created_at": 0,
  "endpoint": "endpoint",
  "input_file_id": "input_file_id",
  "object": "batch",
  "status": "validating",
  "cancelled_at": 0,
  "cancelling_at": 0,
  "completed_at": 0,
  "error_file_id": "error_file_id",
  "errors": {
    "data": [
      {}
    ],
    "object": "object"
  },
  "expired_at": 0,
  "expires_at": 0,
  "failed_at": 0,
  "finalizing_at": 0,
  "in_progress_at": 0,
  "metadata": {
    "foo": "string"
  },
  "model": "model",
  "output_file_id": "output_file_id",
  "request_counts": {},
  "usage": {
    "input_tokens": 0,
    "input_tokens_details": {
      "cached_tokens": 0
    },
    "output_tokens": 0,
    "output_tokens_details": {
      "reasoning_tokens": 0
    },
    "total_tokens": 0
  }
}

List batches

$ openai batches list

get /batches

List batches

Parameters

  • --after: optional 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: optional number

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

Returns

  • ListBatchesResponse: object { data, has_more, object, 2 more }

    • data: array of Batch

      • id: string

      • completion_window: string

        The time frame within which the batch should be processed.

      • created_at: number

        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" or "failed" or "in_progress" or 5 more

        The current status of the batch.

        • "validating"

        • "failed"

        • "in_progress"

        • "finalizing"

        • "completed"

        • "expired"

        • "cancelling"

        • "cancelled"

      • cancelled_at: optional number

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

      • cancelling_at: optional number

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

      • completed_at: optional number

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

      • error_file_id: optional string

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

      • errors: optional object { data, object }

        • data: optional array of unknown

        • object: optional string

          The object type, which is always list.

      • expired_at: optional number

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

      • expires_at: optional number

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

      • failed_at: optional number

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

      • finalizing_at: optional number

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

      • in_progress_at: optional number

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

      • metadata: optional map[string]

        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: optional 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: optional string

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

      • request_counts: optional unknown

      • usage: optional object { 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: number

          The number of input tokens.

        • input_tokens_details: object { cached_tokens }

          A detailed breakdown of the input tokens.

        • output_tokens: number

          The number of output tokens.

        • output_tokens_details: object { reasoning_tokens }

          A detailed breakdown of the output tokens.

          • reasoning_tokens: number

            The number of reasoning tokens.

        • total_tokens: number

          The total number of tokens used.

    • has_more: boolean

    • object: "list"

    • first_id: optional string

    • last_id: optional string

Example

openai batches list \
  --api-key 'My API Key'

Response

{
  "data": [
    {
      "id": "id",
      "completion_window": "completion_window",
      "created_at": 0,
      "endpoint": "endpoint",
      "input_file_id": "input_file_id",
      "object": "batch",
      "status": "validating",
      "cancelled_at": 0,
      "cancelling_at": 0,
      "completed_at": 0,
      "error_file_id": "error_file_id",
      "errors": {
        "data": [
          {}
        ],
        "object": "object"
      },
      "expired_at": 0,
      "expires_at": 0,
      "failed_at": 0,
      "finalizing_at": 0,
      "in_progress_at": 0,
      "metadata": {
        "foo": "string"
      },
      "model": "model",
      "output_file_id": "output_file_id",
      "request_counts": {},
      "usage": {
        "input_tokens": 0,
        "input_tokens_details": {
          "cached_tokens": 0
        },
        "output_tokens": 0,
        "output_tokens_details": {
          "reasoning_tokens": 0
        },
        "total_tokens": 0
      }
    }
  ],
  "has_more": true,
  "object": "list",
  "first_id": "batch_abc123",
  "last_id": "batch_abc456"
}

Domain Types

Batch

  • batch: object { id, completion_window, created_at, 19 more }

    • id: string

    • completion_window: string

      The time frame within which the batch should be processed.

    • created_at: number

      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" or "failed" or "in_progress" or 5 more

      The current status of the batch.

      • "validating"

      • "failed"

      • "in_progress"

      • "finalizing"

      • "completed"

      • "expired"

      • "cancelling"

      • "cancelled"

    • cancelled_at: optional number

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

    • cancelling_at: optional number

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

    • completed_at: optional number

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

    • error_file_id: optional string

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

    • errors: optional object { data, object }

      • data: optional array of unknown

      • object: optional string

        The object type, which is always list.

    • expired_at: optional number

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

    • expires_at: optional number

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

    • failed_at: optional number

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

    • finalizing_at: optional number

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

    • in_progress_at: optional number

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

    • metadata: optional map[string]

      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: optional 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: optional string

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

    • request_counts: optional unknown

    • usage: optional object { 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: number

        The number of input tokens.

      • input_tokens_details: object { cached_tokens }

        A detailed breakdown of the input tokens.

      • output_tokens: number

        The number of output tokens.

      • output_tokens_details: object { reasoning_tokens }

        A detailed breakdown of the output tokens.

        • reasoning_tokens: number

          The number of reasoning tokens.

      • total_tokens: number

        The total number of tokens used.

Batch Error

  • batch_error: unknown

Batch Request Counts

  • batch_request_counts: unknown

Batch Usage

  • batch_usage: object { 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: number

      The number of input tokens.

    • input_tokens_details: object { cached_tokens }

      A detailed breakdown of the input tokens.

    • output_tokens: number

      The number of output tokens.

    • output_tokens_details: object { reasoning_tokens }

      A detailed breakdown of the output tokens.

      • reasoning_tokens: number

        The number of reasoning tokens.

    • total_tokens: number

      The total number of tokens used.