Overview
A single envelope can contain multiple PDFs. Each document is independently sealed with its own SHA-256 hash; the envelope’sdocument_hash_final is derived from all per-document hashes combined. Signers see every document in one signing session and cannot submit until they have scrolled through all pages of all documents.
Multi-document envelopes require a Pro plan or higher.
Creating a multi-document envelope
Upload each PDF separately using the console document upload endpoint, then reference all document IDs when building the envelope.402 Payment Required.
Signer experience
When a signer opens their tokenized link, the signing UI fetches the full document list:GET /v1/signing/{token}/documents/{docId} to stream each PDF. The Sign button stays disabled until all pages of all documents have been scrolled — enforced client-side with a toast prompt (“Please read all documents before signing”).
Each page view is recorded:
page_viewed entries.
Sealing
On completion,SealingService seals each document independently and stores:
envelopes/{id}/sealed/{docId}.pdfper documentenvelopes/{id}/sealed.pdffor the first document (legacy path, backward compatible)
document_hash_final is computed as:
document_order before concatenation. This means tampering with any single document breaks the combined hash, and the full set of per-document hashes is preserved in the audit log for independent verification.
Delivery
On completion, the sealed copy of every document is emailed to all parties. Large payloads (total >Email:MaxAttachmentBytes, default 10 MB) fall back to a tokenized /download/{token} link. Each document is delivered as a separate attachment or link.
Backward compatibility
Existing single-document integrations are unaffected. Thedocument_order column defaults to 1, and GET /v1/signing/{token}/document (without /{docId}) continues to serve the single original PDF. The document_hash_final for a single-document envelope equals the hash of that one document — identical to the pre-multi-doc behavior.