Base URL
https://api.ziasign.com/api/v1
All endpoints require authentication.
List Documents
GET /documents
Query parameters:
| Parameter | Type | Description |
|---|---|---|
status | string | Filter by status: draft, sent, completed, voided, expired |
page | integer | Page number (default: 1) |
pageSize | integer | Results per page (default: 20, max: 100) |
search | string | Search by document name or signer email |
sortBy | string | Sort field: createdAt, updatedAt, name |
sortOrder | string | asc or desc (default: desc) |
Response
Create & Send Document
| Field | Type | Required | Description |
|---|---|---|---|
file | binary | Yes | The document file (PDF, PNG, JPG, JPEG) |
name | string | No | Document name (defaults to filename) |
signers | JSON | Yes | Array of signer objects |
fields | JSON | No | Array of field placement objects |
send | boolean | No | Send immediately (default: false — creates as draft) |
subject | string | No | Custom email subject |
message | string | No | Custom email body message |
expirationDays | integer | No | Days until expiration (default: 30) |
cURL Example
JavaScript Example
Get Document
GET /documents/{id}
Returns the full document details including status, signers, fields, and audit trail.
Download Document
GET /documents/{id}/download
Returns the document PDF. For completed documents, this includes all signatures and the Certificate of Completion.
Query parameters:
| Parameter | Type | Description |
|---|---|---|
certificate | boolean | Include Certificate of Completion (default: true) |
auditTrail | boolean | Include audit trail pages (default: true) |
Void Document
POST /documents/{id}/void
Cancels a sent document. All signers are notified that the document has been voided.
Resend Notification
POST /documents/{id}/resend
Document Statuses
| Status | Description |
|---|---|
draft | Created but not yet sent |
sent | Sent to signers, awaiting signatures |
viewed | At least one signer has opened the document |
partially_signed | At least one signer has signed (multi-signer docs) |
completed | All signers have signed |
voided | Cancelled by the sender |
expired | Signing period elapsed without completion |
Frequently asked questions
Can I upload a document and send it in a single API call?
Yes. The POST /documents endpoint accepts the file, signers, and fields in a single multipart request. Set the 'send' parameter to true to send immediately.
What is the maximum file size for API uploads?
25 MB per file via the API, same as the web interface. For larger files, contact support for Enterprise accommodations.
How do I check the status of a sent document?
Use GET /documents/{id} to retrieve the document details, including the current status (draft, sent, viewed, partially_signed, completed, voided, expired).
Related documentation
API Authentication
Authenticate your API requests using API keys with HMAC-SHA256 request signing for maximum security.
Webhooks
Receive real-time HTTP notifications when documents are viewed, signed, completed, or declined.
Embedded Signing
Embed the ZiaSign signing experience directly in your web application for a seamless user flow.