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/report

Code 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 RequiredThe document ID of the signer uploaded document for which the report is to be fetched.

Request body

EmailIdstringThe email address of the user for which the report is to be fetched. Required when Email delivery mode is assigned for the signer.
CountryCodestringThe country code of the user for which the report is to be fetched. Required when SMS delivery mode is assigned for the signer.
PhoneNumberstringThe phone number of the user for which the report is to be fetched. Required when SMS delivery mode is assigned for the signer.
OrderintegerThe order of the signer.
OnBehalfOfstringThe 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 CodeDescription
consent_declinedThe user declined to proceed with the identity verification process.
under_supported_ageThe user is below the minimum age required for identity verification.
country_not_supportedIdentity verification is not available for users from the specified country.
document_expiredThe submitted identity document is no longer valid due to expiration.
document_unverified_otherThe identity document could not be verified. Ensure the document is clear, valid, and meets the supported requirements.
document_type_not_supportedThe submitted document type is not permitted for this verification session.
selfie_document_missing_photoThe submitted identity document does not contain a visible facial image.
selfie_face_mismatchThe captured selfie does not match the face shown in the identity document.
selfie_unverified_otherThe submitted selfie could not be verified. Ensure the image is clear and meets the verification requirements.
selfie_manipulatedThe captured selfie appears to have been altered or manipulated.
id_number_unverified_otherThe provided ID number could not be verified. Ensure it is valid and supported for verification.
id_number_insufficient_document_dataThe submitted document did not contain enough information to validate the ID number.
id_number_mismatchThe provided information could not be matched against official or global databases.
address_mismatchThe provided address information could not be matched against official or global databases.