---
title: "List background jobs"
method: GET
path: "/v3/background-jobs"
tags: ["Background Jobs"]
---

# List background jobs

`GET /v3/background-jobs`

<small>_Requires the `other:read` scope (or a broader one that includes it)._</small>

Returns a paginated list of background jobs created by the current user. Optionally filter by category suffix.

## Query parameters

- `top` integer
- `skip` integer
- `category` string

## Response `200`

Paginated list of background jobs

- object
  - `items` object[]
    - `jobId` string, uuid — Unique identifier for the background job
    - `status` 'Scheduled' | 'Processing' | 'Done' | 'Failed' | 'Expired' | 'Cancelled' | 'Unknown' — Current job status. One of `Scheduled`, `Processing`, `Done`, `Failed`, `Expired`, `Cancelled`, or `Unknown` for unrecognized terminal states.
    - `category` string, nullable — Job category, e.g. `r2/bg-jobs/email-validation`
    - `startedAt` string, date-time — When the job started
    - `finishedAt` string, date-time, nullable — When the job reached a terminal state, or null if still running
    - `progress` number, double, nullable — Job progress in `[0..1]`. Null if the job hasn't reported progress yet.
  - `hasMore` boolean — Whether more items are available beyond the current page

## Other responses

- `400` — Invalid pagination parameters
- `401` — Unauthorized. The response body is empty; check the `WWW-Authenticate` header for the expected scheme.
- `429` — Too Many Requests
- `503` — Upstream background-jobs service is temporarily unavailable

---

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