Request parameters
Idempotency-KeystringOptionalScoped to workspace and operation; same key and payload reuses the run during its seven-day retention period. Changed payload returns 409.
"receipt-1042-v1"Maximum length: 200 characters.
Request body
Send a JSON body with the following inputs. Put processing settings inside options.
Inputs
inputs.htmltextRequiredThe HTML markup to turn into a PDF. Send the markup itself, not a file ID.
"<h1>Receipt 1042</h1><p>Customer: Ada</p>"Options
options.formattextOptionalPaper size of the generated PDF.
"A4"Allowed values: A4 Letter Legal A3 A5
options.landscapebooleanOptionalSet true to make the PDF page wider than it is tall.
trueoptions.print_backgroundbooleanOptionalInclude CSS background colors and images in the PDF.
trueoptions.scalenumberOptionalRendering scale multiplier; 1 uses the original scale.
1options.margin_mmnumberOptionalSpace around all four sides of the printed page, in millimetres.
10options.authobjectOptionalAuthentication for the source website. Reference saved secrets instead of putting passwords in the request.
{
"mode": "none"
}Show child fields
options.auth.modetextRequiredThe authentication method required by the source website.
"none"Allowed values: none basic bearer custom_headers cookies
options.auth.origintextOptionalThe source website origin to which these credentials belong.
"https://example.com"options.auth.usernameobjectOptionalReference the saved secret containing the source website username.
{
"secret_id": "${SECRET_ID}",
"secret_version_id": "${SECRET_VERSION_ID}"
}Show child fields
options.auth.username.secret_idtextRequiredID of a secret saved in Settings → Secrets. Replace the example with your own ID.
"${SECRET_ID}"options.auth.username.secret_version_idtextRequiredID of a specific saved secret version. Use the version you want this request to read.
"${SECRET_VERSION_ID}"options.auth.passwordobjectOptionalReference the saved secret containing the source website password.
{
"secret_id": "${SECRET_ID}",
"secret_version_id": "${SECRET_VERSION_ID}"
}Show child fields
options.auth.password.secret_idtextRequiredID of a secret saved in Settings → Secrets. Replace the example with your own ID.
"${SECRET_ID}"options.auth.password.secret_version_idtextRequiredID of a specific saved secret version. Use the version you want this request to read.
"${SECRET_VERSION_ID}"options.auth.tokenobjectOptionalReference the saved secret containing the source website bearer token.
{
"secret_id": "${SECRET_ID}",
"secret_version_id": "${SECRET_VERSION_ID}"
}Show child fields
options.auth.token.secret_idtextRequiredID of a secret saved in Settings → Secrets. Replace the example with your own ID.
"${SECRET_ID}"options.auth.token.secret_version_idtextRequiredID of a specific saved secret version. Use the version you want this request to read.
"${SECRET_VERSION_ID}"options.auth.headersarray of objectOptionalAuthentication headers to send to the source website. Each entry pairs a header name with a saved-secret reference.
[
{
"name": "X-API-Key",
"value": {
"secret_id": "${SECRET_ID}",
"secret_version_id": "${SECRET_VERSION_ID}"
}
}
]Show child fields
options.auth.headers[].nametextRequiredHTTP header name required by the source website.
"X-API-Key"options.auth.headers[].valueobjectRequiredSaved-secret reference containing this header or cookie value. Supply both secret IDs.
{
"secret_id": "${SECRET_ID}",
"secret_version_id": "${SECRET_VERSION_ID}"
}Show child fields
options.auth.headers[].value.secret_idtextRequiredID of a secret saved in Settings → Secrets. Replace the example with your own ID.
"${SECRET_ID}"options.auth.headers[].value.secret_version_idtextRequiredID of a specific saved secret version. Use the version you want this request to read.
"${SECRET_VERSION_ID}"options.auth.cookiesarray of objectOptionalCookies required by the source website. Supply their names and saved-secret value references.
[
{
"name": "session",
"value": {
"secret_id": "${SECRET_ID}",
"secret_version_id": "${SECRET_VERSION_ID}"
}
}
]Show child fields
options.auth.cookies[].nametextRequiredName of the source website cookie.
"session"options.auth.cookies[].valueobjectRequiredSaved-secret reference containing this header or cookie value. Supply both secret IDs.
{
"secret_id": "${SECRET_ID}",
"secret_version_id": "${SECRET_VERSION_ID}"
}Show child fields
options.auth.cookies[].value.secret_idtextRequiredID of a secret saved in Settings → Secrets. Replace the example with your own ID.
"${SECRET_ID}"options.auth.cookies[].value.secret_version_idtextRequiredID of a specific saved secret version. Use the version you want this request to read.
"${SECRET_VERSION_ID}"Delivery
outputobjectOptionalChoose where the result is delivered. Omit this to use temporary LongRun storage.
{
"storage": "temporary"
}Storage guide · Bubble delivery setup
Show child fields
output.storagestringOptionaltemporary stores results in LongRun. bubble delivers them to a connected Bubble app. These are the only supported values. A published workflow uses its configured destination unless you override it.
"temporary"Default: "temporary"
Allowed values: temporary bubble
output.connection_idstringConditionally requiredRequired when storage is bubble. Copy the connection ID from Settings → Integrations → Bubble. Not used for temporary storage.
"${STORAGE_CONNECTION_ID}"output.privatebooleanOptionalOnly for Bubble delivery. true creates a private file and requires attach_to. false requests a public upload; access still depends on the receiving app configuration.
falseDefault: false
output.attach_tostringConditionally requiredRequired when storage is bubble and private is true. The Bubble Thing ID that owns the file. See the Bubble integration guide for setup.
"${BUBBLE_THING_ID}"output.file_namestringOptionalOptional output filename, such as receipt.pdf. Omit it to use the generated timestamp-based name. Applies to either destination.
"receipt.pdf"Maximum length: 255 characters.
webhook_idsarray of stringOptionalIDs of configured webhook endpoints to notify for this run. Omit this to send no webhooks for a direct action.
[
"${WEBHOOK_ID}"
]Returns
Returns 202 Accepted with a run ID. Processing continues after the response. Retrieve the run until its status is completed, failed, or cancelled.
Outputs when completed
These fields appear inside outputs on the completed run.
outputs.filePDF fileGenerated file metadata. Use its id to retrieve or download the file; check access and expiry metadata before using its URL.
outputs.dataobjectStructured results from this action. Expand the child fields to see the returned values.
Show child fields
outputs.data.warningsarray of textLimits
- HTML text
- 2 MiB of UTF-8 text
- Generated files
- 200 MiB maximum
- Processing deadline
- 90 seconds; processing may stop earlier if a renderer or resource limit is reached
- options.auth.headers items
- 20 maximum
- options.auth.cookies items
- 20 maximum