Skip to content

Generate pitch deck via Gamma API

POST
/api/canvas/{deal_id}/ip/generate-deck
curl --request POST \
--url https://example.com/api/canvas/example/ip/generate-deck \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{ "deck_mode": "pitch" }'

Generates a polished marketing presentation via the Gamma HTTP API. Assembles deal data into slides, calls Gamma, polls for completion, and returns the presentation URL.

deal_id
required
Deal Id
string
Media type application/json
Any of:
IPDeckModeRequest

Optional body for POST /ip/generate-deck and POST /ip/preview-deck.

object
deck_mode
Deck Mode
string
default: detailed
Allowed values: pitch detailed

Successful Response

Media type application/json
IPDeckGenerateResponse

Response for full Gamma deck generation (HTTP API).

object
success
required
Success
boolean
gamma_url
Any of:
string
pdf_url
Any of:
string
generation_id
Any of:
string
deal_type
Any of:
string
deal_type_raw
Any of:
string
deal_type_unknown
Deal Type Unknown
boolean
slide_count
Slide Count
integer
0
slides_dropped
Slides Dropped
Array<string>
default:
sparse_data
Sparse Data
boolean
completeness_report
Any of:
object
key
additional properties
any
deck_mode
Any of:
string
error
Any of:
string
Example
{
"deal_type_unknown": false,
"slide_count": 0,
"slides_dropped": [],
"sparse_data": false
}

Validation Error

Media type application/json
HTTPValidationError
object
detail
Detail
Array<object>
ValidationError
object
loc
required
Location
Array
msg
required
Message
string
type
required
Error Type
string
input
Input
ctx
Context
object
Example generated
{
"detail": [
{
"loc": [
"example"
],
"msg": "example",
"type": "example",
"input": "example",
"ctx": {}
}
]
}