Response Enum

This document outlines the structure and meaning of the JSON response from the Identity Verification API

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 the label.

  • 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 field reserved for results from specific sub-processes; null if not applicable.

reason

Array

An array of strings detailing the reasons for the assigned label.

request_id

String

A unique identifier for this specific API request.

2. document Object

This 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

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

Field
Type
Description

is_valid

String

The result of the forensic analysis to determine the document's authenticity.

Possible values: inconclusive, no, yes.

2.2. 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

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

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

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

This 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

This 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

This 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

Result of the process. Possible values:

  • PROCESS_RESULT_UNSPECIFIED: The process has not yet finished;

  • PROCESS_RESULT_ERROR: Process finished with error;

  • PROCESS_RESULT_LIVE: The user was active at the time of capture and we found no evidence of fraud;

  • PROCESS_RESULT_HIGH_RISK: we recommend rejection, but the decision remains yours. High risk indicates that 60% to 80% of cases with this level of risk become delinquent;

  • PROCESS_RESULT_CRITICAL_RISK: we recommend rejection, but leave it open for you to decide. Critical Risk indicates that 80% to 95% of cases with this level of risk become delinquent;

  • PROCESS_RESULT_NOT_APPROVED: rejection recommended as multiple indications of fraud were detected. Accuracy greater than 95%;

  • PROCESS_RESULT_NOT_LIVE: the user was not live at the time of capture, although we found no other indications of frau

Example

{
    "data": {
        "images": {
            "document_image": "/9j/4AAQSkZJRgABA[..]",
            "document_image_back": "/9j/4AAQSkZJRgABA[..]",
            "selfie": "/9j/4AAQSkZJRgABA[..]"
        },
        "response": {
            "curp": {
                "age": 33,
                "curp": "GOCJ850627HDFRRL09",
                "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": "IDMEX999999999999<9 VADER<SKYWALKER<<LUKE",
                    "citizen_id": "999999999"
                },
                "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": "GOCJ850627HDFRRL09",
                            "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": "d1kxp9ah8f0s71uv9zx0",
            "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": "9f3c7b84-1a26-4e0e-bd64-73ac9f54a901",
                "result": "PROCESS_RESULT_NOT_APPROVED"
            }
        }
    },
    "user_id": "1234",
    "request_date": "2025-06-30T14:55:32.123Z",
    "status": "ok",
    "status_code": 200,
    "version": "v2"
}

Last updated