Skip to main content
curl "https://api.chroniclehq.com/api/v1/presentations/generate/gen_123/message" \
  -X POST \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "We help teams turn ideas into polished interactive presentations.",
    "attachments": [
      {
        "id": "att_456",
        "url": "https://chronicle-attachments.s3.us-east-1.amazonaws.com/...",
        "file_name": "case-study.pdf",
        "type": "application/pdf"
      }
    ]
  }'
{
  "status": "generating"
}
curl "https://api.chroniclehq.com/api/v1/presentations/generate/gen_123/message" \
  -X POST \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "content": "We help teams turn ideas into polished interactive presentations.",
    "attachments": [
      {
        "id": "att_456",
        "url": "https://chronicle-attachments.s3.us-east-1.amazonaws.com/...",
        "file_name": "case-study.pdf",
        "type": "application/pdf"
      }
    ]
  }'

Parameters

generationId
string
required
The generation job ID
content
string
required
The user’s reply to Chronicle’s clarifying question. Sent as-is into the same generation conversation.
attachments
object[]
Optional list of files to attach to the follow-up message. Same shape as on POST /presentations/generate — upload each file via POST /uploads/create-target first, then pass the returned download_url along with id, file_name, and type. All four fields are required on each entry.

Response

After accepting the follow-up, resume polling GET /presentations/generate/:generationId/status on the same generationId.
{
  "status": "generating"
}
status
string
Confirms the follow-up was accepted and generation is resuming. Continue polling the status endpoint with the original generationId.

FAQs

Call this endpoint when the generation status is awaiting_input.It sends the user’s response back into the same generation flow.
Yes. Some generation flows require multiple follow-up messages before completion.Continue until the status changes to completed or failed.
Resume polling the generation status endpoint.That tells you whether generation is continuing, needs more input, or has finished.
Yes. Upload each file via POST /uploads/create-target first, then pass the captured download_url (with id, file_name, and type) in the attachments array — same shape as on POST /presentations/generate.