Skip to content

List jobs by status and type

GET
/admin/jobs

Read-only admin view of the job queue (#400). Paginated, ordered priority ASC then enqueued_at ASC (the run order). Optional status + type filters. Each row carries age_seconds (NOW() - enqueued_at) so the UI needn’t trust a client clock. Gated on system.jobs.read (or system.admin). No write path.

status
string

Filter by status (pending/running/done/failed/cancelled). Omit for all.

type
string

Filter by job type (e.g. preview.raster). Omit for all.

limit
integer
default: 50 >= 1 <= 200
offset
integer
0

A page of jobs + the total under the same filter.

object
items
required
Array<object>
object
id
required
string format: uuid
type
required
string
status
required
string
Allowed values: pending running done failed cancelled
priority
required
integer
attempts
required
integer
max_attempts
required
integer
claimed_by
string
nullable
claimed_at
string format: date-time
nullable
lease_expires_at
string format: date-time
nullable
last_error
string
nullable
origin_server_id
string format: uuid
nullable
scheduled_for
string format: date-time
nullable
enqueued_at
string format: date-time
nullable
started_at
string format: date-time
nullable
finished_at
string format: date-time
nullable
age_seconds
required

Seconds since the job was enqueued (server-computed).

integer format: int64
total
required

Total jobs under the same status+type filter, ignoring limit/offset.

integer format: int64

Authentication required, missing, or invalid

object
error
required

Human-readable error summary

string
Example
the request could not be completed
Example
{
"error": "authentication required: sign in and retry with a valid session or API token"
}

Authenticated but missing required capabilities

object
error
required

Human-readable error summary

string
Example
the request could not be completed