Documents¶
Upload, list, filter, download, and manage documents.
Endpoint summary¶
| Method | Path | Summary |
|---|---|---|
| POST | /document/v1 (multipart) |
Upload a document |
| PUT | /document/v1/{docId} (multipart) |
Replace a document's file |
| PUT | /document/v1/{docId} (JSON) |
Rename a document |
| PUT | /document/v1/sequence/{workflowId} |
Set signing order mode |
| GET | /document/v1 |
List documents (paginated, filterable) |
| GET | /document/v1/{docId} |
Get one document |
| GET | /document/v1/docs-detail/{workflowId} |
Get all documents attached to one workflow |
| GET | /document/v1/count/documents-status |
Counts by status (feeds the status-filter pills) |
| GET | /document/v1/download/{workflowId} |
Download signed document(s) / certificate of completion |
| DELETE | /document/v1, /{workflowId}, /workflows |
Delete document(s) |
| PUT | /document/v1/{workflowId}/change-sequence |
Reorder documents within a workflow |
Upload¶
POST /document/v1?sequence=UNORDERED&signType=COUNTERSIGN
Content-Type: multipart/form-data
file: <binary PDF>
| Query param | Type | Notes |
|---|---|---|
workflowId |
long, optional | Attach to an existing draft workflow instead of creating a new one |
sequence |
string, optional | SELF, ORDERED, UNORDERED, SURVEY — only meaningful when creating a new one |
signType |
string, optional | SELFSIGN, COUNTERSIGN, POWERSURVEY |
folderId |
long, optional | Target folder — see Folders |
timeZone |
string, optional | Recipient-facing display timezone |
Accepted formats: .pdf, .doc, .docx — Word files are converted to PDF server-side on upload. Max 25 MB.
Success (201 Created):
Rejections:
| Condition | Error |
|---|---|
| Extension other than pdf/doc/docx | INVALID_DOCUMENT_TYPE |
| Empty file | INVALID_DOCUMENT_SIZE |
| PDF already carrying a signature | DOCUMENT_ALREADY_SIGNED |
PUT /document/v1/{docId} (multipart) replaces the file — only while still in draft and owned by the caller. Replacement accepts PDF only, unlike the initial upload which also takes Word files. A separate JSON-body PUT /document/v1/{docId} ({ "name": "..." }, 1-50 chars) renames it.
This is step 1 of the full send flow — continue with Sending & Signing to add recipients, place fields, and send.
Listing and filtering¶
GET /document/v1¶
Paginated (see Pagination), filters: status, folderID, searchValue.
{
"content": [
{
"workflowId": 887,
"documentCount": 1,
"recipientCount": 2,
"name": "NDA - Acme Corp",
"ownerName": "Jane Doe",
"status": "SENT",
"anyDigitalSignature": true,
"isPowerSurvey": false,
"isPowerSurveyChild": false
}
],
"totalElements": 42
}
When the caller is a recipient rather than the owner, recipientId/recipientRole/enforceIdentity are populated for their own row.
Status-filter pills
The Documents page's filter pills (All, Signed, Sent, Pending, Draft, Completed, Approved, Viewed, Void) work off this same list, passing the pill's value as status. Draft/Sent/Completed/Approved/Void map to the workflow's own status; Signed, Pending, and Viewed are not workflow statuses — see Concepts for what they actually reflect.
GET /document/v1/{docId}, GET /document/v1/docs-detail/{workflowId}¶
Single-document and all-documents-for-a-workflow detail views — same shape as the list item above plus size, pages, isViewed.
GET /document/v1/count/documents-status¶
{ "draftDocCount": 3, "pendingDocCount": 5, "sentDocCount": 12, "signedDocCount": 8, "completedDocCount": 40, "voidDocCount": 2 }
Downloading¶
selectedOption (required): downloadDocument (one document), downloadAll (all documents in the workflow, zipped), downloadCoc (certificate of completion / evidence report as PDF). documentId required only for downloadDocument.
Deleting and reordering¶
DELETE /document/v1 (body: { "ids": [1, 2] }), DELETE /document/v1/{workflowId}, and DELETE /document/v1/workflows (body: { "workflowIds": "1,2,3" }) cover single/bulk deletion at different granularities. PUT /document/v1/{workflowId}/change-sequence reorders multiple documents attached to one workflow (body: [{ "documentId": 1200, "order": 1 }, ...]).