> ## Documentation Index
> Fetch the complete documentation index at: https://developers.supapost.so/llms.txt
> Use this file to discover all available pages before exploring further.

# Get Job

> Poll the status of an async job

Returns the status and (if completed) result of an async job. Use this endpoint to poll jobs created by passing `?async=true` to `/generate/image` or `/render`.

## Authentication

<ParamField header="Authorization" type="string">
  Bearer token. `Bearer <api-key-or-jwt>`.
</ParamField>

## Path Parameters

<ParamField path="id" type="string" required>
  The job ID returned by the `?async=true` endpoint.
</ParamField>

## Lifecycle

Jobs progress through these states:

* `pending` — queued, not yet picked up by a consumer
* `processing` — actively generating
* `completed` — finished, `result` is populated
* `failed` — something went wrong, `error` is populated

Polling: client-side code typically polls every 1–2 seconds until `status` is `completed` or `failed`.

<ResponseExample>
  ```json 200 (processing) theme={null}
  {
    "id": "0b1e9a5f-1234-4d8c-b2a0-...",
    "type": "image_gen",
    "status": "processing",
    "result": null,
    "error": null,
    "created_at": "2026-04-11T10:00:00Z",
    "updated_at": "2026-04-11T10:00:02Z"
  }
  ```

  ```json 200 (completed) theme={null}
  {
    "id": "0b1e9a5f-1234-4d8c-b2a0-...",
    "type": "image_gen",
    "status": "completed",
    "result": {
      "url": "https://cdn.supapost.so/assets/team-uuid/1712000000-generated.jpg",
      "width": 1080,
      "height": 1920,
      "content_type": "image/jpeg"
    },
    "error": null,
    "created_at": "2026-04-11T10:00:00Z",
    "updated_at": "2026-04-11T10:00:08Z"
  }
  ```

  ```json 200 (failed) theme={null}
  {
    "id": "0b1e9a5f-1234-4d8c-b2a0-...",
    "type": "image_gen",
    "status": "failed",
    "result": null,
    "error": "nsfw content detected",
    "created_at": "2026-04-11T10:00:00Z",
    "updated_at": "2026-04-11T10:00:04Z"
  }
  ```

  ```json 404 theme={null}
  {
    "success": false,
    "message": "Job not found"
  }
  ```
</ResponseExample>
