API Reference
Complete reference for all QuickSign external API endpoints. All endpoints require authentication with an API key passed in the X-API-KEY header.
Base URL
https://api.quicksign.com.au/external/api/v1/documentsList Documents
Get a list of all documents owned by your account. Supports pagination, filtering by status, search, and sorting. Perfect for building document dashboards and automation workflows.
Query Parameters
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| page | number | Optional | Page number for pagination (default: 1) |
| limit | number | Optional | Number of documents per page (default: 10, max: 100) |
| status | string | Optional | Filter by status: "DRAFT", "SENT", "COMPLETED", or "TRASH" (declined/expired/cancelled) |
| search | string | Optional | Search term to filter documents by title |
| sortBy | string | Optional | Sort by field: "dateCreated", "documentName", or "dateModified" (default: "dateCreated") |
| sortOrder | string | Optional | Sort order: "ASC" or "DESC" (default: "DESC") |
Code Examples
List Documents
# Get all DRAFT documents
curl -X GET "https://api.quicksign.com.au/external/api/v1/documents?status=DRAFT&page=1&limit=10" \
-H "X-API-KEY: your-api-key-here"
# Search for contracts
curl -X GET "https://api.quicksign.com.au/external/api/v1/documents?search=contract" \
-H "X-API-KEY: your-api-key-here"Success Response
Documents Retrieved Successfully
200 OK{
"code": "DEFAULT",
"message": "Documents retrieved successfully",
"data": {
"items": [
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"title": "Employment Contract",
"status": "DRAFT",
"filePath": "https://s3.amazonaws.com/bucket/document.pdf",
"pages": 3,
"createdAt": "2024-01-15T10:30:00.000Z",
"updatedAt": "2024-01-15T10:35:00.000Z",
"expiryDate": null,
"code": "DOC-12345"
}
],
"total": 45,
"page": 1,
"limit": 10,
"totalPages": 5
}
}Use Cases
- Dashboard: Display all documents with status filters
- Search: Find documents by title quickly
- Automation: Process documents by status (e.g., send all DRAFT documents)
- Reporting: Generate document statistics and reports
/documents/:idGet Document Details
Retrieve complete information about a specific document, including all recipients and their assigned fields. Essential for knowing the page count before positioning fields and verifying document state.
Path Parameters
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| id | string | Required | The unique identifier (UUID) of the document |
Code Examples
Get Document Details
curl -X GET https://api.quicksign.com.au/external/api/v1/documents/abc123 \
-H "X-API-KEY: your-api-key-here"Success Response
Document Retrieved Successfully
200 OK{
"code": "DEFAULT",
"message": "Document retrieved successfully",
"data": {
"id": "550e8400-e29b-41d4-a716-446655440000",
"title": "Employment Contract",
"status": "DRAFT",
"filePath": "https://s3.amazonaws.com/bucket/document.pdf",
"pages": 3,
"createdAt": "2024-01-15T10:30:00.000Z",
"updatedAt": "2024-01-15T10:35:00.000Z",
"expiryDate": null,
"recipients": [
{
"id": "recipient-uuid",
"name": "John Doe",
"email": "john@example.com",
"status": "PENDING",
"colorCode": "#FF6B6B",
"fields": [
{
"id": "field-uuid",
"type": "SIGNATURE",
"page": 1,
"x": 100,
"y": 200,
"width": 200,
"height": 50
}
]
}
]
}
}Why This Endpoint is Critical
- Page Count: Know how many pages the document has before positioning fields (prevents errors!)
- Verify Recipients: Check which recipients have been added
- Check Fields: See which fields are already positioned and where
- Validation: Ensure document is ready before sending
- Status Check: Know if document is DRAFT, SENT, or COMPLETED
/documents/:id/recipientsAdd Recipients to Document
Add recipients (signers and viewers) to an existing document. Recipients must be added before fields can be assigned to them.
Path Parameters
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| id | string | Required | The unique identifier (UUID) of the document |
Request Body
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| name | string | Required | Recipient's full name |
string | Required | Recipient's email address | |
| role | string | Required | Either "SIGNER" (must sign) or "VIEWER" (can view only) |
| countryCode | string | Optional | Country code for SMS notifications (e.g., "+1", "+61") |
| phoneNumber | string | Optional | Phone number for SMS notifications |
Code Examples
Add Recipients
curl -X POST https://api.quicksign.com.au/external/api/v1/documents/abc123/recipients \
-H "X-API-KEY: your-api-key-here" \
-H "Content-Type: application/json" \
-d '[
{
"name": "John Doe",
"email": "john@example.com",
"role": "SIGNER",
"countryCode": "+1",
"phoneNumber": "5551234567"
},
{
"name": "Jane Smith",
"email": "jane@example.com",
"role": "VIEWER"
}
]'Success Response
Recipients Added Successfully
200 OK{
"code": "DEFAULT",
"message": "Recipients added successfully",
"data": {}
}Error Responses
Bad Request
400 Bad Request{
"code": "ERROR",
"message": "Invalid request body or validation error",
"data": {}
}Document Not Found
404 Not Found{
"code": "ERROR",
"message": "Document not found",
"data": {}
}Best Practice
/documents/:id/fieldsAdd Fields to Document
Add signature fields, text fields, date fields, or initials fields to a document. Fields are positioned by page and coordinates, and assigned to specific recipients by their email address.
Path Parameters
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| id | string | Required | The unique identifier (UUID) of the document |
Request Body
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| recipientEmail | string | Required | Email address of the recipient (must match a previously added recipient) |
| type | string | Required | Field type: "SIGNATURE", "TEXT", "DATE", or "INITIALS" |
| page | number | Required | Page number where the field should be placed (1-indexed) |
| x | number | Required | X coordinate (horizontal position) in pixels from the left edge |
| y | number | Required | Y coordinate (vertical position) in pixels from the top edge |
| width | number | Optional | Field width in pixels (default: 200) |
| height | number | Optional | Field height in pixels (default: 50) |
Code Examples
Add Fields
curl -X POST https://api.quicksign.com.au/external/api/v1/documents/abc123/fields \
-H "X-API-KEY: your-api-key-here" \
-H "Content-Type: application/json" \
-d '[
{
"recipientEmail": "john@example.com",
"type": "SIGNATURE",
"page": 1,
"x": 100,
"y": 200,
"width": 200,
"height": 50
},
{
"recipientEmail": "jane@example.com",
"type": "TEXT",
"page": 1,
"x": 100,
"y": 300,
"width": 150,
"height": 30
}
]'Success Response
Fields Added Successfully
200 OK{
"code": "DEFAULT",
"message": "Fields added successfully",
"data": {}
}Important
recipientEmailmust match an email from a previously added recipient.Coordinate System
/documents/:id/sendSend Document for Signing
Send the document to all recipients for signing. This triggers email notifications and updates the document status to 'SENT'. The document must have at least one recipient with assigned fields.
Path Parameters
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| id | string | Required | The unique identifier (UUID) of the document |
Request Body
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| message | string | Required | Message to include in the signing email notification |
| description | string | Required | Additional description or instructions for recipients |
| expiryDate | string | Required | Expiry date in ISO 8601 format (UTC). Must be in the future. Example: "2024-12-31T23:59:59Z" |
Code Examples
Send Document
curl -X POST https://api.quicksign.com.au/external/api/v1/documents/abc123/send \
-H "X-API-KEY: your-api-key-here" \
-H "Content-Type: application/json" \
-d '{
"message": "Please review and sign this document",
"description": "This is an important contract that requires your signature.",
"expiryDate": "2024-12-31T23:59:59Z"
}'Success Response
Document Sent Successfully
200 OK{
"code": "DEFAULT",
"message": "Document sent successfully",
"data": {}
}Prerequisites
Document Requirements
- The document has at least one recipient
- All recipients have at least one field assigned to them
- The document is in "DRAFT" status (not already sent)
- The expiry date is in the future
/documents/:id/auditGet Document Audit Trail
Retrieve the complete audit trail (history) for a document, including all events like creation, sending, viewing, signing, and completion. Useful for compliance and tracking document status.
Path Parameters
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
| id | string | Required | The unique identifier (UUID) of the document |
Code Examples
Get Audit Trail
curl -X GET https://api.quicksign.com.au/external/api/v1/documents/abc123/audit \
-H "X-API-KEY: your-api-key-here"Success Response
Audit Trail Retrieved Successfully
200 OK{
"code": "DEFAULT",
"message": "Audit trail retrieved successfully",
"data": [
{
"id": "uuid-here",
"event": "CREATED",
"message": "Document created successfully",
"ipAddress": "192.168.1.1",
"userAgent": "Mozilla/5.0...",
"createdAt": "2024-01-15T10:30:00.000Z"
},
{
"id": "uuid-here",
"event": "SENT",
"message": "Document was sent for signature",
"ipAddress": "192.168.1.1",
"userAgent": "Mozilla/5.0...",
"createdAt": "2024-01-15T10:35:00.000Z"
},
{
"id": "uuid-here",
"event": "VIEWED",
"message": "Viewed by recipient@example.com",
"ipAddress": "192.168.1.2",
"userAgent": "Mozilla/5.0...",
"createdAt": "2024-01-15T11:00:00.000Z"
},
{
"id": "uuid-here",
"event": "SIGNED",
"message": "Signed by recipient@example.com",
"ipAddress": "192.168.1.2",
"userAgent": "Mozilla/5.0...",
"createdAt": "2024-01-15T11:05:00.000Z"
},
{
"id": "uuid-here",
"event": "COMPLETED",
"message": "This document has been completed.",
"ipAddress": "192.168.1.1",
"userAgent": "Mozilla/5.0...",
"createdAt": "2024-01-15T11:10:00.000Z"
}
]
}Event Types
Possible Events
| Name | Type | Required | Description |
|---|---|---|---|
| CREATED | event | Optional | Document was created |
| SENT | event | Optional | Document was sent to recipients |
| VIEWED | event | Optional | A recipient viewed the document |
| SIGNED | event | Optional | A recipient signed the document |
| DECLINED | event | Optional | A recipient declined to sign |
| COMPLETED | event | Optional | All recipients have signed and document is complete |
| EXPIRED | event | Optional | Document expired before completion |
| UPDATED | event | Optional | Document was updated |
Use Cases
- Compliance: Maintain complete records of document lifecycle
- Debugging: Track down issues with document delivery or signing
- Analytics: Measure time-to-sign and recipient engagement
- Legal Evidence: Provide timestamp and IP address proof