Draft Mode
Draft Mode
Draft mode lets you create a document and generate its PDF without immediately sending emails to signers or payers. Send it manually when ready.
Creating a draft
Set "draft": true in your create request:
curl -X POST https://zipzign.com/api/documents \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"type": "signable",
"draft": true,
"title": "Consulting Agreement — Pending Review",
"content": "<h1>Consulting Agreement</h1><p>...</p>",
"signers": [
{ "name": "Client Name", "email": "client@example.com" }
]
}'
The document is created with status draft. No emails are sent.
Reviewing the draft PDF
The pdfUrl in the response is accessible immediately. Review it to verify layout and content before sending.
Updating draft content
Use PATCH to update HTML before sending:
curl -X PATCH https://zipzign.com/api/documents/doc_abc123 \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"content": "<h1>Updated Agreement</h1><p>Revised terms...</p>"
}'
Sending the draft
When ready, trigger email delivery:
curl -X POST https://zipzign.com/api/documents/doc_abc123/send \
-H "Authorization: Bearer YOUR_API_KEY"
This transitions the document from draft to the appropriate next status (awaiting_signatures or awaiting_payment) and sends all emails.
Adding signers or payment to a draft
You can also add or modify signers using the collect endpoint:
curl -X POST https://zipzign.com/api/documents/doc_abc123 \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"signers": [
{ "name": "New Signer", "email": "new@example.com" }
]
}'
Use cases for draft mode
- Build a document programmatically, then let a human review before sending
- Pre-generate PDFs and batch-send later
- Implement an approval workflow before documents go to signers
Updated on: 16/04/2026
Thank you!