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.urltextRequiredThe full HTTPS address of the page to process.
"https://example.com/receipt"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.margin_top_mmnumberOptionalTop margin in millimeters. Overrides the shared margin.
10Minimum: 0
Maximum: 100
options.margin_right_mmnumberOptionalRight margin in millimeters. Overrides the shared margin.
10Minimum: 0
Maximum: 100
options.margin_bottom_mmnumberOptionalBottom margin in millimeters. Overrides the shared margin.
10Minimum: 0
Maximum: 100
options.margin_left_mmnumberOptionalLeft margin in millimeters. Overrides the shared margin.
10Minimum: 0
Maximum: 100
options.media_typetextOptionalScreen matches browser styling. Print uses the website’s print stylesheet. Defaults to screen.
"print"Allowed values: screen print
options.single_pagebooleanOptionalCreate one long page. Cannot be combined with page ranges or website page size.
trueoptions.prefer_css_page_sizebooleanOptionalUse the website’s CSS @page dimensions instead of the selected paper size.
trueoptions.page_rangestextOptionalPages to include, for example 1-3, 5. Leave unset to include every page.
"1-3,5"options.wait_for_selectortextOptionalWait for a matching element to appear, for example #report-ready. Appearance does not guarantee its content is finished.
"#receipt"options.wait_delay_secondsnumberOptionalExtra delay after readiness checks, in seconds. Defaults to 2. All waits share the conversion time limit.
2Minimum: 0
Maximum: 20
options.wait_for_expressiontextOptionalAdvanced: a JavaScript expression that becomes true when the page is ready, for example window.reportReady === true. Runs inside the page; never include secrets.
"window.receiptReady === true"options.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
- 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