> 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}

GET /api/v1/status/{job\_id} endpoint reference.

## 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. A deck can hold fewer slides than you asked for. Read `downloads[0].slide_count` for the number in the file. |
| `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)
