> This page is for version v2025-04-21.
> For other versions, use one of these documentation indexes:
> - v2026-02-09 (default): https://docs.extend.ai/2026-02-09/llms.txt
> - v2025-04-21: https://docs.extend.ai/2025-04-21/llms.txt
> - v2024-12-23: https://docs.extend.ai/2024-12-23/llms.txt

> ## Documentation Index
> Fetch the complete documentation index at: https://docs.extend.ai/llms.txt
> Use this file to discover all available pages before exploring further.
>
> ## API version
> The current API version is `2026-02-09`, served at the site root (no version prefix in URLs).
> If this page URL contains `/2025-04-21/` or `/2024-12-23/`, you are reading an older API version.
> Prefer the current docs at https://docs.extend.ai/llms.txt unless the user explicitly needs that older version.
> Do not treat older-version pages as the source of truth for new integrations.

# List Workflow Runs

GET https://api.extend.ai/workflow_runs

List runs of a Workflow. Workflows are sequences of steps that process files and data in a specific order to achieve a desired outcome. A WorkflowRun represents a single execution of a workflow against a file.


Reference: https://docs.extend.ai/2025-04-21/developers/api-reference/workflow-endpoints/list-workflow-runs

## Authentication

- `Authorization` header (bearer token, required) — Bearer authentication of the form `Bearer <token>`, where token is your auth token.

## Request

### Query parameters

- `status` (enum, optional) — Filters workflow runs by their status. If not provided, no filter is applied. The status of a workflow run: * `"PENDING"` - The workflow run has not started yet * `"PROCESSING"` - The workflow run is in progress * `"NEEDS_REVIEW"` - The workflow run requires manual review * `"REJECTED"` - The workflow run was rejected during manual review * `"PROCESSED"` - The workflow run completed successfully * `"FAILED"` - The workflow run encountered an error * `"CANCELLED"` - The workflow run was cancelled * `"CANCELLING"` - The workflow run is being cancelled
  - Allowed values: `PENDING`, `PROCESSING`, `NEEDS_REVIEW`, `REJECTED`, `PROCESSED`, `FAILED`, `CANCELLED`, `CANCELLING`
