# Process government validation

`POST /omni/process/government-validation`

Base URL: `https://demo-api.incodesmile.com` — Incode demo environment

This endpoint reads the country code from the interview which can be set at the moment of calling the start endpoint or
is updated based on the processed id. Request body can optionally contain data from id in JSON. If omitted, data from
scanned ID is read.

**Country codes**:

**MEX**: Mexico - INE Validation. When government face validation is enabled this method compares the user's selfie against
the image in the INE database. The method should be called after [add-face](#/Onboarding/addFaceByThirdParty) is over and
one of ([process-id](#/Onboarding/processId) or [document-id](#/Onboarding/addDocumentId)) is over.

Request parameters:
- fallbackEnabled: Boolean, optional. If it is not sent, it will default to false.
- scrapingMethod: Boolean, optional. If it is not sent, it will default to false.

If parameter fallbackEnabled is true and there's some connection or infrastructure error with the INE service, validation by
scraping will start. If parameter scrapingMethod is true, then direct connection to INE service won't be attempted and
the scraping approach will be used instead.

Request Body is optional - if not sent, data will be taken from the session:
- ocr: String, mandatory for INE and IFE.
- cic: String, mandatory for INE.
- nombre: String, optional.
- apellidoPaterno: String, optional.
- apellidoMaterno: String, optional.
- anioRegistro: String, optional.
- anioEmision: String, optional.
- numeroEmisionCredencial: String, mandatory for ife.
- claveElector: String, mandatory for ife.
- curp: String, optional.

**COL**: Colombia - Registraduría Validation. Currently there's no option for face validation. Can validate registraduría or
extranjería (foreign citizens living in colombia). **Note**: Government Validations for Colombia acquired via TusDatos

Request Body is optional - if not sent data will be taken from the session:
- idNumber: String, mandatory.
- fechaEmision: String, mandatory when Nationality is not Columbia. Format dd/mm/yyyy
- nombre: String, optional.
- apellidoPaterno: String, optional.
- apellidoMaterno: String, optional.

**ARG**: Argentina - Renaper Validation. Currently there's no option for face validation.

Request Body:
- idNumber: String, mandatory.

**PER**: Peru - Reniec Validation. Currently there's no option for face validation. Can validate Reniec. **Note**: Government
Validations for Peru obtained by checking against TOC, a risk database. ID must include DNI in order to validate.
Request Body is optional - if not sent data will be taken from the session.
- idNumber: String, mandatory (corresponds to DNI number)
- nombre: String, optional - if not provided ocrValidation for FistName will be UNKNOWN
- apellidoPaterno: String, optional - if not provided ocrValidation for PaternalLastName will be UNKNOWN
- apellidoMaterno: String, optional - if not provided ocrValidation for MaternalLastName will be UNKNOWN
- birthDate: String, optional - if not provided ocrValidation for BirthDate will be UNKNOWN
- gender: String, optional - if not provided ocrValidation for Gender will be UNKNOWN

**CHL**: Chile - Sinacofi Validation. Currently there's no option for face validation. Can validate Sinacofi. **Note**:
Government Validations for Chile obtained by checking against TOC, a risk database. ID must include DNI in order to validate.
Request Body is optional - if not sent data will be taken from the session:
- idNumber: String, mandatory (corresponds Serie)
- personalNumber: String, mandatory (corresponds RUT/RUN)

**AUS**: Australia - Government Validation for Passport and Driver License.
Request Body is optional - if not sent data will be taken from the OCR.

For Passport validation:
- firstName: String, mandatory.
- middleName: String, optional.
- paternalLastName: String, mandatory.
- cic: String, mandatory (corresponds to Passport number).
- documentType: String, mandatory ("Passport").
- birthDate: String, mandatory. Format yyyy/MM/dd.
- address: String, optional.

For Driver License validation:
- firstName: String, mandatory.
- middleName: String, optional.
- paternalLastName: String, mandatory.
- documentType: String, mandatory ( com"DriversLicense").
- birthDate: String, mandatory. Format yyyy/MM/dd.
- refNumber: String, mandatory (corresponds to Card number).
- cic: String, mandatory (corresponds to License number).
- issuerState: String, mandatory (e.g., "NSW").
- address: String, optional.

## Path & query parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `fallbackEnabled` | query | boolean |  |  |
| `scrapingMethod` | query | boolean |  |  |
| `scrapingV2` | query | boolean |  |  |
| `scrapingV3` | query | boolean |  |  |
| `telcel` | query | boolean |  |  |
| `interviewId` | query | string |  |  |
| `countryCode` | query | string |  |  |
| `api-version` | header | string | yes |  |

## Request body

Content-Type: `application/json`

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `ocr` | string |  |  |
| `cic` | string |  |  |
| `nombre` | string |  |  |
| `apellidoPaterno` | string |  |  |
| `apellidoMaterno` | string |  |  |
| `anioRegistro` | string |  |  |
| `anioEmision` | string |  |  |
| `numeroEmisionCredencial` | string |  |  |
| `claveElector` | string |  |  |
| `curp` | string |  |  |
| `base64Image` | string |  |  |
| `idNumber` | string |  |  |
| `fechaEmision` | string |  |  |
| `personalNumber` | string |  |  |
| `birthDate` | string |  |  |
| `gender` | string |  |  |
| `birthPlace` | string |  |  |
| `address` | string |  |  |
| `latitude` | string |  |  |
| `longitude` | string |  |  |
| `macAddress` | string |  |  |
| `ip` | string |  |  |
| `osVersion` | string |  |  |
| `applicationName` | string |  |  |
| `sufix` | string |  |  |
| `firstName` | string |  |  |
| `givenName` | string |  |  |
| `middleName` | string |  |  |
| `maternalLastName` | string |  |  |
| `paternalLastName` | string |  |  |
| `documentType` | string |  | Enum: `Unknown`, `Passport`, `Visa`, `DriversLicense`, `IdentificationCard`, `Permit`, `Currency`, `ResidenceDocument`, `TravelDocument`, `BirthCertificate`, `VehicleRegistration`, `Other`, `WeaponLicense`, `TribalIdentification`, `VoterIdentification`, `Military`, `TaxIdentification`, `FederalID`, `MedicalCard` |
| `refNumber` | string |  |  |
| `issuerState` | string |  |  |
| `documentTypeId` | integer (int32) |  |  |
| `issuedAt` | string |  |  |
| `documentNumber` | string |  |  |
| `expireAt` | string |  |  |
| `eyeColor` | string |  |  |
| `height` | string |  |  |
| `weight` | string |  |  |
| `city` | string |  |  |
| `postalCode` | string |  |  |
| `email` | string |  |  |
| `fullName` | string |  |  |
| `nationality` | string |  |  |
| `dateFormat` | string |  |  |
| `fingerprintsData` | object |  |  |
| `fingerprintsData.type` | integer (int32) |  |  |
| `fingerprintsData.fingerprints` | array[Fingerprint] | yes |  |
| `fingerprintsData.fingerprints.index` | integer (int32) |  |  |
| `fingerprintsData.fingerprints.base64Fingerprint` | string |  |  |
| `fingerprintsData.fingerprints.fingerprintMetadata` | object |  |  |
| `fingerprintsData.fingerprints.fingerprintMetadata.device` | string |  |  |
| `fingerprintsData.fingerprints.fingerprintMetadata.resolution` | string |  |  |
| `fingerprintsData.fingerprints.fingerprintMetadata.qualityScore` | string |  |  |

Example — Default Request:

```json
{
  "ocr": "string",
  "cic": "string",
  "nombre": "string",
  "apellidoPaterno": "string",
  "apellidoMaterno": "string",
  "anioRegistro": "string",
  "anioEmision": "string",
  "numeroEmisionCredencial": "string",
  "claveElector": "string",
  "curp": "string",
  "base64Image": "string",
  "idNumber": "string",
  "fechaEmision": "string",
  "personalNumber": "string",
  "birthDate": "string",
  "gender": "string",
  "birthPlace": "string",
  "address": "string",
  "latitude": "string",
  "longitude": "string",
  "macAddress": "string",
  "ip": "string",
  "osVersion": "string",
  "applicationName": "string",
  "sufix": "string",
  "firstName": "string",
  "givenName": "string",
  "middleName": "string",
  "paternalLastName": "string",
  "documentType": "Unknown",
  "refNumber": "string",
  "issuerState": "string",
  "documentTypeId": 0,
  "issuedAt": "string",
  "documentNumber": "string",
  "expireAt": "string",
  "eyeColor": "string",
  "height": "string",
  "weight": "string",
  "city": "string",
  "postalCode": "string"
}
```

Example — It takes data from OCR document data (session data):

```json
{}
```

Example — Brazil - CPF Request:

```json
{
  "idNumber": "88291306800"
}
```

Example — Example request for validating an Australian passport:

```json
{
  "firstName": "VINCE",
  "middleName": "",
  "paternalLastName": "CITIZEN",
  "cic": "PA0001317",
  "documentType": "Passport",
  "birthDate": "2013/03/01"
}
```

Example — Example request for validating an Australian driver license:

```json
{
  "firstName": "TIM",
  "middleName": "",
  "paternalLastName": "CITIZEN",
  "documentType": "DriversLicense",
  "birthDate": "1970/02/21",
  "refNumber": "A968754",
  "cic": "1948573847",
  "issuerState": "NSW"
}
```

Example — Example request for validating a Colombian Cedula:

```json
{
  "documentNumber": "12345678",
  "issuerState": "VALLE",
  "issuedAt": "1990-03-15",
  "issuingAuthority": "CALI",
  "firstName": "JUAN",
  "middleName": "CARLOS",
  "paternalLastName": "PEREZ",
  "maternalLastName": "GOMEZ"
}
```

Example — Example request for validating a Residence Document:

```json
{
  "documentType": "ResidenceDocument",
  "documentNumber": "012345678",
  "birthDate": "1990-01-01",
  "fullName": "ANA MARIA PEREZ GONZALEZ"
}
```

## Responses

### 200

Responses:
**MEX**:
- statusCode: Integer. Possible values:
    - OK (0, "ok"),
    - VALIDATION_ERROR (1, "validationError"),
    - INE_CONNECTION_ERROR (2, "ineConnectionError"),
    - INE_INFRASTRUCTURE_ERROR (3, "ineInfrastructureError"),
    - MODULE_NOT_SUPPORTED (4, "moduleNotSupported"),
    - MISSING_DOCUMENT_ID (5, "missingDocumentId"),
    - MISSING_SELFIE (6, "missingSelfie"),
    - USER_NOT_FOUND (7, "userNotFound");
    - USER_NOT_FOUND_IN_INE_DB (8, "userNotFoundInIneDb"),
    - NOT_ENOUGH_DATA (9, "notEnoughData"),
    - LIVENESS_FAIL (10, "livenessFail")
    - INE_NOT_CURRENT (11, "ineNotCurrent")
    - INE_REPORTED_LOST (12, "ineReportedLost")
    - INE_REPORTED_STOLEN (13, "ineReportedStolen")
    - INE_SIGNATURE_ERROR (14, "ineSignaturError")
    - INE_NOT_VALID (15, "ineNotValid")
    - PROVIDER_UNAVAILABLE (98, "providerUnavailable")
    - COUNTRY_NOT_SUPPORTED (99, "countryNotSupported")
    - PROCESSING_INE (-1, "processingIne"). It only applies for Listas Nominales (INE Scraping).
    - PROCESSING (-4, "processing")
    - CONNECTION_ERROR (17, "connectionError")
    - INFRASTRUCTURE_ERROR (18, "infrastructureError")
    - TRANSACTION_LIMIT_REACHED (205, "transactionLimitReached")
- valid: Boolean. Flag stating if request processed successfully.
- registralSituation: Structure with following fields:
    - tipoSituacionRegistral: String. Possible values: [ VIGENTE, NO_VIGENTE, DATOS_NO_ENCONTRADOS ]
    - tipoReporteRoboExtravio: String, optional. Possible values: [ null, REPORTE_DE_EXTRAVIO, REPORTE_DE_ROBO, REPORTE_DE_ROBO_TEMPORAL, REPORTE_DE_EXTRAVIO_TEMPORAL ]
- governmentValidation: Structure with following fields:
    - validationStatus: Structure with following fields:
        - value: Look statusCode
        - status: Look statusCode
        - key:
            - ok: when value OK
            - error: when value VALIDATION_ERROR, INE_INFRASTRUCTURE_ERROR, USER_NOT_FOUND_IN_INE_DB, INE_NOT_CURRENT, INE_REPORTED_LOST, INE_REPORTED_STOLEN, USER_NOT_FOUND, TRANSACTION_LIMIT_REACHED
            - unknown: otherwise
    - ocrValidation: Array of structure with following fields:
        - value: Possible values - true false empty
        - status: Possible values - OK FAIL UNKNOWN
        - key: Possible values - issueDate firstName maternalLastName paternalLastName ocr personalId electorsKey emissionNumber registrationDate
    - ocrValidationOverall: Structure with following fields:
        - value: Calculated value based on Ocr Validation between 0 and 100
        - status: OK or FAIL based on calculation
    - overall: Same as ocrValidationOverall
- ocrData: Look at fetch-OCR
- deviceInfo: Look at fetch-deviceInfo
- ineTransactionId: String

**COL**:
- statusCode: 0 - OK, other not OK*
- governmentValidation - consists of the following fields:
    - validationStatus - following values:
        - OK (0, "ok"),
        - VALIDATION_ERROR (1, "validationError"),
        - CONNECTION_ERROR (17, "connectionError"),
        - USER_NOT_FOUND (7, "userNotFound"),
        - NOT_ENOUGH_DATA (9, "notEnoughData")
    - ocrValidation: Array of structure with following fields:
        - value: Possible values - true false empty
        - status: Possible values - OK FAIL UNKNOWN
        - key: Possible values - firstName maternalLastName paternalLastName ocr birthDate gender
- governmentValidationResponse (DEPRECATED):
    - COL1:
        "governmentValidationResponse": {
            "codError": "0",
            "contract_id": 111,
            "departamentoExpedicion": "ATLANTICO",
            "descripcionEstado": "VIGENTE",
            "estadoCedula": "0",
            "fechaExpedicion": "31/12/1990",
            "fechaHoraConsulta": "2025-03-12 20:32:29",
            "municipioExpedicion": "BARRANQUILLA",
            "nuip": "000000000",
            "particula": "DE",
            "primerApellido": "Perez",
            "primerNombre": "Jose",
            "segundoApellido": "Perez",
            "segundoNombre": "Juan"
        }
    - COL2:
        "governmentValidationResponse": {
            "data": {
                "anio_resolucion": 0,
                "codigo_error_datos_cedula": 0,
                "codigo_respuesta": "",
                "departamento_expedicion": "ATLANTICO",
                "descripcion_estado": "Vigente",
                "estado_cedula": 0,
                "fecha_expedicion": "Mon, 31 Dec 1990 00:00:00 GMT",
                "informacion_adicional": "",
                "municipio_expedicion": "BARRANQUILLA",
                "nombre_completo": "Jose Juan Perez Perez",
                "nuip": 000000000,
                "numero_resolucion": 0,
                "particula": "DE",
                "primer_apellido": "Perez",
                "primer_nombre": "Jose",
                "segundo_apellido": "Perez",
                "segundo_nombre": "Juan"
            }
        }

- ocrValidationOverall:
    - ocrValidationOverall: 100 - 15 each fail or unknown ocrValidation
    - status: ocrValidationOverall > 55 => OK, else FAIL
- overall: same as ocrValidationOverall

**ARG**:
- statusCode: Integer. Value 0 means verification Ok.
- governmentValidation - consists of following fieds:
    - validationStatus - following values:
        - OK (0, "ok")
        - FACE_COMPARISON_FAILED (207, "faceComparisonFailed")
        - PROCESSING (-4, "processing")
        - PROVIDER_NOT_CONFIGURED (96, "providerNotConfigured")
        - PROVIDER_UNAVAILABLE (98, "providerUnavailable")
        - USER_NOT_FOUND (7, "userNotFound")
        - VALIDATION_ERROR (1, "validationError")
        - NO_INFORMATION (204, "noInformation")

**IND**:
- statusCode: Integer. Value 0 means verification Ok.
- otpResponse - indicates that OTP code is sent to user
    - authBridge - Provider name for Aadhar
        - otpCodeRequested - boolean
        - mobile - masked mobile number *******725
**PER**:
- statusCode: 0 - OK, other not OK
- governmentValidation - consists of following fieds:
    - validationStatus - following values:
        - OK (0, "ok"),
        - VALIDATION_ERROR (1, "validationError"),
        - INE_CONNECTION_ERROR (2, "ineConnectionError"),
        - USER_NOT_FOUND (7, "userNotFound"),
        - NOT_ENOUGH_DATA (9, "notEnoughData")
- ocrValidation: Array of structure with following fields:
    - value: Possible values - true false empty
    - status: Possible values - OK FAIL UNKNOWN
    - key: Possible values - documentNumber firstName maternalLastName paternalLastName ocr birthDate gender
- governmentValidationResponse: Response received from external source (see example)
- ocrValidationOverall:
    - ocrValidationOverall: 100 - 15*each fail or unknown ocrValidation
    - status: ocrValidationOverall > 55 => OK, else FAIL
- overall: same as ocrValidationOverall

**CHL**:
- statusCode: 0 - OK, other not OK
- governmentValidation - consists of following fieds:
    - validationStatus - following values:
        - OK (0, "ok"),
        - VALIDATION_ERROR (1, "validationError"),
        - INE_CONNECTION_ERROR (2, "ineConnectionError"),
        - USER_NOT_FOUND (7, "userNotFound"),
        - NOT_ENOUGH_DATA (9, "notEnoughData")
    - ocrValidation: Array of structure with following fields:
        - value: Possible values - true false empty
        - status: Possible values - OK FAIL UNKNOWN
        - key: Possible values - documentNumber firstName maternalLastName paternalLastName ocr birthDate gender
    - governmentValidationResponse: Response received from external source (see example)
    - ocrValidationOverall:
        - ocrValidationOverall: 100 - 15*each fail or unknown ocrValidation
        - status: ocrValidationOverall > 55 => OK, else FAIL
    - overall: same as ocrValidationOverall

**AUS**:
- statusCode: 0 - OK, other not OK
- valid: Boolean. Flag stating if request processed successfully.
- governmentValidation - consists of following fields:
    - validationStatus - following values:
        - OK (0, "ok"),
        - USER_NOT_FOUND (7, "userNotFound"),
        - NOT_ENOUGH_DATA (9, "notEnoughData"),
        - CONNECTION_ERROR (17, "connectionError")
    - ocrValidation: Array of structure with following fields:
        - value: Possible values - true false
        - status: Possible values - OK FAIL
        - key: Possible values - documentNumber firstName paternalLastName birthDate expirationDate issueDate
    - ocrValidationOverall:
        - value: Calculated value between 0 and 100
        - status: OK or FAIL based on calculation
    - overall: Same as ocrValidationOverall
- errorDescription: String. Present only in error responses with values like "userNotFound", "notEnoughData", "connectionError"

**BRA**:
- statusCode: 0 - OK, other not OK. Always mirrors validationStatus and is independent of the overall score.
- valid: Boolean. True when validationStatus is OK (statusCode 0), i.e. CPF found. Note this tracks
    validationStatus, NOT the overall score: an OCR-field mismatch or a SERPRO_FACE face mismatch
    can leave valid=true while overall is FAIL.
- governmentValidation - consists of following fields:
    - validationStatus - following values:
        - OK (0, "ok"): CPF found, data and/or face matched
        - VALIDATION_ERROR (1, "validationError")
        - MODULE_NOT_SUPPORTED (4, "moduleNotSupported")
        - MISSING_SELFIE (6, "missingSelfie"): required for SERPRO_FACE
        - USER_NOT_FOUND (7, "userNotFound"): CPF not found, or face not matched
        - CPF_NUMBER_INVALID_OR_MISSING (16, "cpfNumberInvalidOrMissing")
        - CONNECTION_ERROR (17, "connectionError")
        - PROVIDER_NOT_CONFIGURED (96, "providerNotConfigured")
        - PROVIDER_UNAVAILABLE (98, "providerUnavailable")
        - GEOGRAPHIC_REGION_NOT_SUPPORTED (99, "geographicRegionNotSupported")
    - recognitionConfidence: Present when government face validation is attempted (e.g. SERPRO_FACE).
        - value: "100.0" when face matched, "0.0" when no match or face not in SERPRO DB
        - status: OK when matched, FAIL otherwise
    - ocrValidation: Array of structure with following fields (present for both SERPRO and SERPRO_FACE when validationStatus is OK):
        - value: Possible values - true false
        - status: Possible values - OK FAIL UNKNOWN
        - key: Possible values - documentNumber fullName birthDate
        Note: fullName is derived from firstName, paternalLastName, and maternalLastName,
        which all map to the same SERPRO nome field and always share the same status.
    - ocrValidationOverall:
        - value: Calculated value between 0 and 100
        - status: OK or FAIL based on calculation
    - overall: Equals ocrValidationOverall for SERPRO. For SERPRO_FACE the face recognitionConfidence
        can override it (e.g. face not in DB / not matched drives overall to 0.0 FAIL even when ocrValidationOverall is OK).
- errorDescription: String. Present only in error responses

Response body (`application/json`):

_oneOf:_
| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `valid` | boolean |  |  |
| `statusCode` | integer (int32) |  |  |
| `governmentValidation` | object |  | - recognitionConfidence: Present when government face validation is attempted (e.g. SERPRO_FACE). - value: "100.0" when face matched, "0.0" when no match or face not in SERPRO DB - status: OK when face matched, FAIL when no match or face not in SERPRO DB - validationStatus: Key-value mapping: - OK (0, "ok"): CPF found, data and/or face matched - VALIDATION_ERROR (1, "validationError") - MODULE_NOT_SUPPORTED (4, "moduleNotSupported") - MISSING_SELFIE (6, "missingSelfie"): selfie required for SERPRO_FACE - USER_NOT_FOUND (7, "userNotFound"): CPF not found in government DB, or face not matched - CPF_NUMBER_INVALID_OR_MISSING (16, "cpfNumberInvalidOrMissing") - CONNECTION_ERROR (17, "connectionError") - PROVIDER_NOT_CONFIGURED (96, "providerNotConfigured") - PROVIDER_UNAVAILABLE (98, "providerUnavailable") - GEOGRAPHIC_REGION_NOT_SUPPORTED (99, "geographicRegionNotSupported") - ocrValidation: List of value/status/key objects. Keys present for Brazil: - documentNumber: CPF validity check - fullName: name match (derived from firstName, paternalLastName, maternalLastName — all map to the same SERPRO nome field and always share the same status) - birthDate: date of birth match Not all keys are always present. - ocrValidationOverall: Composite result for ocrValidation score - overall: Equals ocrValidationOverall for SERPRO; for SERPRO_FACE the face recognitionConfidence can override it (e.g. face not in DB / not matched drives overall to 0.0 FAIL even when ocrValidationOverall is OK) |
| `governmentValidation.recognitionConfidence` | object |  |  |
| `governmentValidation.recognitionConfidence.value` | string |  |  |
| `governmentValidation.recognitionConfidence.status` | string |  | Enum: `OK`, `WARN`, `FAIL`, `UNKNOWN`, `MANUAL`, `MANUAL_OK`, `MANUAL_FAIL`, `MANUAL_PENDING` |
| `governmentValidation.fingerprintConfidence` | object |  |  |
| `governmentValidation.fingerprintConfidence.value` | string |  |  |
| `governmentValidation.fingerprintConfidence.status` | string |  | Enum: `OK`, `WARN`, `FAIL`, `UNKNOWN`, `MANUAL`, `MANUAL_OK`, `MANUAL_FAIL`, `MANUAL_PENDING` |
| `governmentValidation.minimumPassingFingerprints` | integer (int32) |  |  |
| `governmentValidation.validationStatus` | object |  |  |
| `governmentValidation.validationStatus.value` | string |  |  |
| `governmentValidation.validationStatus.status` | string |  | Enum: `OK`, `WARN`, `FAIL`, `UNKNOWN`, `MANUAL`, `MANUAL_OK`, `MANUAL_FAIL`, `MANUAL_PENDING` |
| `governmentValidation.validationStatus.key` | string |  |  |
| `governmentValidation.ocrValidation` | array[IdResultBean] |  |  |
| `governmentValidation.ocrValidation.value` | string |  |  |
| `governmentValidation.ocrValidation.status` | string |  | Enum: `OK`, `WARN`, `FAIL`, `UNKNOWN`, `MANUAL`, `MANUAL_OK`, `MANUAL_FAIL`, `MANUAL_PENDING` |
| `governmentValidation.ocrValidation.key` | string |  |  |
| `governmentValidation.ocrValidationOverall` | object |  |  |
| `governmentValidation.ocrValidationOverall.value` | string |  |  |
| `governmentValidation.ocrValidationOverall.status` | string |  | Enum: `OK`, `WARN`, `FAIL`, `UNKNOWN`, `MANUAL`, `MANUAL_OK`, `MANUAL_FAIL`, `MANUAL_PENDING` |
| `governmentValidation.overall` | object |  |  |
| `governmentValidation.overall.value` | string |  |  |
| `governmentValidation.overall.status` | string |  | Enum: `OK`, `WARN`, `FAIL`, `UNKNOWN`, `MANUAL`, `MANUAL_OK`, `MANUAL_FAIL`, `MANUAL_PENDING` |
| `governmentValidation.provider` | string |  |  |
| `governmentValidation.appliedRule` | object |  | Specific rule from rule engine |
| `governmentValidation.appliedRule.name` | string |  | Name of the rule. |
| `governmentValidation.appliedRule.expression` | string |  | A logical expression of the rule. |
| `governmentValidation.appliedRule.ruleType` | string |  | Enum: `idValidation`, `secondIdValidation`, `faceValidation`, `liveness`, `deepsight`, `eKyc`, `videoselfie`, `faceAuthentication`, `total`, `phoneRisk`, `emailRisk`, `governmentValidation` |
| `governmentValidation.appliedRule.status` | string |  | Enum: `OK`, `WARN`, `FAIL`, `UNKNOWN`, `MANUAL`, `MANUAL_OK`, `MANUAL_FAIL`, `MANUAL_PENDING` |
| `errorDescription` | string |  |  |
| `valid` | boolean |  |  |
| `statusCode` | integer (int32) |  |  |
| `registralSituation` | object |  |  |
| `registralSituation.tipoSituacionRegistral` | string |  |  |
| `registralSituation.tipoReporteRoboExtravio` | string |  |  |
| `governmentValidation` | object |  | - recognitionConfidence: Only present in case face validation is performed as a part of government check - fingerprintConfidence: Only present in case fingerprint validation is performed as a part of government check - minimumPassingFingerprints: Only present in case fingerprint validation is performed. Maps to configured number of minimum fingerprints configured at the time of score calculation. - validationStatus: Possible values: processingIne, ok, validationError, ineConnectionError, ineInfrastructureError, moduleNotSupported, missingDocumentId, missingSelfie, userNotFound, userNotFoundInIneDb, notEnoughData, livenessFail, ineNotCurrent, ineReportedLost, ineReportedStolen, ineSignaturError, transactionLimitReached, geographicRegionNotSupported Key-value mapping: - -1: processingIne - 0: ok - 1: validationError - 2: ineConnectionError - 3: ineInfrastructureError - 4: moduleNotSupported - 5: missingDocumentId - 6: missingSelfie - 7: userNotFound - 8: userNotFoundInIneDb - 9: notEnoughData - 10: livenessFail - 11: ineNotCurrent - 12: ineReportedLost - 13: ineReportedStolen - 14: ineSignaturError - 99: geographicRegionNotSupported - 205: transactionLimitReached - ocrValidation: List of value, status, key objects. Not all of the following keys are always present: issueDate firstName, maternalLastName, paternalLastName, ocr, personalId, electorsKey, emissionNumber, registrationDate - ocrValidationOverall: Composite result for ocrValidation score - overall |
| `governmentValidation.recognitionConfidence` | object |  |  |
| `governmentValidation.recognitionConfidence.value` | string |  |  |
| `governmentValidation.recognitionConfidence.status` | string |  | Enum: `OK`, `WARN`, `FAIL`, `UNKNOWN`, `MANUAL`, `MANUAL_OK`, `MANUAL_FAIL`, `MANUAL_PENDING` |
| `governmentValidation.fingerprintConfidence` | object |  |  |
| `governmentValidation.fingerprintConfidence.value` | string |  |  |
| `governmentValidation.fingerprintConfidence.status` | string |  | Enum: `OK`, `WARN`, `FAIL`, `UNKNOWN`, `MANUAL`, `MANUAL_OK`, `MANUAL_FAIL`, `MANUAL_PENDING` |
| `governmentValidation.minimumPassingFingerprints` | integer (int32) |  |  |
| `governmentValidation.validationStatus` | object |  |  |
| `governmentValidation.validationStatus.value` | string |  |  |
| `governmentValidation.validationStatus.status` | string |  | Enum: `OK`, `WARN`, `FAIL`, `UNKNOWN`, `MANUAL`, `MANUAL_OK`, `MANUAL_FAIL`, `MANUAL_PENDING` |
| `governmentValidation.validationStatus.key` | string |  |  |
| `governmentValidation.ocrValidation` | array[IdResultBean] |  |  |
| `governmentValidation.ocrValidation.value` | string |  |  |
| `governmentValidation.ocrValidation.status` | string |  | Enum: `OK`, `WARN`, `FAIL`, `UNKNOWN`, `MANUAL`, `MANUAL_OK`, `MANUAL_FAIL`, `MANUAL_PENDING` |
| `governmentValidation.ocrValidation.key` | string |  |  |
| `governmentValidation.ocrValidationOverall` | object |  |  |
| `governmentValidation.ocrValidationOverall.value` | string |  |  |
| `governmentValidation.ocrValidationOverall.status` | string |  | Enum: `OK`, `WARN`, `FAIL`, `UNKNOWN`, `MANUAL`, `MANUAL_OK`, `MANUAL_FAIL`, `MANUAL_PENDING` |
| `governmentValidation.overall` | object |  |  |
| `governmentValidation.overall.value` | string |  |  |
| `governmentValidation.overall.status` | string |  | Enum: `OK`, `WARN`, `FAIL`, `UNKNOWN`, `MANUAL`, `MANUAL_OK`, `MANUAL_FAIL`, `MANUAL_PENDING` |
| `governmentValidation.provider` | string |  |  |
| `governmentValidation.appliedRule` | object |  | Specific rule from rule engine |
| `governmentValidation.appliedRule.name` | string |  | Name of the rule. |
| `governmentValidation.appliedRule.expression` | string |  | A logical expression of the rule. |
| `governmentValidation.appliedRule.ruleType` | string |  | Enum: `idValidation`, `secondIdValidation`, `faceValidation`, `liveness`, `deepsight`, `eKyc`, `videoselfie`, `faceAuthentication`, `total`, `phoneRisk`, `emailRisk`, `governmentValidation` |
| `governmentValidation.appliedRule.status` | string |  | Enum: `OK`, `WARN`, `FAIL`, `UNKNOWN`, `MANUAL`, `MANUAL_OK`, `MANUAL_FAIL`, `MANUAL_PENDING` |
| `curpCecobanValidation` | object |  |  |
| `curpCecobanValidation.returnCode` | string |  |  |
| `curpCecobanValidation.description` | string |  |  |
| `curpCecobanValidation.uniquePopulationRegistrationKeyMatch` | boolean |  |  |
| `customFields` | object |  |  |
| `ocrData` | object |  |  |
| `ocrData.name` | object |  |  |
| `ocrData.name.fullName` | string |  |  |
| `ocrData.name.fullNameNativeScript` | string |  |  |
| `ocrData.name.firstNameNativeScript` | string |  |  |
| `ocrData.name.paternalLastNameNativeScript` | string |  |  |
| `ocrData.name.maternalLastNameNativeScript` | string |  |  |
| `ocrData.name.machineReadableFullName` | string |  | Full name from Barcode or MRZ |
| `ocrData.name.firstName` | string |  |  |
| `ocrData.name.middleName` | string |  |  |
| `ocrData.name.givenName` | string |  |  |
| `ocrData.name.givenNameMrz` | string |  |  |
| `ocrData.name.nameSuffix` | string |  |  |
| `ocrData.name.paternalLastName` | string |  |  |
| `ocrData.name.maternalLastName` | string |  |  |
| `ocrData.name.lastNameMrz` | string |  |  |
| `ocrData.name.familyName` | string |  |  |
| `ocrData.address` | string |  | Address as read from id. Address can have two or three lines. Lines are separated by \n |
| `ocrData.addressFields` | object |  |  |
| `ocrData.addressFields.street` | string |  | Street line in the way it is read from address string. |
| `ocrData.addressFields.streetName` | string |  | Street name without exterior and interior numbers. |
| `ocrData.addressFields.colony` | string |  | Colony line the way it is read from address string. (Not applicable for all countries) |
| `ocrData.addressFields.postalCode` | string |  | Postal code in the way it is read from address string. |
| `ocrData.addressFields.city` | string |  | City in the way it is read from address string. |
| `ocrData.addressFields.state` | string |  | State in the way it is read from address string. |
| `ocrData.addressFields.stateName` | string |  | Full StateName. |
| `ocrData.addressFields.district` | string |  | District in the way it is read from address string. |
| `ocrData.addressFields.stateCode` | string |  | State code if applicable. |
| `ocrData.addressFields.addressCountryCode` | string |  | Address country code if applicable. |
| `ocrData.addressFields.label` | string |  | Full address label. |
| `ocrData.addressFields.exteriorNumber` | string |  | Exterior street number. |
| `ocrData.addressFields.interiorNumber` | string |  | Interior street number. |
| `ocrData.addressFields.addressLine1` | string |  | The primary line in the address that contains the most essential details for locating a place. |
| `ocrData.addressFields.streetType` | string |  | Street type |
| `ocrData.fullAddress` | boolean |  | This field is set to true if address from id is full (has three lines) or not (For Mexican Voter IDs only). |
| `ocrData.invalidAddress` | boolean |  | This field checks for a valid street, numeric postal code with 5 digits, and that both colony and city have values. (Only checked for Mexican IDs) |
| `ocrData.checkedAddress` | string |  | Address as obtained after processing with geocoder geolocation api. |
| `ocrData.checkedAddressBean` | object |  |  |
| `ocrData.checkedAddressBean.street` | string |  | Street line in the way it is read from address string. |
| `ocrData.checkedAddressBean.streetName` | string |  | Street name without exterior and interior numbers. |
| `ocrData.checkedAddressBean.colony` | string |  | Colony line the way it is read from address string. (Not applicable for all countries) |
| `ocrData.checkedAddressBean.postalCode` | string |  | Postal code in the way it is read from address string. |
| `ocrData.checkedAddressBean.city` | string |  | City in the way it is read from address string. |
| `ocrData.checkedAddressBean.state` | string |  | State in the way it is read from address string. |
| `ocrData.checkedAddressBean.stateName` | string |  | Full StateName. |
| `ocrData.checkedAddressBean.district` | string |  | District in the way it is read from address string. |
| `ocrData.checkedAddressBean.stateCode` | string |  | State code if applicable. |
| `ocrData.checkedAddressBean.addressCountryCode` | string |  | Address country code if applicable. |
| `ocrData.checkedAddressBean.label` | string |  | Full address label. |
| `ocrData.checkedAddressBean.exteriorNumber` | string |  | Exterior street number. |
| `ocrData.checkedAddressBean.interiorNumber` | string |  | Interior street number. |
| `ocrData.checkedAddressBean.addressLine1` | string |  | The primary line in the address that contains the most essential details for locating a place. |
| `ocrData.checkedAddressBean.streetType` | string |  | Street type |
| `ocrData.exteriorNumber` | string |  | Exterior street number. |
| `ocrData.interiorNumber` | string |  | Interior street number. |
| `ocrData.addressFromStatement` | string |  | Address as read from address statement. Lines are separated by \n. |
| `ocrData.addressFieldsFromStatement` | object |  |  |
| `ocrData.addressFieldsFromStatement.street` | string |  | Street line in the way it is read from address string. |
| `ocrData.addressFieldsFromStatement.streetName` | string |  | Street name without exterior and interior numbers. |
| `ocrData.addressFieldsFromStatement.colony` | string |  | Colony line the way it is read from address string. (Not applicable for all countries) |
| `ocrData.addressFieldsFromStatement.postalCode` | string |  | Postal code in the way it is read from address string. |
| `ocrData.addressFieldsFromStatement.city` | string |  | City in the way it is read from address string. |
| `ocrData.addressFieldsFromStatement.state` | string |  | State in the way it is read from address string. |
| `ocrData.addressFieldsFromStatement.stateName` | string |  | Full StateName. |
| `ocrData.addressFieldsFromStatement.district` | string |  | District in the way it is read from address string. |
| `ocrData.addressFieldsFromStatement.stateCode` | string |  | State code if applicable. |
| `ocrData.addressFieldsFromStatement.addressCountryCode` | string |  | Address country code if applicable. |
| `ocrData.addressFieldsFromStatement.label` | string |  | Full address label. |
| `ocrData.addressFieldsFromStatement.exteriorNumber` | string |  | Exterior street number. |
| `ocrData.addressFieldsFromStatement.interiorNumber` | string |  | Interior street number. |
| `ocrData.addressFieldsFromStatement.addressLine1` | string |  | The primary line in the address that contains the most essential details for locating a place. |
| `ocrData.addressFieldsFromStatement.streetType` | string |  | Street type |
| `ocrData.invalidAddressFromStatement` | boolean |  | This field checks for a valid street, numeric postal code with 5 digits, and tha both colony and city have values. (Only checked for Mexican POA) |
| `ocrData.addressStatementEmissionDate` | integer (int64) |  | Issue date of address statement. The value is presented in UTC milliseconds. |
| `ocrData.documentType` | string |  | Type of address statement document. Possible values: - Mexico: liverpool, citibanamex, cfe, telcel, izzi, axtel, telmex, oapas, sacmex, opdm, naturgy, drenaje, totalplay, dhc, att, cea, smapa, megacable, jmas, amicsa, caev - Bolivia: cre - Uruguay: ute - Unknown document: otherPoa Enum: `a1`, `aggm`, `apg`, `energieAg`, `cre`, `aforeAzteca`, `amd`, `amicsa`, `att`, `axtel`, `bancoppel`, `bancoAzteca`, `banorte`, `bbva`, `cab`, `caev`, `capa`, `cea`, `cfe`, `citibanamex`, `cmapa`, `cmapaGrande`, `cmapas`, `cmas`, `cmasBlue`, `comapa`, `comapaRed`, `coppel`, `dapa`, `dhc`, `drenaje`, `ecogas`, `engie`, `gasNatural`, `h`, `hsbc`, `inbursa`, `infonavit`, `interapas`, `isagas`, `izzi`, `jad`, `japam`, `japama`, `japami`, `japay`, `jiapaz`, `jmas`, `jras`, `jumapac`, `jumapam`, `lerdo`, `liverpool`, `mas`, `megacable`, `naturgy`, `oapas`, `odapas`, `ooapas`, `opdm`, `oroapa`, `sacmex`, `sacmexCdmx`, `santander`, `sapa`, `sapal`, `sapamuy`, `sapasa`, `sapasma`, `scotiabank`, `seapal`, `siapa`, `simapag`, `simapas`, `simas`, `smapa`, `smapac`, `smapam`, `smapas`, `spectrum`, `stori`, `sura`, `tam`, `telcel`, `telmex`, `totalplay`, `veolia`, `victoria`, `wizz`, `asylumSeeker`, `refugeeId`, `refugeeStatus`, `ute`, `telkom`, `tmobile`, `verizon`, `xfinity`, `aforeCoppel`, `americanExpress`, `ap`, `telnor`, `wellsFargo`, `otherPoa` |
| `ocrData.addressStatementTimestamps` | array[AddressStatementDate] |  |  |
| `ocrData.addressStatementTimestamps.get_version` | integer (int64) |  |  |
| `ocrData.addressStatementTimestamps.dateType` | string |  | Description of timestamp. |
| `ocrData.addressStatementTimestamps.addressStatementTimestamp` | integer (int64) |  | UTC timestamp. |
| `ocrData.poaName` | string |  | Extracted name from address statement. |
| `ocrData.typeOfId` | string |  | Enum: `Unknown`, `Passport`, `Visa`, `DriversLicense`, `IdentificationCard`, `Permit`, `Currency`, `ResidenceDocument`, `TravelDocument`, `BirthCertificate`, `VehicleRegistration`, `Other`, `WeaponLicense`, `TribalIdentification`, `VoterIdentification`, `Military`, `TaxIdentification`, `FederalID`, `MedicalCard` |
| `ocrData.documentFrontSubtype` | string |  | Additional info about ID type (front side) |
| `ocrData.documentBackSubtype` | string |  | Additional info about ID type (back side) |
| `ocrData.issueFront` | integer (int32) |  | Issue year (per classification model) of the ID (front side) |
| `ocrData.issueBack` | integer (int32) |  | Issue year (per classification model) of the ID (back side) |
| `ocrData.birthDate` | integer (int64) |  | Date of birth is presented in UTC milliseconds. |
| `ocrData.gender` | string |  | Gender values are presented in English. "M" for male, "F" for female and "X" for non-binary. Enum: `M`, `F`, `X` |
| `ocrData.claveDeElector` | string |  | Clave de elector as read from id. For Mexican IDs only. |
| `ocrData.curp` | string |  | Curp as read form id. For Mexican IDs only. |
| `ocrData.numeroEmisionCredencial` | string |  | Numero Emision Credencial as read from id. (For Mexican IDs only). |
| `ocrData.cic` | string |  | Cic as read from id. (This field is read from back side of id; For Mexican IDs only). |
| `ocrData.ocr` | string |  | Ocr as read from id. (This field is read from back side of id; For Mexican IDs only). |
| `ocrData.documentNumber` | string |  | Document number. |
| `ocrData.documentNumberSource` | string |  | Document number source. Enum: `FORM`, `OCR` |
| `ocrData.personalNumber` | string |  | Personal number. |
| `ocrData.nationalNumber` | string |  | National number. |
| `ocrData.refNumber` | string |  | Document Reference Number. |
| `ocrData.taxIdNumber` | string |  | Personal tax identification number. |
| `ocrData.nue` | string |  | NUE number as read from id. (for Resident Cards) |
| `ocrData.externalId` | string |  | External user id. |
| `ocrData.issuedAt` | string |  | Date of issue UTC timestamp. |
| `ocrData.expireAt` | string |  | Expiration date UTC timestamp. |
| `ocrData.expirationDate` | integer (int32) |  | Expiration year of id. |
| `ocrData.issueDate` | integer (int32) |  | Issue year of id. |
| `ocrData.registrationDate` | integer (int32) |  | Registration date read from id. |
| `ocrData.dlClassDetails` | array[DLClassDetails] |  |  |
| `ocrData.dlClassDetails.dlClass` | string |  | Driver's license class. |
| `ocrData.dlClassDetails.validFromDate` | integer (int64) |  | DL class valid from UTC timestamp |
| `ocrData.dlClassDetails.validToDate` | integer (int64) |  | DL class valid to UTC timestamp. |
| `ocrData.dlClassDetails.additionalCodes` | string |  | Additional codes associated with DL class. |
| `ocrData.dlClassDetails.restrictions` | array[string] |  | Restriction codes associated with DL class. |
| `ocrData.issuingCountry` | string |  | Issuing country of document. |
| `ocrData.issuingState` | string |  | Issuing state of document. |
| `ocrData.birthPlace` | string |  | Birth place as read from id. |
| `ocrData.issuingAuthority` | string |  | Issuing Authority as read from id. |
| `ocrData.height` | string |  | Person's height as read from id. |
| `ocrData.weight` | string |  | Person's weight. |
| `ocrData.eyeColor` | string |  | Person's eye color. |
| `ocrData.hairColor` | string |  | Person's hair color. |
| `ocrData.religion` | string |  | Person's religion. |
| `ocrData.bloodType` | string |  | Person's blood type. |
| `ocrData.maritalStatus` | string |  | Person's marital status. |
| `ocrData.nationality` | string |  | Person's nationality. |
| `ocrData.race` | string |  | Person's race. |
| `ocrData.nationalityMrz` | string |  | Person's nationality as it appears in MRZ (if present). |
| `ocrData.nationalityAlpha3` | string |  | Person's nationality Alpha3 code format. Only for Brazilian IDs. |
| `ocrData.governmentComparisonResults` | object |  | Government validation data. Only for supported government validation countries. |
| `ocrData.governmentComparisonResults.paternalLastNameValid` | boolean |  | Indicates validity of person's paternal last name through government validation apis. |
| `ocrData.governmentComparisonResults.maternalLastNameValid` | boolean |  | Indicates validity of person's maternal last name through government validation apis. |
| `ocrData.governmentComparisonResults.firstNameValid` | boolean |  | Indicates validity of person's first name through government validation apis. |
| `ocrData.governmentComparisonResults.curpValid` | boolean |  | Indicates CURP validity through RENAPO/CURP provider validation. |
| `ocrData.governmentComparisonResults.ineCurpValid` | boolean |  | Indicates CURP validity through INE government validation (separate from RENAPO). |
| `ocrData.governmentComparisonResults.ocrValid` | boolean |  | Indicates ocr validity through government validation apis. |
| `ocrData.governmentComparisonResults.claveDeElectorValid` | boolean |  | Indicates "clave de elector" validity through government validation apis. |
| `ocrData.governmentComparisonResults.numeroEmisionCredencialValid` | boolean |  | Indicates "numero emision credencial" validity through government validation apis. |
| `ocrData.governmentComparisonResults.registrationDateValid` | boolean |  | Indicates registration date validity through government validation apis. |
| `ocrData.governmentComparisonResults.issueDateValid` | boolean |  | Indicates issue date validity through government validation apis. |
| `ocrData.notExtracted` | integer (int32) |  | Number of not extracted OCR fields. Only for Mexican IDs. |
| `ocrData.notExtractedDetails` | array[string] |  |  |
| `ocrData.classes` | string |  | Person's driver licence classes. |
| `ocrData.cond` | string |  | Person's driver licence conditions. |
| `ocrData.mentions` | string |  | Person's driver licence mentions. |
| `ocrData.restrictions` | string |  | Person's driver licence restrictions. |
| `ocrData.mrz1` | string |  | First MRZ line. |
| `ocrData.mrz2` | string |  | Second MRZ line. |
| `ocrData.mrz3` | string |  | Third MRZ line. |
| `ocrData.fullNameMrz` | string |  | Person's full name read from MRZ. |
| `ocrData.documentNumberCheckDigit` | string |  | Document number check digit read from MRZ. |
| `ocrData.dateOfBirthCheckDigit` | string |  | Date of birth check digit read from MRZ. |
| `ocrData.expirationDateCheckDigit` | string |  | Expiration date check digit read from MRZ. |
| `ocrData.barcodeRawData` | string |  | Full unformatted data read from 2D barcode. |
| `ocrData.fathersName` | string |  | Person's father's name. Only for Brazilian and Indian IDs. |
| `ocrData.mothersName` | string |  | Person's mother's name. Only for Brazilian IDs. |
| `ocrData.fathersIdNumber` | string |  | Person's father's Id Number. In the context of minors identity validation. |
| `ocrData.mothersIdNumber` | string |  | Person's mother's Id Number. In the context of minors identity validation. |
| `ocrData.spouseName` | string |  | Person's spouse's name. |
| `ocrData.federalRevenueNumber` | string |  | Federal revenue number. Only for Brazilian IDs. |
| `ocrData.originDocumentId` | string |  | Origin document ID. Only for Brazilian IDs. |
| `ocrData.driversLicenseCategory` | string |  | Driver's licence category. Only for Brazilian IDs. |
| `ocrData.controlNumber` | string |  | Control number. Only for Brazilian IDs. |
| `ocrData.renach` | string |  | Renach. Only for Brazilian IDs. |
| `ocrData.additionalAttrs` | array[string] |  | Additional document attributes. |
| `ocrData.ocrDataConfidence` | object |  | Structure containing ocr reliability confidence for each extracted ocr field. Confidence values are Floats between 0 and 1. |
| `ocrData.ocrDataConfidence.birthDateConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.nameConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.nameNativeScriptConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.firstNameNativeScriptConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.paternalLastNameNativeScriptConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.maternalLastNameNativeScriptConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.givenNameConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.firstNameConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.middleNameConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.nameSuffixConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.mothersSurnameConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.fathersSurnameConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.nickNameConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.fullNameMrzConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.mothersNameConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.fathersNameConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.mothersIdNumberConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.fathersIdNumberConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.spouseNameConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.birthNameConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.addressConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.streetConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.colonyConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.postalCodeConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.cityConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.stateConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.districtConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.stateCodeConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.countryCodeConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.genderConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.issueDateConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.expirationDateConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.issuedAtConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.expireAtConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.issuingAuthorityConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.mrz1Confidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.mrz2Confidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.mrz3Confidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.mrzFullConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.documentNumberConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.backNumberConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.personalNumberConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.nationalNumberConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.claveDeElectorConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.numeroEmisionCredencialConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.curpConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.nueConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.registrationDateConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.heightConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.birthPlaceConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.bloodTypeConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.eyeColorConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.classesConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.condConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.mentionsConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.refNumberConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.weightConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.hairConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.restrictionsConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.nationalityConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.nationalityMrzConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.nationalityAlpha3Confidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.maritalStatusConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.raceConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.taxIdNumberConfidence` | number (float) |  |  |
| `ocrData.ocrDataConfidence.jurisdictionCodeConfidence` | number (float) |  |  |
| `ocrData.additionalDocumentAttempts` | array[AdditionalDocumentAttemptDto] |  |  |
| `ocrData.additionalDocumentAttempts.status` | string |  | Enum: `SUCCESS`, `VALIDATION_ERROR`, `FAIL` |
| `ocrData.additionalDocumentAttempts.attemptTimestamp` | integer (int64) |  |  |
| `ocrData.additionalDocumentAttempts.imagesUrl` | array[string] |  |  |
| `ocrData.additionalDocumentAttempts.attemptType` | string |  | Enum: `POA`, `DOCUMENT_CAPTURE` |
| `ocrData.additionalDocumentAttempts.documentType` | string | yes |  |
| `ocrData.documentSubmissionMethod` | string |  | Method used to submit the document. Enum: `CAPTURED_DOCUMENT`, `UPLOADED_FILE`, `IMPORTED_CREDENTIAL` |
| `ocrData.credentialsProvider` | string |  | Credentials provider used when documentSubmissionMethod is IMPORTED_CREDENTIAL. Enum: `APPLE`, `GOOGLE`, `DIGILOCKER`, `SAMSUNG` |
| `deviceInfo` | object |  |  |
| `deviceInfo.ipAddress` | string |  | IP address of the device from which onboarding is being executed. |
| `deviceInfo.hash` | string |  | Hash is generated out of data specific to user device and browser: userAgent, webdriver, language, colorDepth, deviceMemory, hardwareConcurrency, screenResolution, availableScreenResolution, timezoneOffset, timezone, sessionStorage, localStorage, indexedDb, cpuClass, platform, plugins, canvas, webgl, webglVendorAndRenderer, adBlock, hasLiedLanguages, hasLiedResolution, hasLiedOs, hasLiedBrowser, touchSupport, fonts, audio. |
| `deviceInfo.deviceType` | string |  | Device type Enum: `IOS`, `ANDROID`, `WEBAPP` |
| `deviceInfo.osVersion` | string |  |  |
| `deviceInfo.deviceModel` | string |  |  |
| `deviceInfo.sdkVersion` | string |  |  |
| `deviceInfo.browser` | string |  |  |
| `deviceInfo.hasLiedBrowser` | boolean |  |  |
| `deviceInfo.longitude` | number (float) |  | User's geolocation longitude. |
| `deviceInfo.latitude` | number (float) |  | User's geolocation latitude. |
| `deviceInfo.location` | string |  | User's location at the moment of onboarding process. |
| `deviceInfo.getmAdminArea` | string |  | State |
| `deviceInfo.getmSubAdminArea` | string |  | County |
| `deviceInfo.getmLocality` | string |  | City |
| `deviceInfo.getmSubLocality` | string |  | Neighborhood, common name |
| `deviceInfo.getmThoroughfare` | string |  | Street name. |
| `deviceInfo.getmSubThoroughfare` | string |  | Number. |
| `deviceInfo.getmPostalCode` | string |  | Zip code |
| `deviceInfo.getmCountryCode` | string |  | Country code |
| `deviceInfo.getmCountryName` | string |  | Country name |
| `deviceInfo.hostingApp` | string |  | Hosting App |
| `ineTransactionId` | string |  |  |
| `errorDescription` | string |  |  |
| `fallbackCalled` | boolean |  |  |
| `otpResponse` | object |  |  |
| `otpResponse.authBridge` | object |  |  |
| `otpResponse.authBridge.otpCodeRequested` | boolean |  |  |
| `otpResponse.authBridge.mobile` | string |  |  |
| `otpResponse.authBridge.status` | string |  |  |

```json
{
  "valid": true,
  "statusCode": 0,
  "registralSituation": {
    "tipoSituacionRegistral": "string",
    "tipoReporteRoboExtravio": "string"
  },
  "governmentValidation": {
    "recognitionConfidence": {
      "value": "string",
      "status": "OK"
    },
    "validationStatus": {
      "value": "string",
      "status": "OK",
      "key": "string"
    },
    "ocrValidation": [
      {
        "value": "string",
        "status": "OK",
        "key": "string"
      }
    ],
    "ocrValidationOverall": {
      "value": "string",
      "status": "OK"
    },
    "overall": {
      "value": "string",
      "status": "OK"
    }
  },
  "curpCecobanValidation": {
    "returnCode": "string",
    "description": "string",
    "uniquePopulationRegistrationKeyMatch": true
  },
  "customFields": {
    "additionalProp": "string"
  },
  "ocrData": {
    "name": {
      "fullName": "string",
      "fullNameNativeScript": "string",
      "machineReadableFullName": "string",
      "firstName": "string",
      "middleName": "string",
      "givenName": "string",
      "givenNameMrz": "string",
      "nameSuffix": "string",
      "paternalLastName": "string",
      "maternalLastName": "string",
      "lastNameMrz": "string"
    },
    "address": "string",
    "addressFields": {
      "street": "string",
      "colony": "string",
      "postalCode": "string",
      "city": "string",
      "state": "string",
      "stateName": "string",
      "district": "string",
      "stateCode": "string",
      "addressCountryCode": "string",
      "label": "string"
    },
    "fullAddress": true,
    "invalidAddress": true,
    "checkedAddress": "string",
    "checkedAddressBean": {
      "street": "string",
      "colony": "string",
      "postalCode": "string",
      "city": "string",
      "state": "string",
      "stateName": "string",
      "district": "string",
      "stateCode": "string",
      "addressCountryCode": "string",
      "label": "string"
    },
    "exteriorNumber": "string",
    "interiorNumber": "string",
    "addressFromStatement": "string",
    "addressFieldsFromStatement": {
      "street": "string",
      "colony": "string",
      "postalCode": "string",
      "city": "string",
      "state": "string",
      "stateName": "string",
      "district": "string",
      "stateCode": "string",
      "addressCountryCode": "string",
      "label": "string"
    },
    "invalidAddressFromStatement": true,
    "addressStatementEmissionDate": 0,
    "documentType": "a1",
    "addressStatementTimestamps": [
      {
        "dateType": "string",
        "addressStatementTimestamp": 0
      }
    ],
    "poaName": "string",
    "typeOfId": "string",
    "documentFrontSubtype": "string",
    "documentBackSubtype": "string",
    "birthDate": 0,
    "gender": "M",
    "claveDeElector": "string",
    "curp": "string",
    "numeroEmisionCredencial": "string",
    "cic": "string",
    "ocr": "string",
    "documentNumber": "string",
    "documentNumberSource": "FORM",
    "personalNumber": "string",
    "nationalNumber": "string",
    "refNumber": "string",
    "taxIdNumber": "string",
    "nue": "string",
    "externalId": "string",
    "issuedAt": "string",
    "expireAt": "string",
    "expirationDate": 0,
    "issueDate": 0,
    "registrationDate": 0,
    "dlClassDetails": [
      {
        "dlClass": "string",
        "validFromDate": 0,
        "validToDate": 0,
        "additionalCodes": "string"
      }
    ],
    "issuingCountry": "string",
    "issuingState": "string",
    "birthPlace": "string",
    "issuingAuthority": "string",
    "height": "string",
    "weight": "string",
    "eyeColor": "string",
    "hairColor": "string",
    "bloodType": "string",
    "maritalStatus": "string",
    "nationality": "string",
    "race": "string",
    "nationalityMrz": "string",
    "nationalityAlpha3": "string",
    "governmentComparisonResults": {
      "paternalLastNameValid": true,
      "maternalLastNameValid": true,
      "firstNameValid": true,
      "curpValid": true,
      "ocrValid": true,
      "claveDeElectorValid": true,
      "numeroEmisionCredencialValid": true,
      "registrationDateValid": true,
      "issueDateValid": true
    },
    "notExtracted": 0,
    "notExtractedDetails": [
      "string"
    ],
    "classes": "string",
    "cond": "string",
    "mentions": "string",
    "restrictions": "string",
    "mrz1": "string",
    "mrz2": "string",
    "mrz3": "string",
    "fullNameMrz": "string",
    "documentNumberCheckDigit": "string",
    "dateOfBirthCheckDigit": "string",
    "expirationDateCheckDigit": "string",
    "barcodeRawData": "string",
    "fathersName": "string",
    "mothersName": "string",
    "spouseName": "string",
    "federalRevenueNumber": "string",
    "originDocumentId": "string",
    "driversLicenseCategory": "string",
    "controlNumber": "string",
    "renach": "string",
    "additionalAttrs": [
      "DOCUMENTO_INFANTIL"
    ],
    "ocrDataConfidence": {
      "birthDateConfidence": 0,
      "nameConfidence": 0,
      "nameNativeScriptConfidence": 0,
      "givenNameConfidence": 0,
      "firstNameConfidence": 0,
      "middleNameConfidence": 0,
      "nameSuffixConfidence": 0,
      "mothersSurnameConfidence": 0,
      "fathersSurnameConfidence": 0,
      "nickNameConfidence": 0,
      "fullNameMrzConfidence": 0,
      "mothersNameConfidence": 0,
      "fathersNameConfidence": 0,
      "spouseNameConfidence": 0,
      "addressConfidence": 0,
      "streetConfidence": 0,
      "colonyConfidence": 0,
      "postalCodeConfidence": 0,
      "cityConfidence": 0,
      "stateConfidence": 0,
      "districtConfidence": 0,
      "stateCodeConfidence": 0,
      "countryCodeConfidence": 0,
      "genderConfidence": 0,
      "issueDateConfidence": 0,
      "expirationDateConfidence": 0,
      "issuedAtConfidence": 0,
      "expireAtConfidence": 0,
      "issuingAuthorityConfidence": 0,
      "mrz1Confidence": 0,
      "mrz2Confidence": 0,
      "mrz3Confidence": 0,
      "mrzFullConfidence": 0,
      "documentNumberConfidence": 0,
      "backNumberConfidence": 0,
      "personalNumberConfidence": 0,
      "nationalNumberConfidence": 0,
      "claveDeElectorConfidence": 0,
      "numeroEmisionCredencialConfidence": 0,
      "curpConfidence": 0,
      "nueConfidence": 0,
      "registrationDateConfidence": 0,
      "heightConfidence": 0,
      "birthPlaceConfidence": 0,
      "bloodTypeConfidence": 0,
      "eyeColorConfidence": 0,
      "classesConfidence": 0,
      "condConfidence": 0,
      "mentionsConfidence": 0,
      "refNumberConfidence": 0,
      "weightConfidence": 0,
      "hairConfidence": 0,
      "restrictionsConfidence": 0,
      "nationalityConfidence": 0,
      "nationalityMrzConfidence": 0,
      "maritalStatusConfidence": 0,
      "raceConfidence": 0,
      "taxIdNumberConfidence": 0,
      "jurisdictionCodeConfidence": 0
    },
    "additionalDocumentAttempts": [
      {
        "status": "SUCCESS",
        "attemptTimestamp": 0,
        "documentType": "string",
        "firstName": "string",
        "lastName": "string",
        "countryOfOrigin": "string",
        "dateOfBirth": 0,
        "expiryDate": 0,
        "issueDate": 0,
        "gender": "MALE",
        "nationality": "string",
        "placeOfIssue": "string",
        "referenceNumber": "string",
        "residentialAddressLines": [
          "string"
        ]
      },
      {
        "status": "SUCCESS",
        "attemptTimestamp": 0,
        "documentType": "string",
        "fullName": "string",
        "address": "string",
        "accountNumber": "string",
        "bankName": "string",
        "documentDate": "string"
      },
      {
        "status": "SUCCESS",
        "attemptTimestamp": 0,
        "documentType": "string",
        "fullName": "string",
        "curpNumber": "string",
        "registrationDate": 0,
        "registrationEntity": "string",
        "idNumber": "string"
      },
      {
        "status": "SUCCESS",
        "attemptTimestamp": 0,
        "documentType": "string",
        "fullName": "string",
        "address": "string",
        "issueDate": 0
      },
      {
        "status": "SUCCESS",
        "attemptTimestamp": 0,
        "documentType": "string",
        "rfcNumber": "string",
        "corporateName": "string",
        "fullName": "string",
        "declarationType": "string",
        "fiscalYear": 0,
        "submissionDate": 0,
        "hasIncomeStatement": true,
        "hasFinancialPositionStatement": true,
        "totalIncome": 0,
        "capitalFromContributions": 0,
        "capitalFromCapitalization": 0,
        "accumulatedLosses": 0,
        "currentYearLosses": 0,
        "accumulatedProfits": 0,
        "currentYearProfits": 0,
        "amountToPay": 0,
        "amountDue": 0,
        "operationNumber": "string"
      },
      {
        "status": "SUCCESS",
        "attemptTimestamp": 0,
        "documentType": "string",
        "issueDate": 0,
        "rfcNumber": "string",
        "corporateName": "string",
        "fullName": "string",
        "registryStatus": "string",
        "addressComponents": {
          "street": "string",
          "colony": "string",
          "postalCode": "string",
          "city": "string",
          "state": "string",
          "stateName": "string",
          "district": "string",
          "stateCode": "string",
          "addressCountryCode": "string",
          "label": "string"
        },
        "economicActivities": [
          {
            "title": "string",
            "percentage": 0,
            "startDate": 0,
            "endDate": 0
          }
        ],
        "regimes": [
          {
            "title": "string",
            "startDate": 0,
            "endDate": 0
          }
        ],
        "barcodes": [
          {
            "format": "string",
            "contentType": "string",
            "text": "string",
            "error": "string"
          }
        ]
      },
      {
        "status": "SUCCESS",
        "attemptTimestamp": 0,
        "documentType": "string",
        "name": "string",
        "address": "string",
        "timestamp": 0,
        "addressStatementTimestamps": [
          {
            "dateType": "string",
            "addressStatementTimestamp": 0
          }
        ],
        "issuer": "a1",
        "addressComponents": {
          "street": "string",
          "colony": "string",
          "postalCode": "string",
          "city": "string",
          "state": "string",
          "stateName": "string",
          "district": "string",
          "stateCode": "string",
          "addressCountryCode": "string",
          "label": "string"
        }
      },
      {
        "status": "SUCCESS",
        "attemptTimestamp": 0,
        "documentType": "string",
        "firstNames": "string",
        "lastName": "string",
        "gender": "MALE",
        "countryOfBirth": "string",
        "dateOfBirth": 0,
        "nationality": "string",
        "maritalStatus": "string",
        "issueDate": 0,
        "expiryDate": 0,
        "idNumber": "string"
      },
      {
        "status": "SUCCESS",
        "attemptTimestamp": 0,
        "documentType": "string",
        "fullName": "string",
        "gender": "MALE",
        "dateOfBirth": 0,
        "issueDate": 0,
        "countryOfBirth": "string",
        "nationality": "string",
        "maritalStatus": "string",
        "documentNumber": "string"
      },
      {
        "status": "SUCCESS",
        "attemptTimestamp": 0,
        "documentType": "string",
        "fullName": "string",
        "rfcNumber": "string",
        "idCIF": "string"
      },
      {
        "status": "SUCCESS",
        "attemptTimestamp": 0,
        "documentType": "string"
      },
      {
        "status": "SUCCESS",
        "attemptTimestamp": 0,
        "documentType": "string",
        "fullName": "string",
        "address": "string",
        "addressList": [
          "string"
        ],
        "registrationNumber": "string",
        "v5cNumber": "string",
        "referenceNumber": "string"
      }
    ]
  },
  "deviceInfo": {
    "ipAddress": "string",
    "hash": "string",
    "deviceType": "IOS",
    "osVersion": "string",
    "deviceModel": "string",
    "sdkVersion": "string",
    "browser": "string",
    "hasLiedBrowser": true,
    "longitude": 0,
    "latitude": 0,
    "location": "string",
    "getmAdminArea": "CA",
    "getmSubAdminArea": "Santa Clara",
    "getmLocality": "string",
    "getmSubLocality": "Mission District",
    "getmThoroughfare": "string",
    "getmSubThoroughfare": "string",
    "getmPostalCode": 95014,
    "getmCountryCode": "US",
    "getmCountryName": "United States",
    "hostingApp": "Onboarding"
  },
  "ineTransactionId": "string",
  "errorDescription": "string",
  "fallbackCalled": true,
  "otpResponse": {
    "authBridge": {
      "otpCodeRequested": true,
      "mobile": "string",
      "status": "string"
    }
  }
}
```

### 400

Bad Request

Response body (`application/json`):

| Field | Type | Required | Description |
| --- | --- | --- | --- |
| `timestamp` | integer (int64) |  | UTC timestamp in milliseconds |
| `status` | integer (int32) |  | Custom error code or HTTP status code |
| `error` | string |  | HTTP status error |
| `message` | string |  | Custom error message |
| `path` | string |  | Endpoint path |
| `details` | object |  | Custom error details |
