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

# List job executions

`GET /jobs/{jobId}/executions`

Returns executions for a batch job. Starting with API version 2026-04-28 the response is wrapped in `{data, meta}` and supports cursor pagination via the `cursor` and `limit` query parameters; older versions keep the legacy offset/limit contract and return a bare array.

## Path parameters

- `jobId` string, required

## Query parameters

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

## Response `200`

successful operation

- JobExecutionList — Cursor-paginated list of job executions. Returned starting with API version 2026-04-28; older API versions keep the legacy offset-based contract and return a bare array.
  - `data` JobExecution[] — Page of job executions.
    - `metadata` JobExecutionMetadata, required — Job execution metadata
      - `cluster` string — Cluster ID
      - `completedAt` string — Completion timestamp
      - `createdAt` string — Creation timestamp
      - `deletedAt` string — Deletion timestamp
      - `expiredAt` string — Expiration timestamp
      - `id` string — Execution ID
      - `job` string — Job name
      - `startedAt` string — Start timestamp
      - `updatedAt` string — Last update timestamp
      - `workspace` string — Workspace ID
    - `spec` JobExecutionSpec, required — Job execution specification
      - `envOverride` object — Environment variable overrides (if provided for this execution, values are masked with ***)
      - `memoryOverride` integer — Memory override in megabytes (if provided for this execution)
      - `parallelism` integer — Number of parallel tasks
      - `tasks` JobExecutionTask[] — List 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
      - `timeout` integer — Job timeout in seconds (captured at execution creation time)
    - `stats` JobExecutionStats — Job execution statistics
      - `cancelled` integer — Number of cancelled tasks
      - `failure` integer — Number of failed tasks
      - `retried` integer — Number of retried tasks
      - `running` integer — Number of running tasks
      - `success` integer — Number of successful tasks
      - `total` integer — Total number of tasks
    - `status` 'queued' | 'pending' | 'running' | 'cancelling' | 'cancelled' | 'failed' | 'succeeded' | 'timeout' — Job execution status
    - `tasks` JobExecutionTask[] — List 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
- `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)
