Changes data

quotecloud_insert_pdf_pages

Embed every page of a finalized PDF asset (supplier drawings, floorplans, clarifications) as real document pages in a new named section, visible in the customer viewer and merged as the original vector pages into the generated PDF. This is the supported path for PDF content: do not use quotecloud_insert_block or create a pdfBlock. First upload the PDF with quotecloud_prepare_document_asset_upload plus quotecloud_finalize_document_asset_upload (or quotecloud_import_document_asset), then pass the returned assetId here. Page count, sizes, and orientation are read from the stored PDF, so landscape drawings keep their aspect ratio; encrypted or unreadable PDFs are refused. Place it with position.afterSectionId / beforeSectionId (the sections[].id values from quotecloud_inspect_structure: e.g. after the cover section and before the pricing section) or a page anchor. Retry-safe: if this assetId is already embedded in the document, the existing section is returned with alreadyInserted:true and nothing is written. To embed several PDFs in order, insert the first, then pass its returned sectionId as afterSectionId for the next. Returns sectionId, pageId, assetId, title, pageCount, and per-page sizes.

Inputs

documentIdRequired
Convex document ID or company-scoped numeric display ID. string
revisionTokenRequired
Opaque document revisionToken from quotecloud_inspect_structure. string
assetIdRequired
Canonical finalized PDF assetId returned by quotecloud_finalize_document_asset_upload or quotecloud_import_document_asset. string
titleOptional
Readable section name shown in the document navigation, e.g. "Supplier floorplan". Defaults to Embedded PDF. string
pageMetricsOptional
Deprecated and ignored: page sizes are always read from the stored PDF. list of object
positionRequired
Insert after or before a section (sections[].id from quotecloud_inspect_structure), or immediately after/before a page. A page anchor inside a section splits it: the pages after the PDF keep the section title as their own section. value
lockTokenRequired
Stable opaque token for this agent edit session. Reuse it to heartbeat owned element locks. string