Jobs

Pay for a quote and start a job, then poll it until the asset is ready.

Create a job

POST /api/v1/asset-jobs/
Authorization: Bearer rbk_...
Idempotency-Key: 5b2f0c1e-...
Content-Type: application/json
{ "quote_id": "7c0e..." }

Needs assets:write. The Idempotency-Key header (or an idempotency_key field) is required: 1–128 letters, digits, ., _, : or -. A UUID works. Sending the same key again returns the same job instead of paying twice.

HTTP 202 for a new job, or HTTP 200 for a replay:

{
    "id": "41b8...",
    "status": "queued",
    "model": "flux-2-flash",
    "input": { "prompt": "mossy stone tile, top-down", "asset_type": "texture_tile", "seed": 18342 },
    "idempotency_key": "5b2f0c1e-...",
    "credits": 250,
    "charged_credits": 250,
    "refunded_credits": 0,
    "asset": null,
    "error": null,
    "created_at": "2026-10-27T18:04:11Z",
    "completed_at": null,
    "deadline_at": "2026-10-27T18:14:11Z"
}

Credits are charged when the job starts and returned if it fails.

Get a job

GET /api/v1/asset-jobs/{job_id}/
Authorization: Bearer rbk_...

Needs assets:read. status is queued, running, succeeded, failed, canceled or timed_out. Poll with backoff; when it's succeeded, asset has the result and its url. When it fails, error has the reason.

List jobs

GET /api/v1/asset-jobs/

The account's jobs, newest first, paginated.

On this page