> For the complete documentation index, see [llms.txt](https://docs.perceptis.ai/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.perceptis.ai/api-reference/get-status.md).

# GET /api/v1/status/{job\_id}

## Purpose

Return the current state of a generation job created with the same API key. When `status` is `completed`, the response includes short-lived download URLs for `.pptx` output.

## Request

| Item            | Value                                                 |
| --------------- | ----------------------------------------------------- |
| Method and path | `GET {PERCEPTIS_API_BASE_URL}/api/v1/status/{job_id}` |
| Auth            | `Authorization: Bearer <api-key>`                     |
| Path parameter  | `job_id` from the generate response                   |

## Status values

| Status       | Meaning                                     |
| ------------ | ------------------------------------------- |
| `pending`    | The job has been accepted.                  |
| `processing` | The job is being generated.                 |
| `completed`  | The PowerPoint output is ready to download. |
| `failed`     | Generation failed. See the `error` object.  |

## Responses

| HTTP  | Meaning                                                                                                                                                                |
| ----- | ---------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| `200` | Status payload returned.                                                                                                                                               |
| `401` | Missing, invalid, or revoked API key.                                                                                                                                  |
| `403` | Organization is not eligible for API access. Perceptis API usage requires a paid Business or Enterprise plan; Free, Starter, and trial organizations are not eligible. |
| `404` | Unknown job, or the job was not created with this API key.                                                                                                             |
| `429` | Polling too quickly. Use `Retry-After` and back off.                                                                                                                   |

Example completed response:

```json
{
  "job_id": "550e8400-e29b-41d4-a716-446655440000",
  "status": "completed",
  "output_type": "single_slide",
  "downloads": [
    {
      "url": "https://app.perceptis.ai/downloads/550e8400-e29b-41d4-a716-446655440000.pptx?expires=3600&signature=...",
      "format": "pptx",
      "variant": 1
    }
  ],
  "error": null
}
```

Download URLs are short-lived. For completed jobs, poll this endpoint again whenever you need fresh links. Downloads can be refreshed while the generated files remain available, but only with the same API key that created the job.

## See also

* [Errors, rate limits, and billing](/perceptis-api-v1/errors-and-limits.md)
* [Quickstart: single slide](/perceptis-api-v1/quickstart-single-slide.md) (polling example)
