Skip to main content
POST
/
api
/
decks
/
{deckId}
/
slides
Create a slide
curl --request POST \
  --url https://app.demand-iq.com/api/decks/{deckId}/slides \
  --header 'Content-Type: application/json' \
  --cookie session= \
  --data '
{
  "slideId": "<string>",
  "title": "<string>",
  "narrationScript": "<string>",
  "bullets": [
    "<string>"
  ],
  "slideContext": "<string>",
  "audioUrl": "<string>",
  "heroImg": "<string>",
  "orderIndex": 123,
  "slideType": "standard"
}
'
{
  "slide": {
    "id": "3c90c3cc-0d44-4b50-8888-8dd25736052a",
    "slideId": "<string>",
    "title": "<string>",
    "bullets": [
      "<string>"
    ],
    "narration_script": "<string>",
    "orderIndex": 123,
    "slide_context": "<string>",
    "audio_url": "<string>",
    "hero_img": "<string>",
    "wordTimings": [
      {
        "word": "<string>",
        "startTime": 123,
        "endTime": 123
      }
    ]
  }
}

Authorizations

session
string
cookie
required

Session cookie obtained from POST /api/auth/login.

Path Parameters

deckId
string<uuid>
required

UUID of the deck

Body

application/json
slideId
string
required

Human-readable identifier (e.g. "slide-1")

title
string
required
narrationScript
string
required
bullets
string[]
slideContext
string | null
audioUrl
string

S3 key for pre-recorded audio

heroImg
string | null

S3 key for slide image

orderIndex
integer
slideType
enum<string>
default:standard
Available options:
standard,
product_pricing_v1

Response

Slide created

slide
object