Document Verification V2 Beta
curl --request POST \
--url https://{environment-subdomain}.idmetagroup.com/api/v1/verification/document_verification \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"imageFrontSide": "base64string_of_front_image",
"template_id": "{your_trust_flow_id}",
"verification_id": "{your_created_verification_id}"
}
'import requests
url = "https://{environment-subdomain}.idmetagroup.com/api/v1/verification/document_verification"
payload = {
"imageFrontSide": "base64string_of_front_image",
"template_id": "{your_trust_flow_id}",
"verification_id": "{your_created_verification_id}"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
imageFrontSide: 'base64string_of_front_image',
template_id: '{your_trust_flow_id}',
verification_id: '{your_created_verification_id}'
})
};
fetch('https://{environment-subdomain}.idmetagroup.com/api/v1/verification/document_verification', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{environment-subdomain}.idmetagroup.com/api/v1/verification/document_verification",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'imageFrontSide' => 'base64string_of_front_image',
'template_id' => '{your_trust_flow_id}',
'verification_id' => '{your_created_verification_id}'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{environment-subdomain}.idmetagroup.com/api/v1/verification/document_verification"
payload := strings.NewReader("{\n \"imageFrontSide\": \"base64string_of_front_image\",\n \"template_id\": \"{your_trust_flow_id}\",\n \"verification_id\": \"{your_created_verification_id}\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{environment-subdomain}.idmetagroup.com/api/v1/verification/document_verification")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"imageFrontSide\": \"base64string_of_front_image\",\n \"template_id\": \"{your_trust_flow_id}\",\n \"verification_id\": \"{your_created_verification_id}\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{environment-subdomain}.idmetagroup.com/api/v1/verification/document_verification")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"imageFrontSide\": \"base64string_of_front_image\",\n \"template_id\": \"{your_trust_flow_id}\",\n \"verification_id\": \"{your_created_verification_id}\"\n}"
response = http.request(request)
puts response.read_body{
"processingStatus": "Completed",
"verification": {
"recommendedOutcome": "Accept",
"result": "Pass",
"certaintyLevel": "High",
"performedChecks": 16,
"type": "DetailedCheck"
},
"checks": [
{
"name": "ExtractedDataCheck",
"result": "Pass",
"certaintyLevel": "High",
"type": "DetailedCheck",
"checks": [
{
"name": "MatchCheck",
"result": "NotPerformed",
"matchLevel": "Unknown",
"type": "TieredCheck",
"checks": [
{
"field": "FirstName",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "LastName",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "FullName",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "Address",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "PlaceOfBirth",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "Race",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "Religion",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "Profession",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "MaritalStatus",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "ResidentialStatus",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "Employer",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "Sex",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "DateOfBirth",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "DateOfIssue",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "DateOfExpiry",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "DocumentNumber",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "PersonalIdNumber",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "DocumentAdditionalNumber",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "DocumentOptionalAdditionalNumber",
"result": "NotPerformed",
"type": "FieldCheck"
}
]
},
{
"name": "LogicCheck",
"result": "Pass",
"type": "Check",
"checks": [
{
"name": "DateLogicCheck",
"result": "Pass",
"type": "Check",
"checks": [
{
"name": "DateOfBirthInPastCheck",
"result": "Pass",
"type": "Check"
}
]
},
{
"name": "DocumentNumberLogic",
"result": "Pass",
"type": "Check"
}
]
},
{
"name": "FieldFormatCheck",
"result": "Pass",
"type": "Check",
"checks": [
{
"field": "DateOfBirth",
"result": "Pass",
"type": "FieldCheck"
},
{
"field": "DocumentNumber",
"result": "Pass",
"type": "FieldCheck"
},
{
"field": "Sex",
"result": "Pass",
"type": "FieldCheck"
}
]
},
{
"name": "BarcodeAuthenticity",
"result": "NotPerformed",
"matchLevel": "Unknown",
"type": "TieredCheck",
"checks": [
{
"name": "ContentCheck",
"result": "NotPerformed",
"type": "Check"
},
{
"name": "ReadCheck",
"result": "NotPerformed",
"type": "Check"
}
]
},
{
"name": "SuspiciousDataCheck",
"result": "Pass",
"certaintyLevel": "High",
"type": "DetailedCheck",
"checks": [
{
"name": "SuspiciousNumberCheck",
"result": "Pass",
"certaintyLevel": "High",
"type": "DetailedCheck"
},
{
"name": "SampleStringCheck",
"result": "Pass",
"certaintyLevel": "High",
"type": "DetailedCheck"
}
]
},
{
"name": "DataIntegrityCheck",
"result": "Pass",
"type": "Check"
},
{
"name": "MRZCheck",
"result": "NotPerformed",
"type": "Check",
"checks": [
{
"name": "Parsed",
"result": "NotPerformed",
"type": "Check"
},
{
"name": "CheckDigits",
"result": "NotPerformed",
"type": "Check"
}
]
}
]
},
{
"name": "DocumentLivenessCheck",
"result": "Pass",
"type": "Check",
"checks": [
{
"name": "ScreenCheck",
"result": "Pass",
"matchLevel": "Level10",
"type": "TieredCheck"
},
{
"name": "PhotocopyCheck",
"result": "Pass",
"matchLevel": "Level10",
"type": "TieredCheck"
}
]
},
{
"name": "VisualCheck",
"result": "Pass",
"type": "Check",
"checks": [
{
"name": "PhotoForgeryCheck",
"result": "Pass",
"matchLevel": "Level10",
"type": "TieredCheck"
},
{
"name": "SecurityFeatures",
"result": "Pass",
"matchLevel": "Level10",
"type": "TieredCheck",
"details": {
"Segments": [
{
"result": "Pass",
"type": "Rectangle",
"bounds": {
"x": 0.041353516,
"y": 0.019382654,
"width": 0.5466787,
"height": 0.20280664
}
},
{
"result": "Pass",
"type": "Rectangle",
"bounds": {
"x": 0.5870397,
"y": 0.0046767755,
"width": 0.15426645,
"height": 0.23176001
}
},
{
"result": "Pass",
"type": "Rectangle",
"bounds": {
"x": 0.7454213,
"y": 0.029417524,
"width": 0.2191328,
"height": 0.19485275
}
},
{
"result": "Pass",
"type": "Rectangle",
"bounds": {
"x": 0.09376193,
"y": 0.324977,
"width": 0.17347312,
"height": 0.24438348
}
}
]
}
},
{
"name": "GenerativeAiCheck",
"result": "NotPerformed",
"matchLevel": "Unknown",
"type": "TieredCheck"
}
]
},
{
"name": "DocumentValidityCheck",
"result": "NotPerformed",
"type": "Check",
"checks": [
{
"name": "VersionCheck",
"result": "NotPerformed",
"type": "Check"
},
{
"name": "ExpiredCheck",
"result": "NotPerformed",
"type": "Check"
}
]
}
],
"processIndicators": [
{
"name": "Clarity",
"type": "ImageQuality",
"result": "Pass"
},
{
"name": "HandPresence",
"type": "ScanProcess",
"result": "Fail"
},
{
"name": "Cropped",
"type": "ImageQuality",
"result": "Pass"
}
],
"extraction": {
"processingStatus": "AwaitingOtherSide",
"recognitionStatus": "StageValid",
"overall": [
{
"side": "Unknown",
"script": "Latin",
"value": "JOHN DOE",
"type": "DetailedStringResult",
"field": "FullName"
},
{
"side": "Unknown",
"script": "Latin",
"value": "SAMPLE ADDRESS",
"type": "DetailedStringResult",
"field": "Address"
},
{
"originalResult": [
{
"side": "Unknown",
"script": "Latin",
"value": "900101",
"type": "DetailedStringResult"
}
],
"day": 1,
"month": 1,
"year": 1990,
"successfullyParsed": true,
"filledByDomainKnowledge": false,
"type": "DetailedDateResult",
"field": "DateOfBirth"
},
{
"side": "Unknown",
"script": "Latin",
"value": "900101-08-5555",
"type": "DetailedStringResult",
"field": "DocumentNumber"
},
{
"side": "Unknown",
"script": "Latin",
"value": "LELAKI",
"type": "DetailedStringResult",
"field": "Sex"
}
],
"viz": {
"front": [
{
"side": "Front",
"script": "Latin",
"value": "JOHN DOE",
"type": "DetailedStringResult",
"field": "FullName"
},
{
"side": "Front",
"script": "Latin",
"value": "SAMPLE ADDRESS",
"type": "DetailedStringResult",
"field": "Address"
},
{
"originalResult": [
{
"side": "Unknown",
"script": "Latin",
"value": "900101",
"type": "DetailedStringResult"
}
],
"day": 1,
"month": 1,
"year": 1990,
"successfullyParsed": true,
"filledByDomainKnowledge": false,
"type": "DetailedDateResult",
"field": "DateOfBirth"
},
{
"side": "Front",
"script": "Latin",
"value": "900101-08-5555",
"type": "DetailedStringResult",
"field": "DocumentNumber"
},
{
"side": "Front",
"script": "Latin",
"value": "LELAKI",
"type": "DetailedStringResult",
"field": "Sex"
}
],
"back": []
},
"barcode": [
{
"value": "",
"type": "StringResult",
"field": "RawDataBase64"
}
],
"classInfo": {
"country": "Malaysia",
"type": "MyKad",
"region": "None",
"isoAlpha3CountryCode": "MYS",
"isoAlpha2CountryCode": "MY",
"isoNumericCountryCode": "458"
}
},
"images": [
{
"name": "FullDocumentFrontImage",
"base64": "https://storage.googleapis.com/..."
},
{
"name": "FaceImage",
"base64": "https://storage.googleapis.com/..."
}
]
}Compliance
Document Verification
Validate document authenticity and integrity through forensic checks.
POST
/
api
/
v1
/
verification
/
document_verification
Document Verification V2 Beta
curl --request POST \
--url https://{environment-subdomain}.idmetagroup.com/api/v1/verification/document_verification \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"imageFrontSide": "base64string_of_front_image",
"template_id": "{your_trust_flow_id}",
"verification_id": "{your_created_verification_id}"
}
'import requests
url = "https://{environment-subdomain}.idmetagroup.com/api/v1/verification/document_verification"
payload = {
"imageFrontSide": "base64string_of_front_image",
"template_id": "{your_trust_flow_id}",
"verification_id": "{your_created_verification_id}"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
imageFrontSide: 'base64string_of_front_image',
template_id: '{your_trust_flow_id}',
verification_id: '{your_created_verification_id}'
})
};
fetch('https://{environment-subdomain}.idmetagroup.com/api/v1/verification/document_verification', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://{environment-subdomain}.idmetagroup.com/api/v1/verification/document_verification",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'imageFrontSide' => 'base64string_of_front_image',
'template_id' => '{your_trust_flow_id}',
'verification_id' => '{your_created_verification_id}'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://{environment-subdomain}.idmetagroup.com/api/v1/verification/document_verification"
payload := strings.NewReader("{\n \"imageFrontSide\": \"base64string_of_front_image\",\n \"template_id\": \"{your_trust_flow_id}\",\n \"verification_id\": \"{your_created_verification_id}\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://{environment-subdomain}.idmetagroup.com/api/v1/verification/document_verification")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"imageFrontSide\": \"base64string_of_front_image\",\n \"template_id\": \"{your_trust_flow_id}\",\n \"verification_id\": \"{your_created_verification_id}\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{environment-subdomain}.idmetagroup.com/api/v1/verification/document_verification")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"imageFrontSide\": \"base64string_of_front_image\",\n \"template_id\": \"{your_trust_flow_id}\",\n \"verification_id\": \"{your_created_verification_id}\"\n}"
response = http.request(request)
puts response.read_body{
"processingStatus": "Completed",
"verification": {
"recommendedOutcome": "Accept",
"result": "Pass",
"certaintyLevel": "High",
"performedChecks": 16,
"type": "DetailedCheck"
},
"checks": [
{
"name": "ExtractedDataCheck",
"result": "Pass",
"certaintyLevel": "High",
"type": "DetailedCheck",
"checks": [
{
"name": "MatchCheck",
"result": "NotPerformed",
"matchLevel": "Unknown",
"type": "TieredCheck",
"checks": [
{
"field": "FirstName",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "LastName",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "FullName",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "Address",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "PlaceOfBirth",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "Race",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "Religion",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "Profession",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "MaritalStatus",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "ResidentialStatus",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "Employer",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "Sex",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "DateOfBirth",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "DateOfIssue",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "DateOfExpiry",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "DocumentNumber",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "PersonalIdNumber",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "DocumentAdditionalNumber",
"result": "NotPerformed",
"type": "FieldCheck"
},
{
"field": "DocumentOptionalAdditionalNumber",
"result": "NotPerformed",
"type": "FieldCheck"
}
]
},
{
"name": "LogicCheck",
"result": "Pass",
"type": "Check",
"checks": [
{
"name": "DateLogicCheck",
"result": "Pass",
"type": "Check",
"checks": [
{
"name": "DateOfBirthInPastCheck",
"result": "Pass",
"type": "Check"
}
]
},
{
"name": "DocumentNumberLogic",
"result": "Pass",
"type": "Check"
}
]
},
{
"name": "FieldFormatCheck",
"result": "Pass",
"type": "Check",
"checks": [
{
"field": "DateOfBirth",
"result": "Pass",
"type": "FieldCheck"
},
{
"field": "DocumentNumber",
"result": "Pass",
"type": "FieldCheck"
},
{
"field": "Sex",
"result": "Pass",
"type": "FieldCheck"
}
]
},
{
"name": "BarcodeAuthenticity",
"result": "NotPerformed",
"matchLevel": "Unknown",
"type": "TieredCheck",
"checks": [
{
"name": "ContentCheck",
"result": "NotPerformed",
"type": "Check"
},
{
"name": "ReadCheck",
"result": "NotPerformed",
"type": "Check"
}
]
},
{
"name": "SuspiciousDataCheck",
"result": "Pass",
"certaintyLevel": "High",
"type": "DetailedCheck",
"checks": [
{
"name": "SuspiciousNumberCheck",
"result": "Pass",
"certaintyLevel": "High",
"type": "DetailedCheck"
},
{
"name": "SampleStringCheck",
"result": "Pass",
"certaintyLevel": "High",
"type": "DetailedCheck"
}
]
},
{
"name": "DataIntegrityCheck",
"result": "Pass",
"type": "Check"
},
{
"name": "MRZCheck",
"result": "NotPerformed",
"type": "Check",
"checks": [
{
"name": "Parsed",
"result": "NotPerformed",
"type": "Check"
},
{
"name": "CheckDigits",
"result": "NotPerformed",
"type": "Check"
}
]
}
]
},
{
"name": "DocumentLivenessCheck",
"result": "Pass",
"type": "Check",
"checks": [
{
"name": "ScreenCheck",
"result": "Pass",
"matchLevel": "Level10",
"type": "TieredCheck"
},
{
"name": "PhotocopyCheck",
"result": "Pass",
"matchLevel": "Level10",
"type": "TieredCheck"
}
]
},
{
"name": "VisualCheck",
"result": "Pass",
"type": "Check",
"checks": [
{
"name": "PhotoForgeryCheck",
"result": "Pass",
"matchLevel": "Level10",
"type": "TieredCheck"
},
{
"name": "SecurityFeatures",
"result": "Pass",
"matchLevel": "Level10",
"type": "TieredCheck",
"details": {
"Segments": [
{
"result": "Pass",
"type": "Rectangle",
"bounds": {
"x": 0.041353516,
"y": 0.019382654,
"width": 0.5466787,
"height": 0.20280664
}
},
{
"result": "Pass",
"type": "Rectangle",
"bounds": {
"x": 0.5870397,
"y": 0.0046767755,
"width": 0.15426645,
"height": 0.23176001
}
},
{
"result": "Pass",
"type": "Rectangle",
"bounds": {
"x": 0.7454213,
"y": 0.029417524,
"width": 0.2191328,
"height": 0.19485275
}
},
{
"result": "Pass",
"type": "Rectangle",
"bounds": {
"x": 0.09376193,
"y": 0.324977,
"width": 0.17347312,
"height": 0.24438348
}
}
]
}
},
{
"name": "GenerativeAiCheck",
"result": "NotPerformed",
"matchLevel": "Unknown",
"type": "TieredCheck"
}
]
},
{
"name": "DocumentValidityCheck",
"result": "NotPerformed",
"type": "Check",
"checks": [
{
"name": "VersionCheck",
"result": "NotPerformed",
"type": "Check"
},
{
"name": "ExpiredCheck",
"result": "NotPerformed",
"type": "Check"
}
]
}
],
"processIndicators": [
{
"name": "Clarity",
"type": "ImageQuality",
"result": "Pass"
},
{
"name": "HandPresence",
"type": "ScanProcess",
"result": "Fail"
},
{
"name": "Cropped",
"type": "ImageQuality",
"result": "Pass"
}
],
"extraction": {
"processingStatus": "AwaitingOtherSide",
"recognitionStatus": "StageValid",
"overall": [
{
"side": "Unknown",
"script": "Latin",
"value": "JOHN DOE",
"type": "DetailedStringResult",
"field": "FullName"
},
{
"side": "Unknown",
"script": "Latin",
"value": "SAMPLE ADDRESS",
"type": "DetailedStringResult",
"field": "Address"
},
{
"originalResult": [
{
"side": "Unknown",
"script": "Latin",
"value": "900101",
"type": "DetailedStringResult"
}
],
"day": 1,
"month": 1,
"year": 1990,
"successfullyParsed": true,
"filledByDomainKnowledge": false,
"type": "DetailedDateResult",
"field": "DateOfBirth"
},
{
"side": "Unknown",
"script": "Latin",
"value": "900101-08-5555",
"type": "DetailedStringResult",
"field": "DocumentNumber"
},
{
"side": "Unknown",
"script": "Latin",
"value": "LELAKI",
"type": "DetailedStringResult",
"field": "Sex"
}
],
"viz": {
"front": [
{
"side": "Front",
"script": "Latin",
"value": "JOHN DOE",
"type": "DetailedStringResult",
"field": "FullName"
},
{
"side": "Front",
"script": "Latin",
"value": "SAMPLE ADDRESS",
"type": "DetailedStringResult",
"field": "Address"
},
{
"originalResult": [
{
"side": "Unknown",
"script": "Latin",
"value": "900101",
"type": "DetailedStringResult"
}
],
"day": 1,
"month": 1,
"year": 1990,
"successfullyParsed": true,
"filledByDomainKnowledge": false,
"type": "DetailedDateResult",
"field": "DateOfBirth"
},
{
"side": "Front",
"script": "Latin",
"value": "900101-08-5555",
"type": "DetailedStringResult",
"field": "DocumentNumber"
},
{
"side": "Front",
"script": "Latin",
"value": "LELAKI",
"type": "DetailedStringResult",
"field": "Sex"
}
],
"back": []
},
"barcode": [
{
"value": "",
"type": "StringResult",
"field": "RawDataBase64"
}
],
"classInfo": {
"country": "Malaysia",
"type": "MyKad",
"region": "None",
"isoAlpha3CountryCode": "MYS",
"isoAlpha2CountryCode": "MY",
"isoNumericCountryCode": "458"
}
},
"images": [
{
"name": "FullDocumentFrontImage",
"base64": "https://storage.googleapis.com/..."
},
{
"name": "FaceImage",
"base64": "https://storage.googleapis.com/..."
}
]
}When the request fails validation or image quality checks, the API may return an error whose message matches one of the entries below.
| Description | Message |
|---|---|
| Document uploaded is not an image | The image front side must be an image. |
| Failure to upload front image | Something went wrong |
| Failure to upload back image | Something went wrong regarding back image status |
| Invalid front/back image extension | Invalid Image, only JPG, JPEG and PNG are allowed |
| Image uploaded is cropped | The provided document is fully cropped which is not in line with image quality guidelines. |
| Image extraction failure due to image quality | Unable to process due to extraction failure. Providing better-quality front and back images might solve this issue. Ensure the images are not cropped and that all edges are visible. |
| Missing front side image | The image front side field is required. |
Authorizations
Use Bearer {your_api_token} in the Authorization header.
Body
application/json
Base64 string for the front-side document image.
Identifier used to categorize or group requests for tracking or reporting.
A unique ID used to identify your verification request.
Base64 string for the back-side document image.
Response
200 - application/json
Document verification completed successfully
⌘I

