---
title: "Get job status"
method: GET
path: "/v1/jobs/{job_id}"
tags: ["Jobs"]
---

# Get job status

`GET /v1/jobs/{job_id}`

## Request

- Base URL: `https://api.winnr.app`
- URL: `https://api.winnr.app/v1/jobs/{job_id}`
- Auth: HTTP bearer

Get the status of an async job.

## Path parameters

- `job_id` string, required

## Response `200`

Job details

- JobResponse
  - `data` Job: An async job tracking a long-running operation (domain setup/deletion, warming enable/disable, etc.). **Lifecycle:** `status` starts as `pending`, transitions to `in_progress` once the worker picks up the message, and ends as `completed` or `failed`. On `failed`, the `error` object describes what went wrong. **Progress map:** `progress` is a map of step name to step status (`pending` → `in_progress` → `completed`/`failed`/`skipped`). Step names depend on job type: - `domain_setup`: any subset of `registration`, `mailcow`, `dns_zone`, `dns_records` (only the steps requested by the original setup call are present) - `domain_delete`: `dns`, `mailcow`, `firebase` - `email_user_delete`, `warming_enable`, `warming_disable`: counter-shaped progress with `total`, `completed`, `failed` integer fields
    - `job_id` string: Unique job identifier.
    - `type` 'domain_setup' | 'domain_delete' | 'email_user_delete' | 'warming_enable' | 'warming_disable'
    - `status` 'pending' | 'in_progress' | 'completed' | 'failed'
    - `progress` object: Per-step progress for named-step jobs (domain_setup/domain_delete) or counter-shaped progress (`{total, completed, failed}`) for batch jobs.
    - `result` object, nullable: Operation result (shape varies by job type). `null` until job completes.
    - `error` object, nullable: Error details when `status=failed`.
      - `message` string
    - `created_at` string, date-time
    - `updated_at` string, date-time
    - `completed_at` string, date-time, nullable
  - `meta` Meta
    - `request_id` string
    - `timestamp` string, date-time

## Other responses

- `401`: Authentication required or token invalid
- `404`: Resource not found

---

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