Brazil Government

Brazilian eKYC non-doc verification leverages Brazil's government source of truth to validate individuals. It is essential in eKYC processes for ensuring identity authenticity, regulatory compliance, and enhanced security. It helps prevent fraud, boosts user trust, and streamlines operations through automated and efficient verification methods.

Integration

User input flow

eKYC module configuration gives various options to specify different search criteria with various sources of truth for each country (eg. US has multiple via Telco, Credit Bureau, and Driver's License). User data can be collected via a user input flow by using pre-selected fields where users can type in their name or date of birth, etc. See an example below:

Module configuration

The module configuration can be leveraged to select the applicable fields for the input data you would like to collect from the end user.

Direct API Approach

All module configurations and user data can be forwarded directly in the request for performing an eKYC search. This will override existing configuration and data collected about the user.

API Authentication

All endpoints require authentication headers to be specified as stated in Incode API Documentation

eKYC request

POST /omni/externalVerification/ekyc

This endpoint performs an eKYC check for the individual specified. Note: Endpoint can have empty body {} and in that case information will be pulled from module configuration and session details.

Example request:

{
    "plugins": ["kyc"], //required field
    "firstName": "Renata", // required field
    "surName": "De Maria Santos", //required field
    "houseNo" : "121",
    "street" : "Rua Luiz Ferreira Dorta",
    "postalCode": "76535000",
    "country": "BR", //required field
    "state" : "RJ",
    "city" : "Rio de Janeiro",
    "dateOfBirth": "1980-06-01",
    "nationality" : "1",
    "taxId" : "23490843490" //required field
}

Note: If individual has a middle name, this can be included in surName field so it includes both middle + last name.

Direct API Response

Note: Endpoint can have empty body {} and in that case information will be pulled from module configuration and session details.

{
    "kyc": [
        {
            "key": "taxIdNationalityMatch",
            "status": "exact"
        },
        {
            "key": "taxIdDobMatch",
            "status": "exact"
        },
        {
            "key": "taxIdMatch",
            "status": "exact"
        },
        {
            "key": "taxIdAddressMatch",
            "status": "approximatematch",
            "reasonCodes": [
                "ASCV"
            ]
        },
        {
            "key": "taxIdNameMatch",
            "status": "exact"
        },
        {
            "key": "taxIdStateMatch",
            "status": "exact"
        },
        {
            "key": "taxIdCityMatch",
            "status": "exact"
        },
        {
            "key": "taxIdPostalCodeMatch",
            "status": "nomatch"
        },
        {
            "key": "taxIdLevel",
            "status": "low",
            "reasonCodes": [
                "TSR"
            ]
        },
        {
            "key": "overallLevel",
            "status": "low"
        }
    ]
}

eKYC error responses

Please refer to error response to see conventional HTTP response codes to indicate the success or failure of an API request.

For Brazil, custom 400 error messages if taxId, or country is “ “ or null:

message: taxId, and country are minimum required fields.

BR API Key Status Definition
taxIdMatch exact, nomatch Submitted taxId (CPF) has a match or no match associated to the taxId (CPF) in the government source of truth
taxIdNameMatch exact, approximatematch, nomatch Submitted name has a match, approximate match, or no match associated to the taxId (CPF) in the government source of truth
taxIdDobMatch exact, nomatch Submitted date of birth has a match or no match associated to the taxId (CPF) in the government source of truth
taxIdLevel low, high The risk level of the submitted taxId associated to the taxId in the government source of truth.
Low Risk: Verified CPF status is regular.
High risk: CPF status is suspended, associated with a deceased holder, pending regularization, canceled due to multiplicity, or canceled by authority
taxIdStateMatch exact, nomatch, unabletoverify Submitted state has a match or no match associated to the government database. See note below for unable to verify
taxIdAddressMatch exact, approximatematch, nomatch, unabletoverify Submitted address has an exact match, approximate match, or no match associated to the government source of truth. See note below for unable to verify.
Approximate match is presented when not all but still at least two address elements (either street, postal code, city, or state) returns back as exact
taxIdCityMatch exact, nomatch, unabletoverify Submitted city has a match or no match associated to the government source of truth. See note below for unable to verify.
taxIdPostalCodeMatch exact, nomatch, unabletoverify Submitted postal code has a match or no match associated to the government source of truth. See note below for unable to verify.
taxIdNationalityMatch exact, nomatch Submitted nationality has an exact match or no match associated to the taxId (CPF) in the government source of truth
overallLevel low, medium, high Overall risk level of the attributes submitted associated to the taxId in the government source of truth.

Note: "unabletoverify" can occur for address based elements (taxIdStateMatch, taxIdAddressMatch, taxIdCityMatch, taxIdPostalCodeMatch). This is because addresses are validated through the driver's license Brazilian government source of truth. So if the individual does not have a driver's license, the address components cannot be validated.

Reason Codes

Reason Codes help you further understand why you may have gotten a certain response for a certain API key. The full list of 300+ reason codes are here. Below are a few examples of Brazilian reason codes that you can see in your API response:

Reason Code DESCRIPTION
ASDL Unable to verify address because CPF consulted does not have a CNH in the official government database
TSRF Tax ID Status (situacao CPF) is not regular. It is suspended or canceled due to pending regularization, being null, with the holder being deceased.
TSR Tax ID Status (situacao CPF) is regular
TSRP Tax ID status is Pending regularization
TNPIN taxId check was not performed due to invalid nationality
TLGPD taxId check was not performed due to LGPD: Minor's data
ASCV State, Country Validated

Single Session Dashboard Results

To view results directly in the dashboard, you can navigate to Single Session view under ID Verification tab

Updated 7 months ago