curl --request POST \
--url https://api.example.com/client/kyb/complete \
--header 'Authorization: Bearer <token>' \
--header 'X-Hevn-Account: <x-hevn-account>'import requests
url = "https://api.example.com/client/kyb/complete"
headers = {
"X-Hevn-Account": "<x-hevn-account>",
"Authorization": "Bearer <token>"
}
response = requests.post(url, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Hevn-Account': '<x-hevn-account>', Authorization: 'Bearer <token>'}
};
fetch('https://api.example.com/client/kyb/complete', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"applicationId": "kyb_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41",
"status": "notStarted",
"attemptNo": 123,
"pollUrl": "<string>"
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"details": {}
}
}Complete the verification submission
Close the editable submission and send its immutable snapshot for compliance review. This is the only operation that starts review. It is refused with kyb_incomplete and the same missing paths returned by GET when applicant information or documents are outstanding. An identical retry replays the existing application instead of creating a second review.
curl --request POST \
--url https://api.example.com/client/kyb/complete \
--header 'Authorization: Bearer <token>' \
--header 'X-Hevn-Account: <x-hevn-account>'import requests
url = "https://api.example.com/client/kyb/complete"
headers = {
"X-Hevn-Account": "<x-hevn-account>",
"Authorization": "Bearer <token>"
}
response = requests.post(url, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-Hevn-Account': '<x-hevn-account>', Authorization: 'Bearer <token>'}
};
fetch('https://api.example.com/client/kyb/complete', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));{
"applicationId": "kyb_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41",
"status": "notStarted",
"attemptNo": 123,
"pollUrl": "<string>"
}{
"error": {
"code": "invalid_request",
"message": "<string>",
"details": {}
}
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Headers
The selected client account, as a cl_… id.
"cl_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41"
Your own key for this write, ^[A-Za-z0-9._:-]{1,128}$. A retry with the same key replays the first answer; the same key with a different request is refused.
"po-inv-2026-114"
Response
Successful Response
Immutable verification application identifier.
^(?:kyb_)?[A-Za-z0-9._:\-]{1,216}$"kyb_9f2c1ab84d7e4f1fa3c65b0e7d9a2c41"
Current public review status.
notStarted, pending, approved, rfi, rejected One-based submission attempt number for this account.
Relative API URL to poll for the latest review state.
Was this page helpful?