Skip to main content
curl "https://api.chroniclehq.com/api/v1/presentations/generate/gen_123/status" \
  -H "Authorization: Bearer $API_KEY"
{
  "generation_id": "gen_123",
  "status": "generating",
  "progress": {
    "slides_total": 9,
    "slides_completed": 3,
    "current_step": "Creating slide 4 of 9"
  },
  "tokens_used": 12450
}

Documentation Index

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

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

curl "https://api.chroniclehq.com/api/v1/presentations/generate/gen_123/status" \
  -H "Authorization: Bearer $API_KEY"

Parameters

generationId
string
required
The generation job ID

Response

{
  "generation_id": "gen_123",
  "status": "generating",
  "progress": {
    "slides_total": 9,
    "slides_completed": 3,
    "current_step": "Creating slide 4 of 9"
  },
  "tokens_used": 12450
}

Common fields

generation_id
string
Generation job ID
status
string
Current generation status: one of generating, awaiting_input, completed, failed.

When status = “generating”

progress
object
Optional progress object. Present once Chronicle has begun generating slides.
tokens_used
number
Optional running token total for this generation. Present when non-zero.

When status = “awaiting_input”

message
string
Clarifying question or follow-up prompt from Chronicle. Reply via POST /presentations/generate/:generationId/message.

When status = “completed”

presentation
object
The materialized presentation. Same shape as GET /presentations/:id.
tokens_used
number
Optional total tokens consumed by the generation. Present when non-zero.

When status = “failed”

error
string
Human-readable failure reason (for example Generation timed out or a propagated upstream error message).

FAQs

Poll at a short interval, such as every few seconds.Avoid polling in a tight loop.
Your client should handle these statuses:
  • generating
  • completed
  • failed
  • awaiting_input
When generation completes, Chronicle returns the final presentation object.That response includes the information you need to open or continue working with the presentation.
Treat failed as a terminal state and surface the error clearly in your app or logs.Do not continue polling after generation has failed.
Yes. The status response can include progress details while the presentation is being generated.Use those fields to give users better feedback than a generic loading state.