Skip to content

Send a document

Sending a document for signature is a short sequence: create → (links) → track → download.

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 }
]
}

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).

GET /document/sign/status/?doc_id=<id> returns the current status:

StatusMeaning
Uploadedcreated, not yet sent
Sentout for signature
Partially signedsome recipients done
Fully signedcomplete & sealed
Rejecteda recipient declined
Cancelledclosed by sender

For real-time updates, use webhooks instead of polling.

When fully signed, GET /document/download/?doc_id=<id> returns the finalized, tamper-sealed PDF. See Tamper seal for what that guarantees.