🔓 Unlock Signer
POST /document/unlock
This service allows you to manage blocked signers during the identity validation process, for both documents and packages. This service enables you to approve, reject, restart, or cancel the process for signers who have been blocked by the security system.
info
This service only applies to signers who are in a blocked state during identity validation.
Authentication
Include your private key in the Authorization header.
Authorization: prk_xxx...
Creation Parameters
| Name | Type | Required | Description |
|---|---|---|---|
code | string | Required | Document or package code concatenated with the signer ID (e.g. DOCUMENTCODEID or PACKAGECODEID) |
email | string | Required | Email of the company user who approves or rejects the blocked participant |
status | string | Required | Action to perform: approve, reject, reset, cancel |
message | string | Conditional | Approver note or reason. Required when status is approve or cancel. Not accepted for reject or reset |
note
The code field identifies both documents and packages: it is the document (or package) code concatenated with the blocked signer's ID. The system automatically detects the process type.
Available Actions
- approve: Approves the signer's identity validation (requires
messagefield) - reject: Rejects the signer's identity validation
- reset: Restarts the process (Only applies to WhatsApp signing, otherwise works the same as reject)
- cancel: Cancels the signing process (requires
messagefield)
🧪 Usage Examples
Approve blocked signer
- curl
- Python
- Node.js
curl --location 'https://dev.auco.ai/v1.5/ext/document/unlock' \
--header 'Authorization: prk_private_key_company' \
--header 'Content-Type: application/json' \
--data-raw '{
"code": "DOCUMENTCODEID",
"email": "approver@auco.ai",
"status": "approve",
"message": "Identity successfully verified"
}'
import requests
import json
url = "https://dev.auco.ai/v1.5/ext/document/unlock"
payload = json.dumps({
"code": "DOCUMENTCODEID",
"email": "approver@auco.ai",
"status": "approve",
"message": "Identity successfully verified"
})
headers = {
'Authorization': 'prk_private_key_company',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
const axios = require('axios');
let data = JSON.stringify({
code: 'DOCUMENTCODEID',
email: 'approver@auco.ai',
status: 'approve',
message: 'Identity successfully verified',
});
let config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://dev.auco.ai/v1.5/ext/document/unlock',
headers: {
Authorization: 'prk_private_key_company',
'Content-Type': 'application/json',
},
data: data,
};
axios
.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
Approve a package signer
For packages, the code field is the package code concatenated with the signer ID.
- curl
- Python
- Node.js
curl --location 'https://dev.auco.ai/v1.5/ext/document/unlock' \
--header 'Authorization: prk_private_key_company' \
--header 'Content-Type: application/json' \
--data-raw '{
"code": "PACKAGECODEID",
"email": "approver@auco.ai",
"status": "approve",
"message": "Identity successfully verified"
}'
import requests
import json
url = "https://dev.auco.ai/v1.5/ext/document/unlock"
payload = json.dumps({
"code": "PACKAGECODEID",
"email": "approver@auco.ai",
"status": "approve",
"message": "Identity successfully verified"
})
headers = {
'Authorization': 'prk_private_key_company',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
const axios = require('axios');
let data = JSON.stringify({
code: 'PACKAGECODEID',
email: 'approver@auco.ai',
status: 'approve',
message: 'Identity successfully verified',
});
let config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://dev.auco.ai/v1.5/ext/document/unlock',
headers: {
Authorization: 'prk_private_key_company',
'Content-Type': 'application/json',
},
data: data,
};
axios
.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
Cancel process with reason
- curl
- Python
- Node.js
curl --location 'https://dev.auco.ai/v1.5/ext/document/unlock' \
--header 'Authorization: prk_private_key_company' \
--header 'Content-Type: application/json' \
--data-raw '{
"code": "DOCUMENTCODEID",
"email": "approver@auco.ai",
"status": "cancel",
"message": "Fraud attempt detected"
}'
import requests
import json
url = "https://dev.auco.ai/v1.5/ext/document/unlock"
payload = json.dumps({
"code": "DOCUMENTCODEID",
"email": "approver@auco.ai",
"status": "cancel",
"message": "Fraud attempt detected"
})
headers = {
'Authorization': 'prk_private_key_company',
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
print(response.text)
const axios = require('axios');
let data = JSON.stringify({
code: 'DOCUMENTCODEID',
email: 'approver@auco.ai',
status: 'cancel',
message: 'Fraud attempt detected'
});
let config = {
method: 'post',
maxBodyLength: Infinity,
url: 'https://dev.auco.ai/v1.5/ext/document/unlock',
headers: {
Authorization: 'prk_private_key_company',
'Content-Type': 'application/json',
},
data: data,
};
axios
.request(config)
.then((response) => {
console.log(JSON.stringify(response.data));
})
.catch((error) => {
console.log(error);
});
Response Examples
Successful response
{
"message": "OK"
}
⚠️ Error Responses
| Code | Description |
|---|---|
| 400 | Missing parameters, non-applicable validations, missing signer ID in code (MISSING_SIGNER_ID) or process is not blocked (NOT_BLOCKED_PROCESS) |
| 401 | Invalid or missing authentication |