Skip to main content
GET
/
api
/
v1
/
presentations
/
{generation_id}
/
status
Get generation status
curl --request GET \
  --url https://api.example.com/api/v1/presentations/{generation_id}/status \
  --header 'X-API-Key: <api-key>'
{
  "generation_id": "gen_abc123def456",
  "status": "completed",
  "created_at": "2023-11-07T05:31:56Z",
  "progress": 100,
  "current_step": "Generating slide 2 of 5",
  "message": "Generated 6 pages from 5/5 slides",
  "total_slides_requested": 5,
  "total_pages_generated": 6,
  "slide_results": [
    {
      "slide_index": 0,
      "template_slide_id": "slide_abc123def456",
      "status": "completed",
      "pages_generated": 1,
      "error": "<string>"
    }
  ],
  "file_size": 524288,
  "download_url": "https://storage.example.com/download/gen_abc123.pptx?token=xyz",
  "download_url_expires_in": 3600,
  "error": {
    "code": "GENERATION_FAILED",
    "message": "Template not found"
  },
  "started_at": "2023-11-07T05:31:56Z",
  "completed_at": "2023-11-07T05:31:56Z"
}

Documentation Index

Fetch the complete documentation index at: https://duomi.mintlify.app/llms.txt

Use this file to discover all available pages before exploring further.

Authorizations

X-API-Key
string
header
required

Production API key. Development/test deployments may also allow X-Org-Name.

Path Parameters

generation_id
string
required

Response

Status retrieved successfully

Response schema for generation status polling.

Poll this endpoint every 2-5 seconds until status is a terminal state (completed, partial, or failed).

Status values:

  • pending - Request queued, not yet started
  • processing - Generation in progress (check progress and current_step)
  • completed - All slides generated successfully
  • partial - Some slides succeeded, some failed (check slide_results for details)
  • failed - Generation failed completely (check error for details)

Download: When status is completed or partial, download_url contains a time-limited URL to download the generated or updated .pptx file.

generation_id
string
required

Generation ID being queried.

Example:

"gen_abc123def456"

status
string
required

Current status: pending, processing, completed, partial, or failed.

Example:

"completed"

created_at
string<date-time>
required

When the generation request was created.

progress
integer
default:0

Progress percentage from 0 to 100. Useful for displaying progress bars.

Required range: 0 <= x <= 100
Example:

100

current_step
string | null

Human-readable description of current processing step. Null when complete.

Example:

"Generating slide 2 of 5"

message
string | null

Summary message, typically shown when complete.

Example:

"Generated 6 pages from 5/5 slides"

total_slides_requested
integer
default:0

Total number of slides in the original request.

Example:

5

total_pages_generated
integer
default:0

Total pages in the generated deck. May exceed total_slides_requested when table pagination creates additional pages.

Example:

6

slide_results
DeckSlideResult · object[] | null

Per-slide generation results. Available when status is completed, partial, or failed. Check each slide's status and error fields for details.

file_size
integer | null

Size of the generated .pptx file in bytes. Available when complete.

Example:

524288

download_url
string | null

Time-limited URL to download the generated .pptx file. Available when status is completed or partial. Expires after download_url_expires_in seconds.

Example:

"https://storage.example.com/download/gen_abc123.pptx?token=xyz"

download_url_expires_in
integer | null

Seconds until download_url expires. Typically 3600 (1 hour).

Example:

3600

error
Error · object

Error details when status is failed. Contains code and message fields.

Example:
{
"code": "GENERATION_FAILED",
"message": "Template not found"
}
started_at
string<date-time> | null

When processing started. Null if still pending.

completed_at
string<date-time> | null

When processing completed (success or failure). Null if still in progress.