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. |