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",
"imageBackSide": "base64string_of_back_image",
"template_id": "{your_trust_flow_id}",
"verification_id": "{your_created_verification_id}"
}
'{
"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",
"imageBackSide": "base64string_of_back_image",
"template_id": "{your_trust_flow_id}",
"verification_id": "{your_created_verification_id}"
}
'{
"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

