---
title: "List a job's items"
method: GET
path: "/api/v1/jobs/{id}/items"
tags: ["Job Management"]
---

# List a job's items

`GET /api/v1/jobs/{id}/items`

## Request

- Base URL: `https://api.imagestep.dev`
- URL: `https://api.imagestep.dev/api/v1/jobs/{id}/items`
- Auth: API key in header `Authorization`

One page of a job's items, in item order (`index`, from 0) — the number the rest of the API names an
item by, in events and in a resume.

`GET /api/v1/jobs/{id}` carries the first 100 items inline and sets `itemsTruncated` when there are more; this is how to read the rest. A batch
takes up to 10000 assets, each times its variants, so the whole list is not something to hold in a context or
re-read on every poll.

USE THIS WHEN:
- A job says `itemsTruncated` and you need an item past the first page
- You want only the failed ones, to decide whether a resume is worth its price (`status=FAILED`)

DO NOT USE WHEN:
- You want the assets the job produced → `GET /api/v1/assets?jobId={id}`, which is the run's products without the items around them

## Path parameters

- `id` string, required

## Query parameters

- `page` integer
- `perPage` integer
- `cursor` string
- `status` 'PENDING' | 'PROCESSING' | 'COMPLETED' | 'FAILED' | 'CANCELLED'

## Response `200`

One page of items, with `meta`

## Other responses

- `404`: `job_not_found` — no such job, or it is not yours
- `429`: Rate limited — `error.code` is `rate_limited` and `retryable` is true. `Retry-After` says how many seconds to wait.

---

[API](https://skmtc.dev/imagestep/apis/imagestep-api.md) · [All operations](https://skmtc.dev/imagestep/apis/imagestep-api/llms.txt) · [OpenAPI document](https://skmtc.dev/imagestep/apis/imagestep-api/revisions/5e8e922a3085?raw)
