---
title: "List execution tasks"
method: GET
path: "/jobs/{jobId}/executions/{executionId}/tasks"
tags: ["jobs"]
---

# List execution tasks

`GET /jobs/{jobId}/executions/{executionId}/tasks`

Returns one cursor-paginated page of an execution's tasks. Tasks are derived from event history each request; only the in-memory slicing is paginated, the events scan still fetches the whole event log behind the scenes. Available starting with API version 2026-04-28.

## Path parameters

- `jobId` string, required
- `executionId` string, required

## Query parameters

- `cursor` string
- `limit` integer
- `sort` 'createdAt:desc' | 'createdAt:asc' | 'name:asc' | 'name:desc'
- `q` string

## Response `200`

successful operation

- JobExecutionTaskList — Cursor-paginated list of an execution's tasks. Tasks are derived from event history; pagination slices the in-memory list and the cursor is a base64-JSON offset bound to (workspace, job, execution).
  - `data` JobExecutionTask[] — Page of execution tasks.
    - `conditions` JobExecutionTaskCondition[] — Task conditions
      - `executionReason` string — Execution reason
      - `message` string — Condition message
      - `reason` string — Condition reason
      - `severity` string — Condition severity
      - `state` string — Condition state
      - `type` string — Condition type
    - `metadata` JobExecutionTaskMetadata — Job execution task metadata
      - `completedAt` string — Completion timestamp
      - `createdAt` string — Creation timestamp
      - `name` string — Task name
      - `scheduledAt` string — Scheduled timestamp
      - `startedAt` string — Start timestamp
      - `updatedAt` string — Last update timestamp
    - `spec` JobExecutionTaskSpec — Job execution task specification
      - `maxRetries` integer — Maximum number of retries
      - `timeout` string — Task timeout duration
    - `status` 'unspecified' | 'pending' | 'reconciling' | 'failed' | 'succeeded' | 'running' | 'cancelled' — Job execution task status
  - `meta` PaginationMeta — Pagination metadata returned alongside a page of listing results. Always present on listing endpoints starting with API version 2026-04-28.
    - `hasMore` boolean — True when more pages are available beyond the current one.
    - `nextCursor` string — Opaque cursor to pass back as the `cursor` query param for the next page. Empty when there are no more pages.
    - `total` integer — Total number of items in the workspace, ignoring the current page's filters. Lets the UI render "page X of Y" without walking the cursor chain. Computed from the hash-only metadata.workspace GSI count, so search (`q`) does not narrow it.

## Other responses

- `400` — bad request
- `404` — job or execution not found
- `500` — internal server error

---

[API](https://skmtc.net/blaxel/apis/blaxel-control-plane.md) · [All operations](https://skmtc.net/blaxel/apis/blaxel-control-plane/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/blaxel/blaxel-control-plane/versions/dfa264bc72ee/schema)
