First ID Verification API Call
Step-by-step instructions for your first ID Verification API request
Step 1: Retrieve API Key
Refer to Obtaining Key to retrieve an API Key against your account. Please make ensure the key is kept secure as this is the only way to access our API.
Step 2: Create a new KYC Profile
Download this JSON template and click the import button on the Profile page under web portal, alternatively, you may create your own profile.
Once a profile has been created, take note of the profile ID because you will need it for your API call.
Step 3: Download Test Images
We have prepared some test samples for you to get started, the samples are designed to trigger most response scenarios to help you get a thorough understand of our API.
Document Image: https://www.idanalyzer.com/assets/testsample_id.jpg
Face Image: https://www.idanalyzer.com/assets/testsample_face.jpg
The driving license image was edited in Photoshop:
- Document number replaced
- Firstname and lastname replaced
- Eye color obscured
The face image was recaptured using a phone camera and cropped.
Step 4: Calling ID Verification API
Below is a sample URL with the appropriate authorization header and request body, the document
value for request JSON is a base64 encoded string of an ID card image, it is redacted and should be substituted with your own data.
import requests
import base64
import json
import string
def encode_image(image_path):
"""Encodes an image file into base64."""
with open(image_path, "rb") as image_file:
return base64.b64encode(image_file.read()).decode('utf-8')
# Set up your data
api_key = "your api key"
profile_id = "your profile id"
api_url = "https://api2.idanalyzer.com/scan"
document_image_path = "testsample_id.jpg"
face_image_path = "testsample_face.jpg"
# Encode images
document_base64 = encode_image(document_image_path)
face_base64 = encode_image(face_image_path)
# Build the payload
payload = {
"profile": profile_id,
"document": document_base64,
"face": face_base64
}
# Set headers
headers = {
'X-API-KEY': api_key,
'Accept': 'application/json',
'Content-Type': 'application/json'
}
# Send the POST request
response = requests.post(api_url, headers=headers, data=json.dumps(payload))
# Print the response
print(response.text)
const https = require('https');
const fs = require('fs');
function encodeImage(image_path) {
// Encode an image file into base64
const bitmap = fs.readFileSync(image_path);
return Buffer.from(bitmap).toString('base64');
}
// Set up your data
const api_key = "your api key";
const profile_id = "your profile id";
const api_url = 'https://api2.idanalyzer.com/scan';
const document_image_path = "testsample_id.jpg";
const face_image_path = "testsample_face.jpg";
// Encode images
const document_base64 = encodeImage(document_image_path);
const face_base64 = encodeImage(face_image_path);
// Build the payload
const payload = JSON.stringify({
"profile": profile_id,
"document": document_base64,
"face": face_base64
});
// Set options for the request
const options = {
hostname: 'api2.idanalyzer.com',
port: 443,
path: '/scan',
method: 'POST',
headers: {
'X-API-KEY': api_key,
'Accept': 'application/json',
'Content-Type': 'application/json',
'Content-Length': Buffer.byteLength(payload)
}
};
// Create and send the request
const req = https.request(options, (res) => {
console.log(`Status Code: ${res.statusCode}`);
res.on('data', (data) => {
process.stdout.write(data);
});
});
req.on('error', (error) => {
console.error(error);
});
req.write(payload);
req.end();
<?php
function encodeImage($image_path) {
// Encodes an image file into base64
$image_data = file_get_contents($image_path);
return base64_encode($image_data);
}
// Set up your data
$api_key = "your api key";
$profile_id = "your profile id";
$api_url = "https://api2.idanalyzer.com/scan";
$document_image_path = "testsample_id.jpg";
$face_image_path = "testsample_face.jpg";
// Encode images
$document_base64 = encodeImage($document_image_path);
$face_base64 = encodeImage($face_image_path);
// Build the payload
$payload = array(
"profile" => $profile_id,
"document" => $document_base64,
"face" => $face_base64
);
// Initialize cURL
$ch = curl_init($api_url);
// Set cURL options
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($payload));
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, array(
'X-API-KEY: ' . $api_key,
'Accept: application/json',
'Content-Type: application/json'
));
// Execute the request
$response = curl_exec($ch);
$error = curl_error($ch);
// Close cURL
curl_close($ch);
// Handle the response
if ($error) {
echo "cURL Error: " . $error;
} else {
echo $response;
}
?>
using System;
using System.Collections.Generic;
using System.IO;
using System.Net.Http;
using System.Net.Http.Headers;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json; // You'll need to install the Newtonsoft.Json package
namespace IDAnalyzerExample
{
class Program
{
static async Task Main(string[] args)
{
string apiKey = "your api key"; // Replace with your actual API key
string profileId = "your profile id"; // Replace with your actual profile id
string apiUrl = "https://api2.idanalyzer.com/scan";
string documentImagePath = "testsample_id.jpg";
string faceImagePath = "testsample_face.jpg";
// Encode images to base64
string documentBase64 = ConvertImageToBase64(documentImagePath);
string faceBase64 = ConvertImageToBase64(faceImagePath);
// Create the payload object
var payload = new
{
profile = profileId,
document = documentBase64,
face = faceBase64
};
// Send the HTTP POST request
try
{
using (var client = new HttpClient())
{
client.DefaultRequestHeaders.Add("X-API-KEY", apiKey);
client.DefaultRequestHeaders.Accept.Add(new MediaTypeWithQualityHeaderValue("application/json"));
var content = new StringContent(JsonConvert.SerializeObject(payload), Encoding.UTF8, "application/json");
var response = await client.PostAsync(apiUrl, content);
// Print the response
Console.WriteLine(await response.Content.ReadAsStringAsync());
}
}
catch (Exception ex)
{
Console.WriteLine("Error: " + ex.Message);
}
}
static string ConvertImageToBase64(string imagePath)
{
byte[] imageBytes = File.ReadAllBytes(imagePath);
return Convert.ToBase64String(imageBytes);
}
}
}
package main
import (
"bytes"
"encoding/base64"
"encoding/json"
"fmt"
"io/ioutil"
"net/http"
"os"
"time"
)
type Payload struct {
Profile string `json:"profile"`
Document string `json:"document"`
Face string `json:"face"`
}
func main() {
apiKey := "your api key" // Replace with your actual API key
profileID := "your profile id" // Replace with your actual profile id
apiURL := "https://api2.idanalyzer.com/scan"
documentImagePath := "testsample_id.jpg"
faceImagePath := "testsample_face.jpg"
// Encode images to base64
documentBase64, err := encodeImage(documentImagePath)
if err != nil {
fmt.Println("Error encoding document image:", err)
return
}
faceBase64, err := encodeImage(faceImagePath)
if err != nil {
fmt.Println("Error encoding face image:", err)
return
}
// Create the payload
payload := Payload{
Profile: profileID,
Document: documentBase64,
Face: faceBase64,
}
jsonPayload, err := json.Marshal(payload)
if err != nil {
fmt.Println("Error creating JSON payload:", err)
return
}
// Create the HTTP request
req, err := http.NewRequest("POST", apiURL, bytes.NewBuffer(jsonPayload))
if err != nil {
fmt.Println("Error creating HTTP request:", err)
return
}
req.Header.Set("X-API-KEY", apiKey)
req.Header.Set("Content-Type", "application/json")
// Send the request
client := &http.Client{}
resp, err := client.Do(req)
if err != nil {
fmt.Println("Error sending HTTP request:", err)
return
}
defer resp.Body.Close()
// Read the response
body, err := ioutil.ReadAll(resp.Body)
if err != nil {
fmt.Println("Error reading response:", err)
return
}
fmt.Println(string(body))
}
func encodeImage(imagePath string) (string, error) {
file, err := os.Open(imagePath)
if err != nil {
return "", err
}
defer file.Close()
fileInfo, _ := file.Stat()
size := fileInfo.Size()
buffer := make([]byte, size)
file.Read(buffer)
return base64.StdEncoding.EncodeToString(buffer), nil
}
# Set your variables (replace with actual values)
api_key="YOUR_ACTUAL_API_KEY"
profile_id="YOUR_PROFILE_ID"
api_url="https://api2.idanalyzer.com/scan"
document_image_path="testsample_id.jpg"
face_image_path="testsample_face.jpg"
# Base64 encode the images
document_base64=$(base64 -w 0 $document_image_path)
face_base64=$(base64 -w 0 $face_image_path)
# Build the JSON payload (escape double quotes)
payload=$(jq -n \
--arg profile "$profile_id" \
--arg document "$document_base64" \
--arg face "$face_base64" \
'{profile: $profile, document: $document, face: $face}')
# Send the POST request with cURL
curl -X POST \
-H "X-API-KEY: $api_key" \
-H "Content-Type: application/json" \
-d "$payload" \
$api_url
Step 5: Retrieving 200 Results
The above request is responded by a 200
Response Code with the following JSON.
{
"success": true,
"transactionId": "8eea087441534df8aabaa33b917a328f",
"data": {
"address1": [
{
"value": "2570 24TH STREET",
"confidence": 0.989,
"source": "visual",
"index": 0,
"inputBox": [
[
344,
315
],
[
570,
315
],
[
570,
340
],
[
344,
340
]
],
"outputBox": [
[
344,
315
],
[
570,
315
],
[
570,
340
],
[
344,
340
]
]
}
],
"address2": [
{
"value": "ANYTOWN, CA",
"confidence": 0.992,
"source": "visual",
"index": 0,
"inputBox": [
[
345,
341
],
[
516,
341
],
[
516,
365
],
[
345,
365
]
],
"outputBox": [
[
345,
341
],
[
516,
341
],
[
516,
365
],
[
345,
365
]
]
}
],
"age": [
{
"value": "46",
"confidence": 0.992,
"source": "visual",
"index": 0,
"inputBox": [
[
402,
373
],
[
590,
373
],
[
590,
409
],
[
402,
409
]
],
"outputBox": [
[
402,
373
],
[
590,
373
],
[
590,
409
],
[
402,
409
]
]
}
],
"countryFull": [
{
"value": "United States",
"confidence": 1,
"source": "visual",
"index": 0
}
],
"countryIso2": [
{
"value": "US",
"confidence": 1,
"source": "visual",
"index": 0
}
],
"countryIso3": [
{
"value": "USA",
"confidence": 1,
"source": "visual",
"index": 0
}
],
"daysFromIssue": [
{
"value": "5300",
"confidence": 0.991,
"source": "visual",
"index": 0,
"inputBox": [
[
655,
569
],
[
655,
569
],
[
655,
592
],
[
655,
592
]
],
"outputBox": [
[
655,
569
],
[
655,
569
],
[
655,
592
],
[
655,
592
]
]
}
],
"daysToExpiry": [
{
"value": "-3474",
"confidence": 0.994,
"source": "visual",
"index": 0,
"inputBox": [
[
398,
198
],
[
583,
198
],
[
583,
233
],
[
398,
233
]
],
"outputBox": [
[
398,
198
],
[
583,
198
],
[
583,
233
],
[
398,
233
]
]
}
],
"dob": [
{
"value": "1977-08-31",
"confidence": 0.992,
"source": "visual",
"index": 0,
"inputBox": [
[
402,
373
],
[
590,
373
],
[
590,
409
],
[
402,
409
]
],
"outputBox": [
[
402,
373
],
[
590,
373
],
[
590,
409
],
[
402,
409
]
]
}
],
"dobDay": [
{
"value": "31",
"confidence": 0.992,
"source": "visual",
"index": 0,
"inputBox": [
[
402,
373
],
[
590,
373
],
[
590,
409
],
[
402,
409
]
],
"outputBox": [
[
402,
373
],
[
590,
373
],
[
590,
409
],
[
402,
409
]
]
}
],
"dobMonth": [
{
"value": "8",
"confidence": 0.992,
"source": "visual",
"index": 0,
"inputBox": [
[
402,
373
],
[
590,
373
],
[
590,
409
],
[
402,
409
]
],
"outputBox": [
[
402,
373
],
[
590,
373
],
[
590,
409
],
[
402,
409
]
]
}
],
"dobYear": [
{
"value": "1977",
"confidence": 0.992,
"source": "visual",
"index": 0,
"inputBox": [
[
402,
373
],
[
590,
373
],
[
590,
409
],
[
402,
409
]
],
"outputBox": [
[
402,
373
],
[
590,
373
],
[
590,
409
],
[
402,
409
]
]
}
],
"document": [
{
"value": "",
"confidence": 0.6875543594360352,
"index": 0
}
],
"documentNumber": [
{
"value": "03062567",
"confidence": 0.991,
"source": "visual",
"index": 0,
"inputBox": [
[
385,
152
],
[
603,
152
],
[
603,
188
],
[
385,
188
]
],
"outputBox": [
[
385,
152
],
[
603,
152
],
[
603,
188
],
[
385,
188
]
]
}
],
"documentSide": [
{
"value": "FRONT",
"confidence": 1,
"source": "visual",
"index": 0
}
],
"documentType": [
{
"value": "D",
"confidence": 1,
"source": "visual",
"index": 0
}
],
"endorsement": [
{
"value": "NONE",
"confidence": 0.988,
"source": "visual",
"index": 0,
"inputBox": [
[
655,
207
],
[
655,
207
],
[
655,
231
],
[
655,
231
]
],
"outputBox": [
[
655,
207
],
[
655,
207
],
[
655,
231
],
[
655,
231
]
]
}
],
"expiry": [
{
"value": "2014-08-31",
"confidence": 0.994,
"source": "visual",
"index": 0,
"inputBox": [
[
398,
198
],
[
583,
198
],
[
583,
233
],
[
398,
233
]
],
"outputBox": [
[
398,
198
],
[
583,
198
],
[
583,
233
],
[
398,
233
]
]
}
],
"expiryDay": [
{
"value": "31",
"confidence": 0.994,
"source": "visual",
"index": 0,
"inputBox": [
[
398,
198
],
[
583,
198
],
[
583,
233
],
[
398,
233
]
],
"outputBox": [
[
398,
198
],
[
583,
198
],
[
583,
233
],
[
398,
233
]
]
}
],
"expiryMonth": [
{
"value": "8",
"confidence": 0.994,
"source": "visual",
"index": 0,
"inputBox": [
[
398,
198
],
[
583,
198
],
[
583,
233
],
[
398,
233
]
],
"outputBox": [
[
398,
198
],
[
583,
198
],
[
583,
233
],
[
398,
233
]
]
}
],
"expiryYear": [
{
"value": "2014",
"confidence": 0.994,
"source": "visual",
"index": 0,
"inputBox": [
[
398,
198
],
[
583,
198
],
[
583,
233
],
[
398,
233
]
],
"outputBox": [
[
398,
198
],
[
583,
198
],
[
583,
233
],
[
398,
233
]
]
}
],
"face": [
{
"value": "",
"confidence": 1,
"index": 0
},
{
"value": "",
"confidence": 0.7902450906112173,
"index": 0
}
],
"firstName": [
{
"value": "UMAR",
"confidence": 0.989,
"source": "visual",
"index": 0,
"inputBox": [
[
388,
285
],
[
475,
285
],
[
475,
312
],
[
388,
312
]
],
"outputBox": [
[
388,
285
],
[
475,
285
],
[
475,
312
],
[
388,
312
]
]
}
],
"fullName": [
{
"value": "UMAR HAMMAMI",
"confidence": 0.989,
"source": "visual",
"index": 0,
"inputBox": [
[
386,
246
],
[
556,
246
],
[
556,
312
],
[
386,
312
]
],
"outputBox": [
[
386,
246
],
[
556,
246
],
[
556,
312
],
[
386,
312
]
]
}
],
"hairColor": [
{
"value": "BRN",
"confidence": 0.998,
"source": "visual",
"index": 0,
"inputBox": [
[
655,
506
],
[
655,
506
],
[
655,
528
],
[
655,
528
]
],
"outputBox": [
[
655,
506
],
[
655,
506
],
[
655,
528
],
[
655,
528
]
]
}
],
"height": [
{
"value": "5'-05\"",
"confidence": 0.951,
"source": "visual",
"index": 0,
"inputBox": [
[
508,
532
],
[
579,
532
],
[
579,
557
],
[
508,
557
]
],
"outputBox": [
[
508,
532
],
[
579,
532
],
[
579,
557
],
[
508,
557
]
]
}
],
"internalId": [
{
"value": "1739",
"confidence": 1,
"source": "visual",
"index": 0
}
],
"issued": [
{
"value": "2009-08-31",
"confidence": 0.991,
"source": "visual",
"index": 0,
"inputBox": [
[
655,
569
],
[
655,
569
],
[
655,
592
],
[
655,
592
]
],
"outputBox": [
[
655,
569
],
[
655,
569
],
[
655,
592
],
[
655,
592
]
]
}
],
"issuedDay": [
{
"value": "31",
"confidence": 0.991,
"source": "visual",
"index": 0,
"inputBox": [
[
655,
569
],
[
655,
569
],
[
655,
592
],
[
655,
592
]
],
"outputBox": [
[
655,
569
],
[
655,
569
],
[
655,
592
],
[
655,
592
]
]
}
],
"issuedMonth": [
{
"value": "8",
"confidence": 0.991,
"source": "visual",
"index": 0,
"inputBox": [
[
655,
569
],
[
655,
569
],
[
655,
592
],
[
655,
592
]
],
"outputBox": [
[
655,
569
],
[
655,
569
],
[
655,
592
],
[
655,
592
]
]
}
],
"issuedYear": [
{
"value": "2009",
"confidence": 0.991,
"source": "visual",
"index": 0,
"inputBox": [
[
655,
569
],
[
655,
569
],
[
655,
592
],
[
655,
592
]
],
"outputBox": [
[
655,
569
],
[
655,
569
],
[
655,
592
],
[
655,
592
]
]
}
],
"lastName": [
{
"value": "HAMMAMI",
"confidence": 0.996,
"source": "visual",
"index": 0,
"inputBox": [
[
386,
246
],
[
556,
246
],
[
556,
277
],
[
386,
277
]
],
"outputBox": [
[
386,
246
],
[
556,
246
],
[
556,
277
],
[
386,
277
]
]
}
],
"nationalityFull": [
{
"value": "United States",
"confidence": 1,
"source": "visual",
"index": 0
}
],
"nationalityIso2": [
{
"value": "US",
"confidence": 1,
"source": "visual",
"index": 0
}
],
"nationalityIso3": [
{
"value": "USA",
"confidence": 1,
"source": "visual",
"index": 0
}
],
"postcode": [
{
"value": "403062567",
"confidence": 0.991,
"source": "visual",
"index": 0,
"inputBox": [
[
385,
152
],
[
603,
152
],
[
603,
188
],
[
385,
188
]
],
"outputBox": [
[
385,
152
],
[
603,
152
],
[
603,
188
],
[
385,
188
]
]
}
],
"restrictions": [
{
"value": "NONE",
"confidence": 0.944,
"source": "visual",
"index": 0,
"inputBox": [
[
416,
412
],
[
490,
412
],
[
490,
442
],
[
416,
442
]
],
"outputBox": [
[
416,
412
],
[
490,
412
],
[
490,
442
],
[
416,
442
]
]
}
],
"sex": [
{
"value": "F",
"confidence": 0.996,
"source": "visual",
"index": 0,
"inputBox": [
[
505,
505
],
[
520,
505
],
[
520,
529
],
[
505,
529
]
],
"outputBox": [
[
505,
505
],
[
520,
505
],
[
520,
529
],
[
505,
529
]
]
}
],
"signature": [
{
"value": "",
"confidence": 0.8549978733062744,
"index": 0
}
],
"stateFull": [
{
"value": "California",
"confidence": 1,
"source": "visual",
"index": 0
}
],
"stateShort": [
{
"value": "CA",
"confidence": 1,
"source": "visual",
"index": 0
}
],
"vehicleClass": [
{
"value": "C",
"confidence": 0.998,
"source": "visual",
"index": 0,
"inputBox": [
[
655,
141
],
[
655,
141
],
[
655,
166
],
[
655,
166
]
],
"outputBox": [
[
655,
141
],
[
655,
141
],
[
655,
166
],
[
655,
166
]
]
}
],
"weight": [
{
"value": "125",
"confidence": 0.998,
"source": "visual",
"index": 0,
"inputBox": [
[
655,
534
],
[
655,
534
],
[
655,
557
],
[
655,
557
]
],
"outputBox": [
[
655,
534
],
[
655,
534
],
[
655,
557
],
[
655,
557
]
]
}
]
},
"outputImage": {
"front": "https://api2-eu.idanalyzer.com/image/8eea087441534df8aabaa33b917a328f/4efccb153d3083ece2ecc10f2af509aae7b0d2118918ab2417f370f592b8f30e/front.jpg",
"face": "https://api2-eu.idanalyzer.com/image/8eea087441534df8aabaa33b917a328f/4efccb153d3083ece2ecc10f2af509aae7b0d2118918ab2417f370f592b8f30e/face.jpg"
},
"outputFile": [
{
"name": "Transaction Audit Report",
"fileName": "transaction-audit-report_hKK1Eq6Ep1fz9PJ3IcMu20nGtGQoP0tc.pdf",
"fileUrl": "https://api2-eu.idanalyzer.com/filevault/transaction-audit-report_hKK1Eq6Ep1fz9PJ3IcMu20nGtGQoP0tc.pdf"
}
],
"warning": [
{
"code": "IP_COUNTRY_MISMATCH",
"description": "Inconsistency between user IP address country (TW) and document country (US).",
"severity": "low",
"confidence": 1,
"decision": "accept"
},
{
"code": "MISSING_EYE_COLOR",
"description": "Eye color is missing or cannot be read.",
"severity": "low",
"confidence": 1,
"decision": "accept"
},
{
"code": "FAKE_ID",
"description": "The document uploaded is a fake or sample document, not an authentic document. Matching keyword from database.",
"severity": "high",
"confidence": 1,
"decision": "reject"
},
{
"code": "INVALID_CAMERA_PERSPECTIVE",
"description": "The document image is not a naturally taken photo using a camera, it could be scanned or computer generated.",
"severity": "medium",
"confidence": 0.5,
"decision": "review"
},
{
"code": "DOCUMENT_EXPIRED",
"description": "Document has already expired.",
"severity": "high",
"confidence": 0.994,
"decision": "reject"
},
{
"code": "AML_SANCTION",
"description": "Potential match from AML sanction database.",
"severity": "medium",
"confidence": 1,
"decision": "review",
"data": {
"address": [
"Somalia"
],
"alias": [
"Abu Mansour Al-Amriki",
"Umar Hammami",
"Abu Maansuur Al-Amriki",
"Abu Mansuur Al-Amriki",
"Abu Mansur Al-Amriki"
],
"birthplace": [
"Alabama, United States"
],
"database": "au_dfat",
"documentnumber": null,
"entity": "person",
"fullname": [
"Omar Hammami"
],
"nationality": [
"US"
],
"note": [
"Also believed to hold Syrian nationality. Passport: 403062567 (US). Social Security Number: 423-31-3021 (US). Married to a Somali woman. Lived in Egypt in 2005 and moved to Somalia in 2009"
],
"schema": "sanction",
"source": [
"http://dfat.gov.au/international-relations/security/sanctions/Pages/sanctions.aspx"
],
"status": [
"Listed by UN 751 Committee on 28 July 2011"
],
"time": "2012-02-27T07:00:00+08:00"
}
},
{
"code": "AML_SANCTION",
"description": "Potential match from AML sanction database.",
"severity": "medium",
"confidence": 1,
"decision": "review",
"data": {
"alias": [
"Abu Mansur AL-AMRIKI",
"Omar Shafik HAMMAMI",
"Abu Mansour AL-AMRIKI",
"Farouq",
"Abu Mansuur AL-AMRIKI",
"Farouk",
"Umar HAMMAMI"
],
"birthplace": [
"Alabama, USA"
],
"database": "us_ofac",
"documentnumber": "[{\"id\":\"403062567\",\"id_formatted\":\"403062567\",\"country\":\"us\",\"type\":\"P\"},{\"id\":\"423-31-3021\",\"id_formatted\":\"423313021\",\"country\":\"us\",\"type\":\"I\"}]",
"entity": "person",
"fullname": [
"Omar HAMMAMI"
],
"nationality": [
"US"
],
"note": [
"Unknown"
],
"program": [
"SDN List"
],
"schema": "sanction",
"source": [
"https://www.treasury.gov/resource-center/sanctions/Pages/default.aspx"
],
"time": "2011-07-29T06:00:00+08:00"
}
},
{
"code": "IMAGE_EDITED",
"description": "The front document image contains exif header indicating that it was edited in Adobe Photoshop 25.5.",
"severity": "medium",
"confidence": 1,
"decision": "review"
},
{
"code": "IMAGE_FORGERY",
"description": "The document image possibly contains forged elements which warrants a manual review or rejection.",
"severity": "high",
"confidence": 0.9561275243759155,
"decision": "review"
},
{
"code": "TEXT_FORGERY",
"description": "Possible artificial text modification detected on the following text fragments: firstName.",
"severity": "medium",
"confidence": 1,
"decision": "review"
},
{
"code": "TEXT_FORGERY",
"description": "Possible artificial text modification detected on the following text fragments: documentNumber.",
"severity": "medium",
"confidence": 1,
"decision": "review"
},
{
"code": "TEXT_FORGERY",
"description": "Possible artificial text modification detected on the following text fragments: lastName.",
"severity": "medium",
"confidence": 1,
"decision": "review"
},
{
"code": "FACE_LIVENESS_ERR",
"description": "Selfie photo liveness verification failed.",
"severity": "high",
"confidence": 0.6584155559539795,
"decision": "reject"
}
],
"missingFields": [
"eyeColor"
],
"profileId": "3ed13669b87f48e3bf884f02534e430b",
"reviewScore": 8,
"rejectScore": 3,
"decision": "reject",
"quota": 100,
"credit": 124,
"executionTime": 5.235078421
}
ID Analyzer has successfully identified all the edits made in Photoshop, and recognized that the selfie photo is not a live person.
We have also opted to generate an PDF Audit Report for this transaction, you can view it here.
Updated 7 months ago