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

# List Execution Events

List events for a specific execution, newest or oldest first, with cursor pagination.

## **POST** `/revisions/:id/data/query` (Command: `list_execution_events`)

### Request Body

| Parameter        | Type    | Required | Description                                                              |
| :--------------- | :------ | :------- | :----------------------------------------------------------------------- |
| `engine`         | string  | Yes      | Must be `workflow_blobhub`.                                              |
| `command`        | string  | Yes      | Must be `list_execution_events`.                                         |
| `execution_id`   | string  | Yes      | The ID of the execution.                                                 |
| `created_since`  | string  | No       | Return events with `created_at > created_since`.                         |
| `created_before` | string  | No       | Return events with `created_at < created_before`.                        |
| `ascending`      | boolean | No       | Sort direction. Default `false` (newest first).                          |
| `cursor`         | string  | No       | Opaque page cursor from a previous response's `cursor`. Omit for page 1. |
| `limit`          | integer | No       | Max events per page, 1–1000 (out-of-range → 400). Default `10`.          |

### Response

| Parameter          | Type   | Description                                                              |
| :----------------- | :----- | :----------------------------------------------------------------------- |
| `execution_events` | array  | Page of event objects.                                                   |
| `cursor`           | string | Opaque cursor for the next page, or `null` when there are no more pages. |

**Pagination.** Pass the response `cursor` back as the request `cursor` to fetch the next page; stop when `cursor`
is `null`. The cursor is opaque — send it back verbatim. An invalid or expired cursor returns `400 invalid_cursor`.
This is the same `cursor` + `limit` contract used by every `list_*` command.

### Example

<CodeGroup>
  ```json Request theme={null}
  {
    "engine": "workflow_blobhub",
    "command": "list_execution_events",
    "execution_id": "exec_001",
    "limit": 50
  }
  ```

  ```json Response theme={null}
  {
    "status": "success",
    "execution_events": [],
    "cursor": null
  }
  ```
</CodeGroup>
