For AI agents: this page is also available as Markdown at https://docs.refabric.com/api-reference/platform/jobs/list-jobs.md, and the index of every page is https://docs.refabric.com/llms.txt.

Platform API › Jobs

List jobs

Your jobs, newest first — every job of the account, whichever key or the app started it; each row names the key that started it.

GEThttps://api.refabric.com/v1/jobs
import os
import requests

url = "https://api.refabric.com/v1/jobs"

headers = {"Authorization": f"Key {os.environ['REFABRIC_API_KEY']}"}

response = requests.get(url, headers=headers)

print(response.json())
{
  "items": [],
  "next_cursor": "eyJsIjoiY2hhbmdlbG9nIn0",
  "has_more": false
}

Filters and sorting

  • outcome takes several values, repeated (?outcome=failed&outcome=cancelled) or comma-separated; a job that has not ended has no outcome.
  • start / end narrow by the time a job was queued, [start, end); without either, every job is listed.

Authentication. A key with jobs:read: a job and its files are your account's.

Key features

  • Pages of 50 jobs by default, 200 at most; newest first.
  • At most 50 values per filter; a window of 90 days at most.

Common use cases

  • Find the jobs that failed yesterday.
  • List the jobs one key started.

See also

  • GET /v1/jobs/{job_id}
  • GET /v1/account/usage

Authorization

Authorization: Key $REFABRIC_API_KEYScope: jobs:read

Parameters

Query parameters

  • integeroptionalDefault: 50

    Items per page: default 50, at most 200.

    1 to 200

  • stringoptionalnullable

    The previous page's next_cursor, copied back as it came, for the next page. Never build one.

  • stringoptionalnullable

    Inclusive, ISO-8601 (2026-09-01T00:00:00Z; no zone means UTC). Default: 30 days before end. The window is at most 90 days.

    format: date-time

  • stringoptionalnullable

    Exclusive, ISO-8601 (no zone means UTC). Default: now.

    format: date-time

  • stringoptionalnullable

    Only jobs started with this key of yours (key_…, its public id).

  • stringoptionalnullable

    Only jobs of this task (image.generate).

  • stringoptional

    Only jobs at this lifecycle.

    Values

    • queued — Accepted and waiting to start.
    • running — Being made.
    • terminal — Ended. outcome says how.
  • array<string>optionalnullable

    Only jobs with one of these outcomes: succeeded, failed or cancelled; several values are any of them. A job that has not ended has no outcome.

Header parameters

  • stringoptional

    The contract version you wrote against (a date). Absent: the current version.

    format: date

  • stringoptional

    Your own id for this request; we answer it back under X-Client-Request-ID.

    max length 128

Response

200 — Done: the answer is in the body.

  • array<object>required

    This page's items, in the listing's order.

  • booleanrequired

    Whether another page follows this one.

    Example: false

  • stringoptionalnullable

    Send it back as cursor for the next page. Absent on the last page. Opaque: never build or edit one.

    Example: eyJsIjoiY2hhbmdlbG9nIn0

  • 400 — The request cannot be read as it was sent (a header, the URL or the body's form).
  • 401 — No valid API key was sent.
  • 403 — Your key or your plan does not allow this.
  • 422 — A field is missing or has a value this operation cannot use.
  • 429 — Too many requests: wait for the number of seconds in the Retry-After header.
  • 500 — Something went wrong on our side; retry, and quote the request id if it keeps happening.