Identity Verification Report
The Identity Verification report offers a detailed summary of the fields extracted from the signer-uploaded document for a specified signer. This report is accessible upon either successful or failed completion of the verification process by the signer and is only accessible to the sender.
post/v1/identityVerification/reportCode snippet
curl -X POST 'https://api.boldsign.com/v1/identityVerification/report?documentId=55a6f0cf-xxx-xxxx-xxxx-796d02cb0977' \
-h 'accept: application/json' \
-h 'X-API-KEY: {your-api-key}' \
-h 'Content-Type: application/json' \
-d '{
"EmailId": "[email protected]",
"Order": 1
}'
var apiClient = new ApiClient("https://api.boldsign.com", "{your-api-key}");
var idVerificationClient = new IdVerificationClient(apiClient);
var documentId = "55a6f0cf-xxx-xxxx-xxxx-796d02cb0977";
var verificationReportRequest = new VerificationReportRequest()
{
EmailId = "[email protected]",
Order = 1,
};
var idVerificationReport = idVerificationClient.GetReport(documentId, verificationReportRequest);
import requests
import json
url = "https://api.boldsign.com/v1/identityVerification/report?documentId=55a6f0cf-xxx-xxxx-xxxx-796d02cb0977"
payload = {
"emailId": "[email protected]",
"order": 1
}
headers = {
'accept': 'application/json',
'X-API-KEY': '{your-api-key}', # Replace {your-api-key} with your actual API key
'Content-Type': 'application/json'
}
response = requests.post(url, headers=headers, data=json.dumps(payload))
print(response.text)
const axios = require('axios');
const url = "https://api.boldsign.com/v1/identityVerification/report?documentId=55a6f0cf-xxx-xxxx-xxxx-796d02cb0977";
const payload = {
emailId: "[email protected]",
order: 1
};
const headers = {
'Accept': 'application/json',
'X-API-KEY': '{your-api-key}', // Replace {your-api-key} with your actual API key
'Content-Type': 'application/json'
};
axios.post(url, payload, { headers })
.then(response => {
console.log(response.data);
})
.catch(error => {
console.error('Error:', error.response.data);
});
<?php
require 'vendor/autoload.php';
use GuzzleHttp\Client;
$url = 'https://api.boldsign.com/v1/identityVerification/report?documentId=55a6f0cf-xxx-xxxx-xxxx-796d02cb0977';
$payload = [
'emailId' => '[email protected]',
'order' => 1
];
$headers = [
'Accept' => 'application/json',
'X-API-KEY' => '{your-api-key}', // Replace {your-api-key} with your actual API key
'Content-Type' => 'application/json'
];
$client = new Client();
$response = $client->post($url, [
'headers' => $headers,
'json' => $payload
]);
echo $response->getBody()->getContents();
?>
Query parameters
| documentIdstring Required | The document ID of the signer uploaded document for which the report is to be fetched. |
Request body
| EmailIdstring | The email address of the user for which the report is to be fetched. Required when Email delivery mode is assigned for the signer. |
| CountryCodestring | The country code of the user for which the report is to be fetched. Required when SMS delivery mode is assigned for the signer. |
| PhoneNumberstring | The phone number of the user for which the report is to be fetched. Required when SMS delivery mode is assigned for the signer. |
| Orderinteger | The order of the signer. |
| OnBehalfOfstring | The email address of the user on behalf of whom the report is to be fetched. Required when the sender is fetching the report on behalf of the sender identity. |
Example response
200 Success
{
"verificationResult": "requires_input",
"verifiedDate": "2025-08-28T10:16:24Z",
"error": {
"code": "document_unverified_other",
"message": "The document is invalid."
},
"document": {
"type": "passport",
"firstName": "Jenny",
"lastName": "Rosen",
"country": "US",
"documentNumber": "000000000",
"address": null,
"dob": null,
"issuedDate": {
"day": 1,
"month": 1,
"year": 2015
},
"expirationDate": {
"day": 12,
"month": 1,
"year": 2030
},
"documentFiles": [
"5f9afa85-4a64-4702-93f6-5240ff84ffd3"
],
"selfieFile": "831f420f-a865-4120-9d0f-5b3db3a74b78"
}
}
Error code response
When identity verification fails, the response return an error code along with a descriptive message. Below are some of the potential error codes you may encounter.
| Error Code | Description |
consent_declined | The user declined to proceed with the identity verification process. |
under_supported_age | The user is below the minimum age required for identity verification. |
country_not_supported | Identity verification is not available for users from the specified country. |
document_expired | The submitted identity document is no longer valid due to expiration. |
document_unverified_other | The identity document could not be verified. Ensure the document is clear, valid, and meets the supported requirements. |
document_type_not_supported | The submitted document type is not permitted for this verification session. |
selfie_document_missing_photo | The submitted identity document does not contain a visible facial image. |
selfie_face_mismatch | The captured selfie does not match the face shown in the identity document. |
selfie_unverified_other | The submitted selfie could not be verified. Ensure the image is clear and meets the verification requirements. |
selfie_manipulated | The captured selfie appears to have been altered or manipulated. |
id_number_unverified_other | The provided ID number could not be verified. Ensure it is valid and supported for verification. |
id_number_insufficient_document_data | The submitted document did not contain enough information to validate the ID number. |
id_number_mismatch | The provided information could not be matched against official or global databases. |
address_mismatch | The provided address information could not be matched against official or global databases. |