- `workflowId` (string, optional) — Filters workflow runs by the workflow ID. If not provided, runs for all workflows are returned. Example: `"workflow_BMdfq_yWM3sT-ZzvCnA3f"`
- `batchId` (string, optional) — Filters workflow runs by the batch ID. This is useful for fetching all runs for a given batch created via the [Batch Run Workflow](https://docs.extend.ai/2025-04-21/developers/api-reference/workflow-endpoints/batch-run-workflow) endpoint. Example: `"batch_7Ws31-F5"`
- `fileNameContains` (string, optional) — Filters workflow runs by the name of the file. Only returns workflow runs where the file name contains this string. Example: `"invoice"`
- `sortBy` (enum, optional, default: updatedAt) — Sorts the workflow runs by the given field.
  - Allowed values: `updatedAt`, `createdAt`
- `sortDir` (enum, optional, default: desc) — Sorts the workflow runs in ascending or descending order. Ascending order means the earliest workflow run is returned first.
  - Allowed values: `asc`, `desc`
- `nextPageToken` (string, optional) — The token used to fetch the page of results from a previous request. We use cursor based pagination and will return a `nextPageToken` in the response if there are more results. Note that if other parameters are changed in subsequent requests, you may receive inconsistent data. example: `"xK9mLPqRtN3vS8wF5hB2cQ==:zWvUxYjM4nKpL7aDgE9HbTcR2mAyX3/Q+CNkfBSw1dZ="`
- `maxPageSize` (integer, optional, default: 10) — The maximum number of results to return in the response. You may receive less than this number if there are fewer results than the maximum.

### Headers

- `x-extend-api-version` ("2025-04-21", optional, default: 2025-04-21) — API version to use for the request. If you do not specify a version, you will either receive a `400 Bad Request` or be set to a previous legacy version. See [API Versioning](https://docs.extend.ai/2025-04-21/developers/api-versioning) for more details.
- `x-extend-workspace-id` (string, optional) — The workspace ID to target. **Required** when using an organization-scoped API key; optional for workspace-scoped keys (the key is already tied to a workspace). See [Authentication](https://docs.extend.ai/2025-04-21/developers/authentication) for details on API key scopes.

## Response

### 200

You will get a list of summaries for each workflow run. These are shortened versions of the full WorkflowRun object. To get the full object, use the [Get WorkflowRun](https://docs.extend.ai/2025-04-21/developers/api-reference/workflow-endpoints/get-workflow-run) endpoint.

- `success` (boolean, required)
- `workflowRuns` (list of WorkflowRunSummary, required)
- `nextPageToken` (string, optional) — The token used to fetch the page of results from a previous request. We use cursor based pagination and will return a `nextPageToken` in the response if there are more results. Note that if other parameters are changed in subsequent requests, you may receive inconsistent data. example: `"xK9mLPqRtN3vS8wF5hB2cQ==:zWvUxYjM4nKpL7aDgE9HbTcR2mAyX3/Q+CNkfBSw1dZ="`

## Errors

### 400 Bad Request Error

Bad Request

- `success` (boolean, optional)
- `error` (string, optional) — Error message

### 401 Unauthorized Error

Unauthorized

- `success` (boolean, optional)
- `error` (string, optional) — Error message

## Types

### WorkflowRunSummary

- `id` (string, required) — The ID of the workflow run. Example: `"workflow_run_Zk9mNP12Qw4-yTv8BdR3H"`
- `status` (enum, required) — The status of a workflow run: * `"PENDING"` - The workflow run is waiting to be processed * `"PROCESSING"` - The workflow run is currently processing * `"NEEDS_REVIEW"` - The workflow run requires manual review * `"REJECTED"` - The workflow run was rejected during review * `"PROCESSED"` - The workflow run completed successfully * `"FAILED"` - The workflow run encountered an error * `"CANCELLED"` - The workflow run was cancelled * `"CANCELLING"` - The workflow run is being cancelled
  - Allowed values: `PENDING`, `PROCESSING`, `NEEDS_REVIEW`, `REJECTED`, `PROCESSED`, `FAILED`, `CANCELLED`, `CANCELLING`
- `workflowId` (string, required) — The ID of the workflow that was run. Will always start with "workflow". Example: `"workflow_BMdfq_yWM3sT-ZzvCnA3f"`
- `workflowName` (string, required) — The name of the workflow that was run. Example: `"Invoice Processing"`
- `workflowVersionId` (string, required) — The ID of the workflow version that was run. Will always start with "workflow_version". Example: `"workflow_version_Zk9mNP12Qw4-yTv8BdR3H"`
- `createdAt` (string, required) — The time (in UTC) at which the workflow run was created. Will follow the RFC 3339 format. Example: `"2024-03-21T15:29:55Z"`
- `updatedAt` (string, required) — The time (in UTC) at which the workflow run was last updated. Will follow the RFC 3339 format. Example: `"2024-03-21T16:45:00Z"`
- `initialRunAt` (string, optional) — The time (in UTC) at which the workflow was initially created. Will follow the RFC 3339 format. Example: `"2024-03-21T15:30:00Z"`
- `reviewedByUser` (string, optional) — The user of the person who reviewed the workflow run. Will not be included if the workflow run has not been reviewed. Example: `"jane.doe@example.com"`
- `reviewedAt` (string, optional) — The time (in UTC) at which the workflow run was reviewed. Will follow the RFC 3339 format. Example: `"2024-03-21T16:45:00Z"`
- `startTime` (string, optional) — The start time (in UTC) that the workflow actually started executing. This occurs after the `initialRunAt` time. Will follow the RFC 3339 format. Example: `"2024-03-21T15:30:00Z"`
- `endTime` (string, optional) — The end time (in UTC) that the workflow finished. Will follow the RFC 3339 format. Example: `"2024-03-21T15:35:00Z"`
- `batchId` (string, optional) — The batch ID of the WorkflowRun. If that WorkflowRun was created from a batch of files, all runs in that batch will have the same batch ID. Example: `"batch_7Ws31-F5"`
- `rejectionNote` (string, optional) — The note that was added when the workflow run was rejected. Example: `"Invalid invoice format"`
- `usage` (WorkflowRunCredits, optional) — These are usage credits for workflow runs. This field will not be returned for workflow runs created before October 7, 2025, or for customers on legacy billing systems. For more details on how credits work, see our [Credits Guide](https://docs.extend.ai/general/how-credits-work).

### WorkflowRunCredits

These are usage credits for workflow runs. This field will not be returned for workflow runs created before October 7, 2025, or for customers on legacy billing systems. For more details on how credits work, see our [Credits Guide](https://docs.extend.ai/general/how-credits-work).

- `credits` (double, required) — The number of credits consumed for processing in this workflow run.

## Examples

**Response**

```json
{
  "success": true,
  "workflowRuns": [
    {
      "id": "workflow_run_Zk9mNP12Qw4-yTv8BdR3H",
      "status": "REJECTED",
      "workflowId": "workflow_BMdfq_yWM3sT-ZzvCnA3f",
      "workflowName": "Invoice Processing",
      "workflowVersionId": "workflow_version_Zk9mNP12Qw4-yTv8BdR3H",
      "createdAt": "2024-03-21T15:29:55Z",
      "updatedAt": "2024-03-21T16:45:00Z",
      "initialRunAt": "2024-03-21T15:30:00Z",
      "reviewedByUser": "jane.doe@example.com",
      "reviewedAt": "2024-03-21T16:45:00Z",
      "startTime": "2024-03-21T15:30:00Z",
      "endTime": "2024-03-21T15:35:00Z",
      "batchId": "batch_7Ws31-F5",
      "rejectionNote": "Invalid invoice format"
    }
  ],
  "nextPageToken": "xK9mLPqRtN3vS8wF5hB2cQ==:zWvUxYjM4nKpL7aDgE9HbTcR2mAyX3/Q+CNkfBSw1dZ="
}
```