---
title: "Filter Batch Jobs"
method: POST
path: "/api/v1/batches/list/"
tags: ["openAiBatch"]
---

# Filter Batch Jobs

`POST /api/v1/batches/list/`

POST for filtering (not creation) - delegate to GET.

## Headers

- `Authorization` string, required

## Request body

- BatchJobListRequest — Serializer for batch job list view with summarized information.
  - `id` string, required — Provider's batch ID (e.g., batch_...)
  - `provider_id` string, required — Provider ID matching litellm_provider_id (e.g., 'openai', 'parasail')
  - `status` 'pending' | 'validating' | 'in_progress' | 'finalizing' | 'completed' | 'failed' | 'cancelling' | 'cancelled' | 'expired' — * `pending` - Pending * `validating` - Validating * `in_progress` - In Progress * `finalizing` - Finalizing * `completed` - Completed * `failed` - Failed * `cancelling` - Cancelling * `cancelled` - Cancelled * `expired` - Expired
  - `request_count` integer
  - `completed_count` integer
  - `failed_count` integer
  - `total_cost` number, double — Total cost calculated from output (populated on completion)
  - `completed_at` string, date-time, nullable — When batch reached terminal status
  - `last_polled_at` string, date-time, nullable — Last time status was polled (for smart backoff)
  - `start_log_unique_id` string, required — unique_id of the start log (log_type=BATCH)
  - `completion_log_unique_id` string — unique_id of the completion log (populated when status=completed and logged)
  - `provider_data` unknown

## Response `201`

- BatchJobList — Serializer for batch job list view with summarized information.
  - `id` string, required — Provider's batch ID (e.g., batch_...)
  - `provider_id` string, required — Provider ID matching litellm_provider_id (e.g., 'openai', 'parasail')
  - `status` 'pending' | 'validating' | 'in_progress' | 'finalizing' | 'completed' | 'failed' | 'cancelling' | 'cancelled' | 'expired' — * `pending` - Pending * `validating` - Validating * `in_progress` - In Progress * `finalizing` - Finalizing * `completed` - Completed * `failed` - Failed * `cancelling` - Cancelling * `cancelled` - Cancelled * `expired` - Expired
  - `request_count` integer
  - `completed_count` integer
  - `failed_count` integer
  - `total_cost` number, double — Total cost calculated from output (populated on completion)
  - `is_usage_tracked` string, required
  - `is_active` string, required
  - `is_terminal` string, required
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `completed_at` string, date-time, nullable — When batch reached terminal status
  - `last_polled_at` string, date-time, nullable — Last time status was polled (for smart backoff)
  - `start_log_unique_id` string, required — unique_id of the start log (log_type=BATCH)
  - `completion_log_unique_id` string — unique_id of the completion log (populated when status=completed and logged)
  - `provider_data` unknown

---

[API](https://skmtc.net/keywordsai/apis/api-reference.md) · [All operations](https://skmtc.net/keywordsai/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/keywordsai/api-reference/revisions/c26d550029f8/schema)
