---
title: "Get job status"
method: GET
path: "/api/job/{uid}"
tags: ["Hide", "Reveal"]
---

# Get job status

`GET /api/job/{uid}`

## Request

- Base URL: `https://snapwonders.com`
- URL: `https://snapwonders.com/api/job/{uid}`
- Auth: API key in header `X-Api-Key`

Returns the current status and progress of a steganography processing job. Poll this endpoint until `status` is `done` or `failed`. Once done, call `GET /api/job/{uid}/results` with the same `X-Api-Key` to retrieve per-file asset IDs. **Authentication:** `X-Api-Key` header required.

## Path parameters

- `uid` string, uuid, required

## Response `200`

Job status

- object
  - `upload_uid` string, uuid
  - `job_uid` string, uuid: Job UUID — identical to `upload_uid` for stego (1:1 session:job). Provided for SDK consistency across all three pipelines.
  - `reference` string
  - `job_type` 'hide' | 'reveal'
  - `status` 'pending' | 'queued' | 'processing' | 'completed' | 'failed'
  - `progress_message` string, nullable: Human-readable description of the current worker stage, e.g. "Encoding cover 2/5"
  - `queued_at` string, date-time, nullable
  - `started_at` string, date-time, nullable
  - `completed_at` string, date-time, nullable
  - `error` string, nullable: Error description when `status` is `failed`

## Other responses

- `401`: Not authenticated. `error` names the exact cause: `missing_api_key`, `malformed_api_key`, `invalid_api_key` (key unknown/revoked/expired), or — when the key itself is valid — `account_not_verified` / `account_inactive`.
- `404`: Job not found
- `410`: Session expired — sessions are valid for 24 hours from creation

---

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