## List Workflow Runs

List workflow runs across all workflows for the current organization. Results are paginated and can be filtered by status, search key, and error code.

### Example

#### Python

```python
runs = await client.get_workflow_runs(page=1, page_size=10)
for run in runs:
    print(run.workflow_run_id, run.status)
```

### Parameters

| Parameter | Type | Required | Description |
| --- | --- | --- | --- |
| `page` | `int` | No | Page number (1-indexed). |
| `page_size` | `int` | No | Results per page. |
| `status` | `WorkflowRunStatus | list[WorkflowRunStatus]` | No | Filter by run status. |
| `search_key` | `str` | No | Case-insensitive substring search (min 3 chars). Matches against run ID, parameter keys, parameter values, and descriptions. |
| `error_code` | `str` | No | Filter by error code. |
| `request_options` | `RequestOptions` | No | Per-request configuration (see below). |

### Returns `list[WorkflowRun]`

### Request Options

Override timeout, retries, or headers for this call by passing `request_options` (Python) or a second options argument (TypeScript).

#### Python

```python
from skyvern.client.core import RequestOptions

request_options=RequestOptions(
    timeout_in_seconds=120,
    max_retries=3,
    additional_headers={"x-custom-header": "value"},
)
```

| Option (Python) | Option (TypeScript) | Type | Description |
| --- | --- | --- | --- |
| `timeout_in_seconds` | `timeoutInSeconds` | `int` / `number` | HTTP timeout in seconds. |
| `max_retries` | `maxRetries` | `int` / `number` | Retry count. |
| `additional_headers` | `headers` | `dict` / `Record<string, string>` | Extra headers. |
| `additional_query_parameters` | - | `dict` | Extra query parameters. |
| `additional_body_parameters` | - | `dict` | Extra body parameters. |
| - | `abortSignal` | `AbortSignal` | Signal to cancel the request. |
| - | `apiKey` | `string` | Override API key. |
