---
title: "Get Generation Request"
method: GET
path: "/requests/{request_id}"
tags: ["requests"]
---

# Get Generation Request

`GET /requests/{request_id}`

## Request

- Base URL: `https://api.presentations.ai/api/v1`
- URL: `https://api.presentations.ai/api/v1/requests/{request_id}`
- Auth: HTTP bearer

Get deck-generation status by the caller's request ID.

## Path parameters

- `request_id` string, required

## Response `200`

Successful Response

- DeckGenerationRequestResponse: Public generation lifecycle keyed only by request ID and deck ID.
  - `request_id` string, required: Caller request ID used to safely replay this deck creation.
  - `deck_id` string, uuid, required
  - `status` 'CREATED' | 'RUNNING' | 'COMPLETED' | 'FAILED', required: Lifecycle state of an async task.
  - `stage` 'QUEUED' | 'OUTLINE' | 'SLIDES' | 'EXPORT' | 'COMPLETED' | 'FAILED' | 'ENRICHING' | 'SCRAPING' | 'ANALYZING' | 'GENERATING_VISUALS' | 'SAVING', required: Durable, caller-visible deck-generation stage.
  - `status_url` string, uri, required: Canonical URL to poll for this request.
  - `error` string, nullable, required: Sanitized terminal failure message; non-null only when status is FAILED.
  - `created_at` string, date-time, required
  - `updated_at` string, date-time, required
  - `warnings` TaskWarning[]: Nonterminal degradations encountered while generation continued.
    - `message` string, required
    - `stage` string, required
    - `source` string, required
    - `retryable` boolean
    - `occurred_at` string, date-time, required
  - `export` ExternalDeckExportResponse: External export artifact projection.
    - `id` string, uuid, required
    - `deck_id` string, uuid, required
    - `format` 'PPTX' | 'PDF' | 'IMAGE', required: Artifact format produced by the converter (PPTX) or the renderer (PDF/IMAGE).
    - `content_type` string, required
    - `size_bytes` integer, required
    - `download_url` string, required
    - `created_at` string, date-time, required

## Other responses

- `401`: Missing, malformed, expired, or revoked Bearer API key.
- `403`: The API key, workspace role, project scope, or plan lacks permission.
- `404`: The resource does not exist or is outside the caller's scope.
- `422`: A path, query, header, or request-body field failed validation.
- `429`: The caller exceeded the API rate limit.
- `500`: Unexpected server failure. Retry only idempotent operations and retain trace_id.

---

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