/api/v1/:workspace/templates/:id/generateRender one PDF
Synchronous render. The response shape is chosen via the Accept header: application/pdf streams the bytes; anything else (default) returns JSON with a presigned download URL.
Parameters
workspacepath | Workspace slug.required |
idpath | Template UUID.required |
Acceptheader | application/pdf for bytes, or application/json (default) for { url, expiresAt, … }. |
Response
// Accept: application/pdf
(application/pdf — binary stream)
// Accept: application/json (default)
{
"url": "https://…",
"ttl": 259200,
"expiresAt": "…",
"urlExpiresAt": "…",
"filename": "invoice-2026-05.pdf",
"bytes": 58231
}filename — names the download; .pdf is appended if missing.
renderer — plumav1 (default: flat, small files, supports barcodes, signatures, transforms) or standard (keeps AcroForm fields editable after the render).
ttlSeconds — how long the stored render stays downloadable. Plan-capped (Free 30 min, Advanced 7 d, Pro 30 d, Enterprise 90 d); above the cap → 400 ttl_exceeds_plan. Ignored for byte responses — those are never stored.
password — password-protects the output. The template must allow it (apiCanSetPassword).
ignoreErrors — false (default) aborts with 400 transform_failed when a field's transform code fails, listing every failed field; true renders anyway with failed fields blanked. See Custom transform code.
Need help?
Open a ticket from the in-app Support page, or email [email protected].