Update Processing Workflow
Last updated: September 16, 2026
Updated by: VNPT eContract's team
Purpose
Update the processing workflow for a document created in section 4.1 and updated in section 4.2 (if any), including the list of processing participants, the processing order, the processing permissions, and the corresponding signature position information on each component file (fileInfoId) of the document.
- Request URL:
/v2/documents/update-process - HTTP method:
POST - HTTP content-type:
application/json - Authorize:
Bearer token - Parameter:
| Key | Type | Required | Description |
|---|---|---|---|
id | GUID | Yes | DocumentId of the document for which the workflow is to be configured (obtained from the API response of section 4.1 or 4.2) |
processInOrder | boolean | Yes | Whether processing is sequential (true) or parallel (false) |
processes | array | Yes | List of processing steps - details below |
processes[].orderNo | int | Yes | Processing order (if processInOrder = true) |
processes[].processedByUserCode | string(50) | Yes | Code of the user assigned to process this step |
processes[].accessPermissionCode | string(50) | Yes | Processing permission code (e.g.: "D" — Digital signature; see the processing permission catalog in the Appendix for more details) |
processes[].position | string | Yes | Coordinates of the signature position on the file, format "x1,y1,x2,y2" |
processes[].pageSign | int | Yes | Page to be signed within the file |
processes[].fileInfoId | GUID | Yes | ID of the component file to be processed (obtained from downloadFileUrls[].id in the latest response of the API in section 4.1 or 4.2) |
Sample request
{
"id": "f5b0c112-d357-44ce-b8a8-7cb77d3d0b9e",
"processInOrder": true,
"processes": [
{
"orderNo": 1,
"processedByUserCode": "user001",
"accessPermissionCode": "D",
"position": "234,514,374,574",
"pageSign": 1,
"fileInfoId": "6865273c-90f5-49cd-403b-08defc11a479"
},
{
"orderNo": 2,
"processedByUserCode": "user002",
"accessPermissionCode": "D",
"position": "334,614,474,674",
"pageSign": 1,
"fileInfoId": "a940f960-213c-4a89-403c-08defc11a479"
}
]
}
Sample response body
{
"data": {
"id": "f5b0c112-d357-44ce-b8a8-7cb77d3d0b9e",
"createdDate": "2026-08-13T17:55:40.8560899",
"lastModifiedDate": "2026-08-13T17:58:15.7799973+07:00",
"no": "DOCUMENT-MF-001",
"subject": "Multi-file document DOCUMENT-MF-001 - Updated",
"hasVerified": false,
"hasVerify": false,
"hasSeal": false,
"requireVerifiedUserSigning": false,
"status": {
"value": 1,
"description": "New"
},
"contractStatus": {
"value": 0,
"description": "Undefined"
},
"description": "Example of updating document DOCUMENT-MF-001",
"createdByUserId": 27938,
"processRecipientCount": 2,
"waitingProcesses": [
],
"processInOrder": true,
"isWaitToSignDraw": false,
"isWaitToSignDigital": false,
"isWaitToApprove": false,
"isWaitToFillData": false,
"isWaitToCoordinate": false,
"isWaitToESign": false,
"isWaitToEkyc": false,
"isFillable": false,
"type": {
"id": 8950,
"code": "DOCID",
"name": "Test document",
"documentCount": 1,
"enableVnptSeal": false,
"requireVerifiedUserSigning": false,
"children": [
]
},
"processes": [
{
"id": "bba867ee-09f9-41f6-6ddb-08def929c6d3",
"createdDate": "2026-08-13T17:58:15.7798094+07:00",
"comId": 7354,
"isOrder": true,
"orderNo": 1,
"pageSign": 1,
"position": "234,514,374,574",
"displayType": {
"value": 0,
"description": "0"
},
"accessPermission": {
"value": 4,
"description": "Sign digital"
},
"status": {
"value": 1,
"description": "Waiting"
},
"processedByUserId": 59407,
"documentId": "f5b0c112-d357-44ce-b8a8-7cb77d3d0b9e",
"fillingItems": [
],
"fileInfoId": "6865273c-90f5-49cd-403b-08defc11a479",
"attachments": [
]
},
{
"id": "129da2f9-85d4-4390-6ddc-08def929c6d3",
"createdDate": "2026-08-13T17:58:15.7799953+07:00",
"comId": 7354,
"isOrder": true,
"orderNo": 2,
"pageSign": 1,
"position": "334,614,474,674",
"displayType": {
"value": 0,
"description": "0"
},
"accessPermission": {
"value": 4,
"description": "Sign digital"
},
"status": {
"value": 1,
"description": "Waiting"
},
"processedByUserId": 27938,
"documentId": "f5b0c112-d357-44ce-b8a8-7cb77d3d0b9e",
"fillingItems": [
],
"fileInfoId": "a940f960-213c-4a89-403c-08defc11a479",
"attachments": [
]
}
],
"accessibleViewProcesses": [
],
"histories": [
{
"createdDate": "2026-08-13T17:58:15.7800305+07:00",
"requestType": {
"value": 0,
"description": "Web"
},
"ipAddress": "10.70.39.34",
"activity": {
"value": 2,
"description": "Update document"
}
}
],
"attachments": [],
"relatedDocuments": [],
"linkedDocuments": [],
"messages": [],
"fillingItems": [],
"sharedUsers": [],
"isMarkStar": false,
"downloadFileUrls": [
{
"id": "6865273c-90f5-49cd-403b-08defc11a479",
"fileName": "Tai-lieu-chinh-01.pdf",
"downloadUrl": "{HOST}/api/Download?token=...",
"downloadWatermarkMetadataUrl": "{HOST}/api/Download?token=...",
"orderNo": 1,
"size": 358043,
"fileType": {
"value": 0,
"description": "General"
},
"hasSeal": false
},
{
"id": "a940f960-213c-4a89-403c-08defc11a479",
"fileName": "Phu-luc-02.pdf",
"downloadUrl": "{HOST}/api/Download?token=...",
"downloadWatermarkMetadataUrl": "{HOST}/api/Download?token=...",
"orderNo": 2,
"size": 262757,
"fileType": {
"value": 0,
"description": "General"
},
"hasSeal": false
}
],
"zipDownloadUrl": "{HOST}/api/Download/MergeFilesZipDocument?token=...",
"zipDownloadOriginalUrl": "{HOST}/api/Download/MergeFilesZipDocument?token=...",
"zipDownloadWatermarkMetadataUrl": "{HOST}/api/Download/MergeFilesZipDocument?token=...",
"requiresSealSendConfirmation": false,
"fixedPosition": false,
"isLaborContractDocument": false
},
"success": true,
"code": 0,
"messages": [
"Update document success"
]
}
Response Body Description
| Key | Type | Description |
|---|---|---|
success | boolean | Response status of the request (true: Success, false: Failure) |
code | int | Response code from the system |
messages | array | List of messages or errors returned from the system (Example: ["Update document success"]) |
data | object | Object containing details of the document after updating the processing workflow (see details below) |
Details of data:
The fields id, createdDate, lastModifiedDate, no, subject, description, status, contractStatus, type, downloadFileUrls, zipDownloadUrl, zipDownloadOriginalUrl, zipDownloadWatermarkMetadataUrl... have the same meaning as in the Create Multi-file Document API (section 4.1). The table below only describes the fields whose values change or that are newly generated after the processing workflow is updated for the document.
| Key | Type | Description |
|---|---|---|
processRecipientCount | int | Number of participants in the processing workflow that was just configured |
processInOrder | boolean | Whether processing is sequential (true) or parallel (false), taken from the value sent in the request |
processes | array | List of processing steps that were just configured — details of each element (see below) |
Details of the processes list:
A list containing the processing step objects within the document workflow, with the properties of 1 element:
| Key | Type | Description |
|---|---|---|
id | GUID | Id of the processing step, generated by the system |
createdDate | datetime | Time the processing step was created |
comId | int | Company Id of the processor |
isOrder | boolean | Whether the processing step belongs to a sequential workflow |
orderNo | int | Processing order |
pageSign | int | Page number to be signed within the file |
position | string | Coordinates of the signature position on the file, format "x1,y1,x2,y2" |
displayType | object | Signature display type (see the Enum catalog in the Appendix) |
accessPermission | object | Processing permission granted for this step (e.g.: Digital signature - see the Enum catalog in the Appendix) |
status | object | Status of the processing step (e.g.: Waiting - Pending processing) |
processedByUserId | int | Id of the user assigned to process this step |
documentId | string (GUID) | Id of the document containing this processing step |
fillingItems | array | List of data fields to be filled in at this step (if any) |
fileInfoId | string (GUID) | ID of the component file to be processed at this step |
attachments | array | Attachments generated at this processing step (if any) |
The response returns the full document information after the processing workflow update: the processes array shows the processing steps that were just configured (status "Waiting" - Pending processing), and processRecipientCount shows the number of participants in the processing workflow.