📌 The overall result of the identity verification process.
Fetch a Transaction - JSON - Success
When calling a GET - Fetch a Transaction endpoint, you will get a successful response with the following structure:
{
"transaction_id": "string",
"activated_at": "timestamp",
"closed_at": "timestamp",
"created_at": "timestamp",
"created_by": "string",
"flow_type": "string",
"name": "string",
"reference": "string",
"customer_identifier": "string",
"invitation_phone_region_code": "string",
"invitation_phone_number": "string",
"record_redacted_at": "timestamp",
"assets_redacted_at": "timestamp",
"face_redacted_at": "timestamp",
"data_redacted_at": "timestamp",
"status": "string",
"current_step": "string",
"computed_statistics": "<Statistics>",
"data_provider": "<DataProvider>",
"device_info": "<DeviceInfo>",
"documents": "[<Document>]",
"likeness_overall": "string",
"likeness_features": "<Likeness>",
"liveness_attempts": "[<LikenessAttempt>]",
"spoof_result": "string",
"user_details": "<UserDetails>",
"facematch_best_frame": "<Asset>",
"results": "<DfaResult>",
"pdf_report_number": "string"
}
The table below will explain every field contained in the response:
Note:
There will be various responses depending on user activity. There are two categories:
- Mandatory: means the field and its value will always be returned, even with
null
values.- Optional: means the field would not exist in some cases. I.e., the transaction is not completed yet. Thus, some fields are missing.
Fields | Data Type | Mandatory/Optional | Description | Possible Responses |
---|---|---|---|---|
transaction_id | String | Mandatory | The generated transaction ID retrieved from the Create a Transaction endpoint or the user. | It will always be present. |
activated_at | Timestamp | Optional | Timestamp when the transaction was opened by the user for the first time. | If the transaction status is PENDING , this field will not exist. |
closed_at | Timestamp | Optional | Timestamp when the transaction was closed with Cancelled or Expired status. | If the transaction status is PENDING , INPROGRESS or SUBMITTED , this field will not exist. |
created_at | Timestamp | Mandatory | Timestamp when the transaction was created. | It will always be present. |
created_by | String | Mandatory | Specify by whom the transaction was created. Value can be USER if created on the portal, or API if created through the Create a Transaction endpoint. | It will always be present. |
doc_only | Boolean | Mandatory | Document Only flow, which disables Facematch and Liveness checks. | - true if the client has Document Only configuration On.- Otherwise, it will return false . |
flow_type | String | Mandatory | The mobile flow type setting. | It will always be present. |
name | String | Optional | Transaction-related name or the user's name. | - If it is not specified while creating the transaction, this field will not exist. - Otherwise, it will always be present. |
reference | String | Optional | Transaction reference. This field can be used to track and manage transactions from a technical point of view. | - If it is not specified while creating the transaction, this field will not exist. - Otherwise, it will always be present. |
customer_identifier | String | Optional | The specific identifier for an IDVerse customer. | - If it is not specified while creating the transaction, this field will not exist. - Otherwise, it will always be present. |
invitation_phone_region_code | String | Optional | The region code for the mobile phone number. | - If it is not specified while creating the transaction, this field will not exist. - Otherwise, it will always be present. |
invitation_phone_number | String | Optional | The mobile number without the region code. | - If it is not specified while creating the transaction, this field will not exist. - Otherwise, it will always be present. |
record_redacted_at | Timestamp | Optional | Timestamp when the transaction is being redacted. | - If it is not redacted, this field will not exist. - Otherwise, it will always be present. |
assets_redacted_at | Timestamp | Optional | Timestamp when the asset is being redacted. | - If it is not redacted, this field will not exist. - Otherwise, it will always be present. |
face_redacted_at | Timestamp | Optional | Timestamp when the face record is being redacted. | - If it is not redacted, this field will not exist. - Otherwise, it will always be present. |
data_redacted_at | Timestamp | Optional | Timestamp when the data is being redacted. | - If it is not redacted, this field will not exist. - Otherwise, it will always be present. |
status | String | Mandatory | The transaction status. It can be PENDING , INPROGRESS , SUBMITTED , COMPLETE , EXPIRED , or CANCELLED . | It will always be present. |
current_step | String | Optional | Internal purpose field. Will specify on which screen the user is at. | - If the user did not open the transaction, this field will not exist. - Otherwise, it will always be present. |
computed_statistics | Object | Optional | Computed statistics data related to the transaction. | If the transaction status is PENDING , INPROGRESS or SUBMITTED , this field will not exist. |
data_provider | Object | Optional | An object that contains the DVS Check Details. | - If the transaction did not go through the DVS check, the field will not exist. - Otherwise, it will always be present. |
device_info | Object | Optional | An object that contains the user device information. | - If the user did not open the transaction, this field will not exist. - Otherwise, it will always be present. |
documents | Array | Optional | Check result of the user's documents. | - If the user did not go through the document check, this field will not exist. - Otherwise, it will always be present. |
likeness_overall | String | Optional | The comparison result of the user's liveness video (or selfie image) and the user's photo on the document. (Value will either be Pass or Fail ). | - If the user did not do liveness videos or selfies, this field will not exist. - If the client has Document Only flow enabled, this field will not exist. - Otherwise, it will always be present. |
likeness_features | Object | Optional | The likeness details of object. | - If the user did not do liveness videos or selfies, this field will not exist. - If the client has Document Only flow enabled, this field will not exist. - Otherwise, it will always be present. |
liveness_attempts | Array | Optional | An array of Liveness Attempts object from a liveness or selfie that a user did. | - If the user did not do liveness videos or selfies, this field will not exist. - If the client has Document Only flow enabled, this field will not exist. - Otherwise, it will always be present. |
spoof_result | String | Optional | To check whether the liveness video or selfie is of a real person or any other fake material. (Value could either be Low Risk or High Risk ). | - If the user did not do liveness videos or selfies, this field will not exist. - If the client has Document Only flow enabled, this field will not exist. - Otherwise, it will always be present. |
user_details | Object | Optional | The user details. | - If the user did not succeed in OCR or verify his details, this field will not exist. - If the user did not pass the verification check, this field will not exist. - Otherwise, it will always be present. |
facematch_best_frame | Object | Optional | The liveness video frame that is the same as the selfie image from the user's photo, which is extracted from the asset. This will be the same selfie image if the user chooses to do the selfie instead of the liveness video. | - If the user did not do liveness videos or selfies, this field will not exist. - If the client has Document Only flow enabled, this field will not exist. - If the url has been redacted, the value will be invalid with null .- Otherwise, it will always be present. |
results | Object | Optional | The total transaction result . | - If the transaction is not completed yet, this field will not exist. - Otherwise, it will always be present. |
pdf_report_number | String | Optional | PDF report number that originates from the transaction_id . | - If the transaction is not completed yet, this field will not exist. - Otherwise, it will always be present. |
The response below is a sample of the Fetch a Transaction endpoint's result:
Warning!
The sample response below is only for a complete result. Please do not expect any of these fields will always be present. Some of them can sometimes be empty or not exist according to every object's actions taken and final results.
{
"transaction_id": "01FX6X3YH457RNDE0G2WMBGLOE",
"activated_at": "2022-03-03T03:28:33.163Z",
"closed_at": "2022-03-03T03:30:41.095Z",
"created_at": "2022-03-03T03:29:18.595Z",
"created_by": "API",
"flow_type": "NORMAL2",
"name": "MyTest",
"reference": "Demo",
"customer_identifier": "string",
"invitation_phone_region_code": "61",
"invitation_phone_number": "098177212",
"record_redacted_at": "",
"assets_redacted_at": "",
"face_redacted_at": "",
"data_redacted_at": "",
"status": "COMPLETE",
"current_step": "SUBMITTED",
"computed_statistics": {
"steps": [
{
"name": "PRIVACY",
"start_time": "2022-03-03T03:28:34.607Z",
"total_duration_seconds": 55
},
{
"name": "ID_INFORMATION",
"start_time": "2022-03-03T03:29:30.127Z",
"total_duration_seconds": 22
},
{
"name": "FACE_MATCH_CAPTURE",
"start_time": "2022-03-03T03:29:52.654Z",
"total_duration_seconds": 28
},
{
"name": "SUBMITTED",
"start_time": "2022-03-03T03:30:21.226Z",
"total_duration_seconds": 0
}
],
"total_duration_seconds": 105,
"total_duration_excl_privacy_seconds": 50
},
"data_provider": {
"DATA_CONNECT": {
"ID_MATRIX": {
"data": {
"fraudAssessment": {
"dataSource": [
{
"name": "Politically Exposed Person (PEP) Verification",
"result": "PASS",
"score": "100.0",
"threshold": "50.0",
"weight": "0.25"
},
{
"name": "Velocity Verification",
"result": "PASS",
"score": "100.0",
"threshold": "50.0",
"weight": "0.25"
},
{
"name": "FraudCheck Shared Fraud Database",
"result": "PASS",
"score": "100.0",
"threshold": "50.0",
"weight": "0.25"
},
{
"name": "Sanctions Check",
"result": "PASS",
"score": "100.0",
"threshold": "50.0",
"weight": "0.25"
}
],
"overall": [
{
"name": "Overall Result",
"value": "PASS"
},
{
"name": "Overall Fraud Score",
"value": "100/100"
},
{
"name": "Overall Threshold",
"value": "50.0"
}
]
},
"overall": "ACCEPT",
"searchResults": {
"overall": "ACCEPT",
"rulesResults": [
{
"name": "Overall Decision",
"value": "ACCEPT"
},
{
"name": "Overall Points",
"value": "119.0"
},
{
"name": "IDMatrix Minimum Requirements Verification",
"value": "MATCH"
},
{
"name": "IDMatrix Safe Harbour Verification",
"value": "MATCH"
}
],
"searchResults": {
"fraudassessment": [
{
"components": {
"address": "NO MATCH",
"dob": "NO MATCH",
"fraud": "NO MATCH",
"full_name": "NO MATCH",
"id": "NO MATCH",
"name": "NO MATCH"
},
"name": "Velocity (v1.0)",
"points": "0",
"results": 0,
"searchName": "VEDA-EVVELOCITY-0026",
"value": "NO MATCH"
},
{
"components": {
"address": "NO MATCH",
"dob": "NO MATCH",
"fraud": "NO MATCH",
"full_name": "NO MATCH",
"id": "NO MATCH",
"name": "NO MATCH"
},
"name": "GlobalScreening - PEPs (Domestic) (v1.0)",
"points": "0",
"results": 0,
"searchName": "ACC-PEPS-0048",
"value": "NO MATCH"
},
{
"components": {
"address": "NO MATCH",
"dob": "NO MATCH",
"fraud": "NO MATCH",
"full_name": "NO MATCH",
"id": "NO MATCH",
"name": "NO MATCH"
},
"name": "GlobalScreening - Sanctions (International) (v2.0)",
"points": "0",
"results": 0,
"searchName": "ACC-COMPLINK-0021",
"value": "NO MATCH"
},
{
"components": {
"address": "NO MATCH",
"dob": "NO MATCH",
"fraud": "NO MATCH",
"full_name": "NO MATCH",
"id": "NO MATCH",
"name": "NO MATCH"
},
"name": "Fraud Lookup - Address (v1.0)",
"points": "0",
"results": "0",
"searchName": "VEDA-SFDADDR-0023",
"value": "NO MATCH"
}
],
"verification": [
{
"components": {
"address": "PASS",
"dob": "PASS",
"fraud": "PASS",
"full_name": "PASS",
"id": "PASS",
"name": "PASS"
},
"name": "Credit Bureau Consumer (v3.0)",
"points": "59",
"results": "98",
"searchName": "VEDA-CBCONS-0050",
"value": "PASS"
},
{
"components": {
"address": "PASS",
"dob": "PASS",
"fraud": "PASS",
"full_name": "PASS",
"id": "PASS",
"name": "PASS"
},
"name": "Credit Bureau Consumer (v3.2)",
"points": "0",
"results": "100",
"searchName": "VEDA-CBCONS-0066",
"value": "PASS"
},
{
"components": {
"address": "PASS",
"dob": "PASS",
"fraud": "PASS",
"full_name": "PASS",
"id": "PASS",
"name": "PASS"
},
"name": "Australian Electoral Roll (v3.0)",
"points": "60",
"results": "100",
"searchName": "AEC-ER-0049",
"value": "PASS"
}
]
},
"verificationOutcome": {
"indicator": "ACCEPT",
"totalPoints": "119"
}
},
"summary": [
{
"name": "Reference",
"value": "200822-98BE2-ADFA9"
},
{
"name": "Profile Name",
"value": "KYC-TEST_PROFILE_GEE-Service1"
},
{
"name": "Profile Version",
"value": "1"
}
]
},
"encrypted_xml": "example/transaction_id/encrypted-id-matrix-response.xml.enc",
"message": "OK",
"version": "1.0.0"
}
},
"ID_MATRIX": {
"data": {
"fraudAssessment": {
"dataSource": [
{
"name": "Politically Exposed Person (PEP) Verification",
"result": "PASS",
"score": "100.0",
"threshold": "50.0",
"weight": "0.25"
},
{
"name": "Velocity Verification",
"result": "PASS",
"score": "100.0",
"threshold": "50.0",
"weight": "0.25"
},
{
"name": "FraudCheck Shared Fraud Database",
"result": "PASS",
"score": "100.0",
"threshold": "50.0",
"weight": "0.25"
},
{
"name": "Sanctions Check",
"result": "PASS",
"score": "100.0",
"threshold": "50.0",
"weight": "0.25"
}
],
"overall": [
{
"name": "Overall Result",
"value": "PASS"
},
{
"name": "Overall Fraud Score",
"value": "100/100"
},
{
"name": "Overall Threshold",
"value": "50.0"
}
]
},
"overall": "ACCEPT",
"searchResults": {
"overall": "ACCEPT",
"rulesResults": [
{
"name": "Overall Decision",
"value": "ACCEPT"
},
{
"name": "Overall Points",
"value": "119.0"
},
{
"name": "IDMatrix Minimum Requirements Verification",
"value": "MATCH"
},
{
"name": "IDMatrix Safe Harbour Verification",
"value": "MATCH"
}
],
"searchResults": {
"fraudassessment": [
{
"components": {
"address": "NO MATCH",
"dob": "NO MATCH",
"fraud": "NO MATCH",
"full_name": "NO MATCH",
"id": "NO MATCH",
"name": "NO MATCH"
},
"name": "Velocity (v1.0)",
"points": "0",
"results": 0,
"searchName": "VEDA-EVVELOCITY-0026",
"value": "NO MATCH"
},
{
"components": {
"address": "NO MATCH",
"dob": "NO MATCH",
"fraud": "NO MATCH",
"full_name": "NO MATCH",
"id": "NO MATCH",
"name": "NO MATCH"
},
"name": "GlobalScreening - PEPs (Domestic) (v1.0)",
"points": "0",
"results": 0,
"searchName": "ACC-PEPS-0048",
"value": "NO MATCH"
},
{
"components": {
"address": "NO MATCH",
"dob": "NO MATCH",
"fraud": "NO MATCH",
"full_name": "NO MATCH",
"id": "NO MATCH",
"name": "NO MATCH"
},
"name": "GlobalScreening - Sanctions (International) (v2.0)",
"points": "0",
"results": 0,
"searchName": "ACC-COMPLINK-0021",
"value": "NO MATCH"
},
{
"components": {
"address": "NO MATCH",
"dob": "NO MATCH",
"fraud": "NO MATCH",
"full_name": "NO MATCH",
"id": "NO MATCH",
"name": "NO MATCH"
},
"name": "Fraud Lookup - Address (v1.0)",
"points": "0",
"results": "0",
"searchName": "VEDA-SFDADDR-0023",
"value": "NO MATCH"
}
],
"verification": [
{
"components": {
"address": "PASS",
"dob": "PASS",
"fraud": "PASS",
"full_name": "PASS",
"id": "PASS",
"name": "PASS"
},
"name": "Credit Bureau Consumer (v3.0)",
"points": "59",
"results": "98",
"searchName": "VEDA-CBCONS-0050",
"value": "PASS"
},
{
"components": {
"address": "PASS",
"dob": "PASS",
"fraud": "PASS",
"full_name": "PASS",
"id": "PASS",
"name": "PASS"
},
"name": "Credit Bureau Consumer (v3.2)",
"points": "0",
"results": "100",
"searchName": "VEDA-CBCONS-0066",
"value": "PASS"
},
{
"components": {
"address": "PASS",
"dob": "PASS",
"fraud": "PASS",
"full_name": "PASS",
"id": "PASS",
"name": "PASS"
},
"name": "Australian Electoral Roll (v3.0)",
"points": "60",
"results": "100",
"searchName": "AEC-ER-0049",
"value": "PASS"
}
]
},
"verificationOutcome": {
"indicator": "ACCEPT",
"totalPoints": "119"
}
},
"summary": [
{
"name": "Reference",
"value": "200822-98BE2-ADFA9"
},
{
"name": "Profile Name",
"value": "KYC-TEST_PROFILE_GEE-Service1"
},
{
"name": "Profile Version",
"value": "1"
}
]
},
"encrypted_xml": "example/transaction_id/encrypted-id-matrix-response.xml.enc",
"message": "OK",
"version": "1.0.0"
}
},
"device_info": {
"browser": "Chrome 98.0.4758.101",
"country": "Japan",
"geolocation": "41.7531013,123.353001",
"ip": "91.207.174.99",
"ip_location": "35.6164,139.7425",
"isp": "M247 Ltd",
"os": "Android 12",
"vpn": true
},
"documents":[
{
"created_at": "2022-03-03T03:29:18.595Z",
"document_id": "2e20ccc18094d7f8760a6c76dc33fdb1",
"extracted": {
"country": "Australia",
"id_number": 123456789,
"address": "FakeData",
"document_number": 3333333333,
"city": "FakeData",
"expiry_date": "31/12/2030",
"birth_date": "01/01/1980",
"last_name": "FakeData",
"given_names": "FakeData",
"middle_name": "FakeData",
"country_code": "AUS",
"full_name": "FakeData",
"street": "FakeData",
"post_code": 9999,
"state": "FakeData",
"class": "C",
"first_name": "FakeData",
"document_type": "Driver Licence"
},
"asf_breakdown": {
"document_integrity": "PASSED",
"image_composition": "FLAGGED",
"photo_check": "PASSED",
"detail_check": "PASSED"
},
"identity_document_type": "AUS_NSW_DRIVERLICENCE",
"updated_at": "2022-03-03T03:29:18.595Z",
"ocr": true,
"face_photo": {
"url": "https://fakedomain.url",
"size": 7392,
"content_type": "image/jpeg"
},
"front_document": {
"url": "https://fakedomain.url",
"size": 70064,
"content_type": "image/jpeg"
},
"original_front_document": {
"url": "https://fakedomain.url",
"size": 100400,
"content_type": "image/jpeg"
},
"signature_photo": {
"url": "https://fakedomain.url",
"size": 23056,
"content_type": "image/jpeg"
}
}
],
"likeness_overall": "Fail",
"likeness_features": {
"right_eye": "Fail",
"nose": "Fail",
"philtrum": "Pass",
"jaw": "Fail",
"middle_forehead": "Fail",
"mouth": "Fail",
"left_eye": "Fail",
"forehead": "Fail",
"left_cheek": "Fail",
"right_brow": "Fail",
"left_brow": "Fail",
"right_cheek": "Fail"
},
"liveness_attempts": [
{
"result": false,
"session_id": "FakeData",
"actions": "SMILE LEFT",
"video": {
"url": "https://fakedomain.url",
"size": 150688,
"content_type": "video/webm"
}
}
],
"spoof_result": "Low Risk",
"user_details": {
"country_code": "AUS",
"id_number": 123456789,
"document_number": 123456789,
"address": {
"street_address": "FakeData",
"country": "AUS",
"post_code": 9999,
"was_validated": true,
"suburb": "FakeData",
"full_address": "FakeData",
"state": "FakeData",
"street_address_2": "FakeData"
},
"date_of_expiry": "2030-12-31",
"date_of_birth": "1980-01-01",
"last_name": "FakeData",
"middle_name": "FakeData",
"first_name": "FakeData",
"document_type": "Driver Licence",
"licence_number": 123456789
},
"facematch_best_frame": {
"url": "https://fakedomain.url",
"size": 24432
},
"results": {
"liveness": "PASSED",
"overall": "FLAGGED",
"data": "PASSED",
"documents": "FLAGGED",
"facematch": "FLAGGED"
}
"pdf_report_number": "01FX6X3YH457RNDE0G2WMBGLOE"
}
Fetch a Transaction - JSON - Error
The following error response will be returned if the server cannot understand the request due to invalid syntax:
{
"error_message": "Bad Request."
}
If an access token is used that is invalid or has expired, the following error response will appear:
{
"error_message": "Unauthenticated."
}
If the server can not find the requested resource, i.e., the specified token, it returns the following error response:
{
"error_message": "The token was not found."
}
The server generates the following error response when faced with a situation it is unsure how to handle:
{
"error_message": "Internal Server Error."
}
The error responses contain the following field:
Field | Data Type | Description |
---|---|---|
error_message | string | The error message, depicting what the error actually is, for example, "The token was not found." |
💬 We Are Here to Help!
If you encounter an issue, a bug, or require assistance, please contact our support page here to find the solution. Don't forget to provide any important information on the issue.