This document outlines the structure and meaning of the JSON response from the Identity Verification API. The response provides a comprehensive analysis of a user's identity based on their submitted document (ID card) and a selfie.
⚠️ Analysis Result
The unico.result
field represents the final outcome of the fraud analysis. This is the main value you should use to make a decision.
JSON Structure Overview
The main components of the JSON response are:
document
: Contains the extracted information and analysis of the identification document.selfie
: Contains the analysis of the user's selfie.face_match
: A boolean indicating if the face in the selfie matches the face on the document.curp
: Provides details and validation of the user's CURP.unico
: Internal process identifier.label
: A summary classification of the verification result.reason
: An array of strings explaining thelabel
.request_id
: A unique identifier for the API request.
1. Root Level Fields
These fields provide the final summary and identifiers for the verification request.
Field | Type | Description |
---|---|---|
face_match | Boolean | Indicates whether the face from the selfie successfully matches the face on the document. true if they match. |
label | String | A final classification label for the verification inquiry. e.g., "Potential Threat" / "Review" / "No Threat" .null if not applicable. |
reason | Array | An array of strings detailing the reasons for the assigned label . null if not applicable. |
request_id | String | A unique identifier for this specific API request. |
2. document
Object
document
ObjectThis object encapsulates all data extracted and analyzed from the user's identification document.
Field | Type | Description |
---|---|---|
details | Object | Contains metadata about the document processing. |
front | Object | Contains all information extracted from the front of the document. |
back | Object | Contains all information extracted from the back of the document. |
2.1. document.details
document.details
Field | Type | Description |
---|---|---|
detected | Boolean | Indicates if a document was successfully detected in the image. |
forensics | Object | Contains results from forensic analysis of the document. |
document_id | Integer | A unique identifier for the processed document. |
2.1.1. document.details.forensics
document.details.forensics
Field | Type | Description |
---|---|---|
is_valid | String | The result of the forensic analysis to determine the document's authenticity. e.g., yes /no/inconclusive . |
2.2. document.front
document.front
This object contains the information extracted from the front of the ID and the facial analysis results for the document photo.
Field | Type | Description |
---|---|---|
information | Object | A collection of all textual data extracted from the document's front side. |
face_analysis | Object | Results from the analysis of the face photo found on the document. |
2.2.1. document.front.information
document.front.information
Each field in this object contains a text
value (the extracted string) and a valid
boolean.
Field | Description |
---|---|
birthdate | User's date of birth. |
sex | User's sex/gender. |
registration_year | Year the document was registered. |
name | User's first name(s). |
mother_last_name | User's maternal last name. |
last_name | User's paternal last name. |
electoral_key | The electoral key from the document. |
curp | The CURP extracted from the document. |
address | The user's address. |
complete_name | The user's full name. |
valid_thru | The document's expiration year. |
2.2.2. document.front.face_analysis
document.front.face_analysis
This object contains the analysis of the face found on the ID document.
Field | Type | Description |
---|---|---|
face_id | Integer | A unique identifier for this specific face instance. |
first_seen | String | Timestamp of the first time this face was ever seen in the system. |
unique_face_id_v2 | Integer | A persistent and unique identifier for this physical face across all inquiries (version 2). |
face_id_v2 | Integer | Another unique identifier for the face instance (version 2). |
inquiry_date | String | Timestamp of the current verification inquiry. |
last_seen | String | Timestamp of the most recent time this face was seen anywhere in the network. |
last_seen_by_your_company | String | Timestamp of the most recent time this face was seen in an inquiry by your company. |
match | Boolean | Indicates if this face is a potential match with other faces in the database. |
match_fraud_flag | Boolean | Indicates if this face has been associated with fraudulent activity. |
seen_by_your_company | Boolean | Indicates if this face has been previously seen in an inquiry by your company. |
seen_different_companies | Integer | The number of other companies in the network that have seen this face. |
times_seen_by_your_company | Integer | The total number of times this face has been seen in inquiries by your company. |
times_seen_last_month | Integer | The number of times this face has been seen in the last month across the network. |
warnings | Object | Contains specific warnings related to the face analysis. |
warnings.external_id | String | A warning message indicating that the user's face is associated with multiple different external IDs. |
2.3. document.back
document.back
This object contains information extracted from the Machine-Readable Zone (MRZ) on the back of the document.
Field | Type | Description |
---|---|---|
mrz | String | The full Machine-Readable Zone string. |
cic | String | The "CIC" number extracted from the MRZ. |
citizen_id | String | The citizen identification number from the MRZ. |
3. selfie
Object
selfie
ObjectThis object contains the analysis results for the user's submitted selfie image. Its structure is very similar to document.front.face_analysis
.
Field | Type | Description |
---|---|---|
face_id | Integer | A unique identifier for this specific selfie instance. |
first_seen | String | Timestamp of the first time this selfie's face was ever seen in the system. |
unique_face_id_v2 | Integer | A persistent and unique identifier for this physical face across all inquiries (version 2). |
face_id_v2 | Integer | Another unique identifier for the face instance (version 2). |
inquiry_date | String | Timestamp of the current verification inquiry. |
last_seen | String | Timestamp of the most recent time this face was seen anywhere in the network. |
last_seen_by_your_company | String | Timestamp of the most recent time this face was seen in an inquiry by your company. |
match | Boolean | Indicates if this face is a potential match with other faces in the database. |
match_fraud_flag | Boolean | Indicates if this face has been associated with fraudulent activity. |
seen_by_your_company | Boolean | Indicates if this face has been previously seen in an inquiry by your company. |
seen_different_companies | Integer | The number of other companies in the network that have seen this face. |
times_seen_by_your_company | Integer | The total number of times this face has been seen in inquiries by your company. |
times_seen_last_month | Integer | The number of times this face has been seen in the last month across the network. |
warnings | Object | Contains specific warnings related to the selfie analysis. |
warnings.external_id | String | A warning message indicating that the selfie face is associated with multiple different external IDs. |
first_seen_image | Boolean | Indicates if this is the first time this exact image has been seen. |
4. curp
Object
curp
ObjectThis object provides a detailed breakdown and validation of the user's CURP against official government records.
Field | Type | Description |
---|---|---|
curp | String | The CURP string being analyzed. |
state_of_birth | String | The user's state of birth as decoded from the CURP. |
state_iso | String | The ISO 3166-2 code for the state of birth. |
date_of_birth | String | The user's date of birth as decoded from the CURP. |
age | Integer | The calculated age of the user. |
gender | String | The user's gender as decoded from the CURP (M for Male/Masculino). |
is_mexican | Boolean | Indicates if the CURP corresponds to a Mexican citizen. |
name_to_CURP_valid | Boolean | Indicates if the name provided in the request is consistent with the name associated with the CURP. |
government_valid | Boolean | Indicates if the CURP is valid according to official government databases (RENAPO). |
government_name | String | The full name associated with the CURP in the official government database. |
deceased | Boolean | Indicates if the person associated with the CURP is marked as deceased. |
error | String | Indicates if the CURP exists in RENAPO |
5. unico
Object
unico
ObjectThis object contains internal identifiers related to the verification process.
Field | Type | Description |
---|---|---|
process_id | String | A unique identifier for the backend process that ran this check. |
result | String | A field reserved for results from specific sub-processes; null if not applicable. |
Posibles values in unico.result
English |
---|
PROCESS_RESULT_UNSPECIFIED: The process has not yet finished; |
PROCESS_RESULT_ERROR: Process finished with an error; |
PROCESS_RESULT_LIVE: The user was active at the time of capture and we found no indications of fraud; |
PROCESS_RESULT_NOT_APPROVED: Rejection is recommended as multiple indications of fraud have been detected. Accuracy greater than 95%; |
PROCESS_RESULT_RISK_CRITICAL: We recommend rejection, but we leave it open for you to decide. Critical Risk indicates that between 80% and 95% of cases with this level of risk become defaulters; |
PROCESS_RESULT_RISK_HIGH: We recommend rejection, but the decision is still yours. High risk indicates that between 60% and 80% of cases with this level of risk become defaulters. |
PROCESS_RESULT_NOT_LIVE: The user was not live at the time of capture, although we did not find other indications of fraud. |
EXAMPLE
{
"curp":{
"age":33,
"curp":"GACS820310MCSRRN99",
"date_of_birth":"10/03/1982",
"deceased":false,
"gender":"F",
"government_name":"LUKE SKYWALKER",
"government_valid":true,
"is_mexican":true,
"name_to_CURP_valid":true,
"state_iso":"MX-CHP",
"state_of_birth":"Chiapas"
},
"document":{
"back":{
"cic":"237457894",
"mrz":"IDMEX237454874844<5 CUEVAS<GONZALEZ<<JORGECANTONIO",
"citizen_id":"098765455"
},
"details":{
"detected":true,
"document_id":229399,
"forensics":{
"is_valid":"no"
}
},
"front":{
"face_analysis":{
"face_id":236016,
"face_id_v2":198475,
"first_seen":"11/25/2024, 13:43:35",
"inquiry_date":"07/02/2025, 14:13:11",
"last_seen":"06/30/2025, 12:30:15",
"last_seen_by_your_company":"06/30/2025, 12:30:15",
"match":true,
"match_fraud_flag":false,
"seen_by_your_company":true,
"seen_different_companies":1,
"times_seen_by_your_company":1,
"times_seen_last_month":1,
"unique_face_id_v2":517,
"warnings":{
}
},
"information":{
"address":{
"text":"C 21 DE MARZO MZ 9 LT 5, FRACC 1ERO DE MAYO 30099, COMITAN DE DOMINGUEZ CHIS",
"valid":false
},
"birthdate":{
"text":"10/03/1982",
"valid":true
},
"complete_name":{
"text":"LUKE SKYWALKER",
"valid":true
},
"curp":{
"text":"GACS820310MCSRVV99",
"valid":true
},
"electoral_key":{
"text":"GRCRSN82031007M500",
"valid":true
},
"last_name":{
"text":"SKYWALKER",
"valid":true
},
"mother_last_name":{
"text":"VADER",
"valid":true
},
"name":{
"text":"LUKE SKYWALKER",
"valid":true
},
"registration_year":{
"text":"2002 01",
"valid":true
},
"sex":{
"text":"M",
"valid":true
},
"valid_thru":{
"text":"2024",
"valid":true
}
}
}
},
"face_match":false,
"label":null,
"reason":null,
"request_id":"d1ijt35hlf0s71io1qt0",
"selfie":{
"face_id":236017,
"face_id_v2":3762,
"first_seen":"10/15/2024, 12:58:55",
"first_seen_image":true,
"inquiry_date":"07/02/2025, 14:13:34",
"last_seen":"07/02/2025, 14:13:13",
"last_seen_by_your_company":"07/01/2025, 20:52:57",
"match":true,
"match_fraud_flag":false,
"seen_by_your_company":true,
"seen_different_companies":7,
"times_seen_by_your_company":95,
"times_seen_last_month":95,
"unique_face_id_v2":564,
"warnings":{
}
},
"unico":{
"process_id":"ed5d5ae2-3754-4012-b95f-89b111dcdc6f",
"result":"PROCESS_RESULT_NOT_APPROVED"
}
}