v1
latestOpenAPI 3.1.02026-07-223261135.0 KBExport Canvas
Export a canvas as PNG, JPEG, PDF, or PPTX. Returns a signed URL or a polling handle.
Exports run the headless browser against the authenticated canvas URL, so they require DB-level team access regardless of share-link status. Share-link-only callers can read the canvas via GET /canvases/{id} with a share_token query param but cannot export.
Large multi-page exports may exceed the synchronous wait budget; in that case the response carries status='in_progress' with a task_id — call GET /canvases/{id}/export-status?task_id=... to retrieve the signed URL once the background export finishes.
Path parameters
Prefixed cvs_ wire ID (Crockford base32 body) — the canonical, recommended form. For back-compat, a bare UUID string is also accepted in both path parameters and JSON request bodies (older integrations that stored raw UUIDs keep working). Both are permanent, supported inputs.
Query parameters
Export format: png, jpeg, pdf, or pptx
Export format: png, jpeg, pdf, or pptx
1-indexed page number to export. Omit to export all pages — PDF/PPTX bundle every page natively, while multi-page PNG/JPEG are returned as a .zip of per-page files (page-1.png, page-2.png, …) since a single image container can't hold multiple pages. format in the response reflects what was actually delivered (zip in the bundled case).
1-indexed page number to export. Omit to export all pages — PDF/PPTX bundle every page natively, while multi-page PNG/JPEG are returned as a .zip of per-page files (page-1.png, page-2.png, …) since a single image container can't hold multiple pages. format in the response reflects what was actually delivered (zip in the bundled case).
Render scale multiplier (1-4). Higher values produce sharper exports at larger file sizes. Supported for PNG, JPEG, and PDF exports. PPTX ignores this parameter.
Render scale multiplier (1-4). Higher values produce sharper exports at larger file sizes. Supported for PNG, JPEG, and PDF exports. PPTX ignores this parameter.
PDF only: produce a raster-only PDF with no searchable text, vector elements, or hyperlinks.
PDF only: produce a raster-only PDF with no searchable text, vector elements, or hyperlinks.
When True (default), block up to ~20s for the export to finish before returning an in-progress handle. When False, return status='in_progress' with a task_id immediately — poll /canvases/{id}/export-status until terminal.
When True (default), block up to ~20s for the export to finish before returning an in-progress handle. When False, return status='in_progress' with a task_id immediately — poll /canvases/{id}/export-status until terminal.
When False (default), reuse a cached export if the canvas is unchanged since it was rendered — fast, no browser render. Set True to force a fresh render.
When False (default), reuse a cached export if the canvas is unchanged since it was rendered — fast, no browser render. Set True to force a fresh render.
Headers
Calendar-dated API version pin. New integrations should pin 2026-05-01 to opt into the newest response shapes. For back-compat the server also accepts requests with no header and resolves them to the current default (today: 2026-04-12); that default advances on each sunset date. Any unsupported value returns 400 unsupported_version.
Response
Successful Response
Example response
{
"canvas_id": "cvs_01HT9WK8N3M2J4A5Z6P7Q8R9TV"
}