---
title: "List jobs with pagination and filtering"
method: GET
path: "/api/jobs"
tags: ["workflow"]
---

# List jobs with pagination and filtering

`GET /api/jobs`

Retrieve a paginated list of jobs for the authenticated user.
Returns lightweight job data optimized for list views.
Workflow and full outputs are excluded to reduce payload size.

## Query parameters

- `status` string
- `workflow_id` string
- `output_type` 'image' | 'video' | 'audio' | '3d'
- `sort_by` 'create_time' | 'execution_time'
- `sort_order` 'asc' | 'desc'
- `after` string
- `offset` integer
- `limit` integer

## Response `200`

Success - Jobs retrieved

- JobsListResponse — Paginated list of jobs for the authenticated user.
  - `jobs` JobEntry[], required — Array of jobs ordered by specified sort field
    - `create_time` integer, required — Job creation timestamp (Unix timestamp in milliseconds)
    - `execution_end_time` integer — Workflow execution completion timestamp (Unix milliseconds, only present for terminal states)
    - `execution_error` ExecutionError — Detailed execution error information from ComfyUI
      - `current_inputs` object, required — Input values at time of failure (empty object if not available)
      - `current_outputs` object, required — Output values at time of failure (empty object if not available)
      - `exception_message` string, required — Human-readable error message
      - `exception_type` string, required — Python exception type (e.g., "RuntimeError")
      - `node_id` string, required — ID of the node that failed
      - `node_type` string, required — Type name of the node (e.g., "KSampler")
      - `traceback` string[], required — Array of traceback lines (empty array if not available)
    - `execution_start_time` integer — Workflow execution start timestamp (Unix milliseconds, only present for terminal states)
    - `id` string, uuid, required — Unique job identifier
    - `outputs_count` integer — Total number of output files (omitted for non-terminal states)
    - `preview_output` object — Primary preview output (only present for terminal states)
    - `status` 'pending' | 'in_progress' | 'completed' | 'failed' | 'cancelled', required — User-friendly job status
    - `workflow_id` string — UUID identifying the workflow graph definition
  - `pagination` PaginationInfo, required — Pagination metadata included in list responses. Supports both legacy offset/limit pagination and cursor-based pagination. When cursor-based pagination is used, `next_cursor` is the primary pagination token and `offset`/`total` may be zero.
    - `has_more` boolean, required — Whether more items are available beyond this page
    - `limit` integer, required — Items per page
    - `next_cursor` string — Opaque cursor for the next page. Pass this value as the `after` query parameter on the next request. Empty or absent when there are no more results.
    - `offset` integer, required — Current offset (0-based). Deprecated: use cursor-based pagination.
    - `total` integer, required — Total number of items matching filters (may be 0 when using cursor pagination)

## Other responses

- `400` — Bad request (e.g. malformed pagination cursor).
- `401` — Unauthorized - Authentication required
- `500` — Internal server error

---

[API](https://skmtc.net/comfy-org/apis/comfyui-api.md) · [All operations](https://skmtc.net/comfy-org/apis/comfyui-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/comfy-org/comfyui-api/revisions/a3660438bbe9/schema)
