> ## Documentation Index
> Fetch the complete documentation index at: https://docs.eachlabs.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# List Executions

> Retrieve a paginated list of executions for a workflow.

## Endpoint

```
GET https://workflows.eachlabs.run/api/v1/workflows/{workflowID}/executions
```

<Warning>
  This public URL uses a deprecated compatibility host outside the api-service host. It remains supported for now, but will soon move under `https://api.eachlabs.ai`. Keep integrations configurable and switch to the api-service URL once it is published.
</Warning>

## Path Parameters

| Parameter    | Type   | Required | Description           |
| ------------ | ------ | -------- | --------------------- |
| `workflowID` | string | Yes      | Workflow UUID or slug |

## Query Parameters

| Parameter | Type          | Required | Default | Description                  |
| --------- | ------------- | -------- | ------- | ---------------------------- |
| `bulk_id` | string (UUID) | No       | `-`     | Filter by bulk operation ID  |
| `offset`  | integer       | No       | `0`     | Number of items to skip      |
| `limit`   | integer       | No       | `50`    | Max results per page (1–100) |

## Code Examples

<CodeGroup>
  ```bash cURL theme={"dark"}
  # List all executions
  curl "https://workflows.eachlabs.run/api/v1/workflows/WF_ID/executions?limit=10" \
    -H "X-API-Key: YOUR_API_KEY"

  # Filter by bulk ID
  curl "https://workflows.eachlabs.run/api/v1/workflows/WF_ID/executions?bulk_id=BULK_ID" \
    -H "X-API-Key: YOUR_API_KEY"
  ```

  ```python Python theme={"dark"}
  import requests

  response = requests.get(
      "https://workflows.eachlabs.run/api/v1/workflows/WF_ID/executions",
      params={"limit": 10},
      headers={"X-API-Key": "YOUR_API_KEY"}
  )

  data = response.json()
  for exec in data["executions"]:
      print(f"{exec['execution_id']} | {exec['status']}")
  print(f"Total: {data['total_count']}")
  ```

  ```javascript JavaScript theme={"dark"}
  const response = await fetch(
    "https://workflows.eachlabs.run/api/v1/workflows/WF_ID/executions?limit=10",
    { headers: { "X-API-Key": "YOUR_API_KEY" } }
  );
  const data = await response.json();

  data.executions.forEach((e) => {
    console.log(`${e.execution_id} | ${e.status}`);
  });
  console.log(`Total: ${data.total_count}`);
  ```
</CodeGroup>

## Response

```json theme={"dark"}
{
  "executions": [
    {
      "execution_id": "exec-1",
      "flow_id": "wf-123",
      "flow_name": "Text to Image Generator",
      "version_id": "v1",
      "status": "completed",
      "started_at": "2025-12-20T10:00:00Z",
      "ended_at": "2025-12-20T10:05:00Z",
      "created_at": "2025-12-20T10:00:00Z",
      "updated_at": "2025-12-20T10:05:00Z"
    },
    {
      "execution_id": "exec-2",
      "flow_id": "wf-123",
      "flow_name": "Text to Image Generator",
      "version_id": "v1",
      "status": "running",
      "started_at": "2025-12-20T10:10:00Z",
      "created_at": "2025-12-20T10:10:00Z",
      "updated_at": "2025-12-20T10:10:00Z"
    }
  ],
  "offset": 2,
  "total_count": 142
}
```

### Execution Summary Fields

| Field          | Type           | Description                                      |
| -------------- | -------------- | ------------------------------------------------ |
| `execution_id` | string         | Unique execution ID                              |
| `flow_id`      | string         | Workflow UUID                                    |
| `flow_name`    | string         | Workflow name                                    |
| `version_id`   | string         | Version used                                     |
| `status`       | string         | `running`, `completed`, `failed`, or `cancelled` |
| `started_at`   | string         | When execution started                           |
| `ended_at`     | string \| null | When execution ended                             |
| `total_count`  | integer        | Total matching executions                        |

## Error Responses

| Status | Body                                      | Description            |
| ------ | ----------------------------------------- | ---------------------- |
| `400`  | `{"error": "invalid bulk_id format"}`     | Invalid UUID format    |
| `401`  | `{"error": "Invalid or missing API key"}` | Authentication failure |
| `404`  | `{"error": "workflow not found"}`         | Invalid workflow ID    |
