Send a document
Sending a document for signature is a short sequence: create → (links) → track → download.
1. Create the document + recipients
Section titled “1. Create the document + recipients”POST /document/recipients/create/ takes the document (by URL) plus the list of recipients
and their roles:
signer— must sign.approver— reviews and approves.reviewer/ CC — receives a copy.
You can set a signing order so recipients are invited sequentially rather than all at once. QSign accepts PDF and Office files (it converts Office to PDF automatically).
{ "doc_url": "https://example.com/agreement.pdf", "document_name": "Services Agreement", "recipientDetail": [ { "name": "Jane Doe", "email": "jane@example.com", "type": "signer", "order": 1 }, { "name": "John Roe", "email": "john@example.com", "type": "signer", "order": 2 } ]}2. Get signing links (optional)
Section titled “2. Get signing links (optional)”POST /document/signing-links/ returns the secure per-recipient signing URL. Either let QSign
email the invitations, or distribute the links yourself (set is_mail_required: false to
suppress QSign’s emails for headless integrations).
3. Track status
Section titled “3. Track status”GET /document/sign/status/?doc_id=<id> returns the current status:
| Status | Meaning |
|---|---|
| Uploaded | created, not yet sent |
| Sent | out for signature |
| Partially signed | some recipients done |
| Fully signed | complete & sealed |
| Rejected | a recipient declined |
| Cancelled | closed by sender |
For real-time updates, use webhooks instead of polling.
4. Download the signed PDF
Section titled “4. Download the signed PDF”When fully signed, GET /document/download/?doc_id=<id> returns the finalized, tamper-sealed
PDF. See Tamper seal for what that guarantees.