---
title: "Get job status (lightweight)"
method: GET
path: "/jobs/{id}/status"
tags: ["Jobs"]
---

# Get job status (lightweight)

`GET /jobs/{id}/status`

## Request

- Base URL: `https://api.varg.ai/v2`
- URL: `https://api.varg.ai/v2/jobs/{id}/status`
- Auth: HTTP bearer

Minimal status projection — cheaper to poll than the full job view.

## Path parameters

- `id` string, required

## Response `200`

Status

- object
  - `id` string
  - `status` 'queued' | 'running' | 'awaiting_confirmation' | 'completed' | 'failed' | 'cancelled': The status only moves forward: `queued` → `running` → `completed`, `failed` or `cancelled`. Everything a running job goes through — sending to the provider, uploading references, switching to another provider — is a `stage` of `running`; a job never goes back to `queued`. (Older API builds also reported `submitting`; treat it as `running`.) `awaiting_confirmation` (multi-step pipelines only): the job finished a step that asks for review and waits for `POST /jobs/{id}/confirm`. It is not terminal.
  - `stage` 'queued' | 'submitting' | 'uploading_references' | 'rendering' | 'retrying' | 'finalizing' | 'null', nullable: What the job is doing right now. `null` once the job is terminal, and while the job is `awaiting_confirmation`. - `queued` — waiting for a slot; no attempt yet - `submitting` — being sent to the provider - `uploading_references` — the provider is taking the reference files into its asset library (`progress_message` shows `n/m`) - `rendering` — the provider accepted the task and is generating - `retrying` — an attempt failed (the provider refused, failed or rate limited it); the job waits for its next attempt, usually on another provider. See `attempts`. - `finalizing` — the result is being saved and billed
  - `provider_status` string, nullable
  - `progress_message` string, nullable
  - `progress` number, nullable: Numeric fraction 0..1 for a progress bar
  - `error` string, nullable: Human-readable failure message. `null` unless the job failed or was cancelled.

## Other responses

- `400`: Invalid job id: must start with `job_` (`invalid_request`)
- `401`: Missing or invalid API key / JWT
- `404`: Unknown job (or not owned by the caller)

## Changes

- **2026-10-20** `43bcf5ea398d`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/varg/apis/varg-api/changes/jobs/:id/status/get.md)

---

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