> This page is for version v4 (default).
> For other versions, use one of these documentation indexes:
> - v4 (default): https://help.getzep.com/v4/llms.txt
> - v3: https://help.getzep.com/v3/llms.txt
> - v2: https://help.getzep.com/v2/llms.txt

> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://help.getzep.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://help.getzep.com/_mcp/server.

# List batches

GET https://api.getzep.com/api/v4/batches

Reference: https://help.getzep.com/sdk-reference/batch/list

## Authentication

- `Authorization` header (required) (prefixed with ` Api-Key  `) — Type "Api-Key" followed by a space and the project API key.

## Request

### Query parameters

- `page_size` (integer, optional, default: 50) — The maximum number of items in one page. The SDK method returns a pager. In Python, `.items` holds only the first page. In TypeScript, `.data` holds only the first page. To read every page, iterate the pager: use `for` or `list(...)` in Python, or `for await` in TypeScript. In Go, the method returns one page, and `Iterator()` reads all pages.
- `cursor` (string, optional) — Opaque page cursor
- `status` (enum, optional) — Batch status filter
  - Allowed values: `draft`, `invalid`, `queued`, `processing`, `succeeded`, `partial`, `failed`, `canceled`

## Response

### 200

OK

- `items` (list of v4.Batch, optional) — The batches on this page.
- `next_cursor` (string, optional) — Opaque cursor for retrieving the next page, present only when more results are available.
- `total_size` (integer, optional) — The total number of batches that match the request.

## Errors

### 400 Bad Request Error

Bad Request

- `error` (v4.ErrorBody, optional)

### 401 Unauthorized Error

Unauthorized

- `error` (v4.ErrorBody, optional)

### 404 Not Found Error

Not Found

- `error` (v4.ErrorBody, optional)

## Types

### v4.Batch

- `created_at` (string, optional) — The time the batch was created.
- `metadata` (map from string to any, optional) — Custom metadata associated with the batch, supplied when it was created.
- `progress` (v4.BatchProgress, optional) — The batch's processing progress, including its current stage and item counts. Present only once processing has started.
- `status` (enum, optional) — The processing status of the batch: draft, invalid, queued, processing, succeeded, partial, failed, or canceled.
  - Allowed values: `draft`, `invalid`, `queued`, `processing`, `succeeded`, `partial`, `failed`, `canceled`
- `strict_ontology` (boolean, optional) — Whether ontology enforcement is applied when this batch is processed, rejecting entities that do not match the configured ontology.
- `uuid` (string, optional) — The unique identifier of the batch.

### v4.ErrorBody

- `code` (string, optional)
- `details` (map from string to any, optional)
- `message` (string, optional)
- `param` (string, optional)
- `request_id` (string, optional)

### v4.BatchProgress

- `failed_items` (integer, optional) — The number of items that failed.
- `processing_items` (integer, optional) — The number of items that are in processing now.
- `stage` (string, optional) — The processing stage that the batch is in.
- `succeeded_items` (integer, optional) — The number of items that were processed successfully.
- `total_items` (integer, optional) — The number of items in the batch.

## Examples

**Response**

```json
{
  "items": [
    {
      "created_at": "string",
      "metadata": {},
      "progress": {
        "failed_items": 2,
        "processing_items": 8,
        "stage": "processing",
        "succeeded_items": 60,
        "total_items": 100
      },
      "status": "draft",
      "strict_ontology": true,
      "uuid": "string"
    }
  ],
  "next_cursor": "string",
  "total_size": 1
}
```