Risk Signal: eKYC Checks

eKYC Checks provide a comprehensive global check on individual data elements such as name, address, date of birth, phone number or national ID (if provided). Checks provide a match/partial/no match response. This supports account onboarding use cases such as opening a bank account or a gaming account where you need to verify that the name, address, DOB, ID, and/or phone number are valid.

eKYC Checks supports both 1+1 and 2+2 checks. A 1+1 check looks for a single match of the input data against sources per country. A 2+2 checks and looks for two matches of the input data against different sources within the same country.

Prerequisite

The Creating or Updating Accounts request body may include an optional ekycCheck object that includes a searchType value. Allowed values are:

  • one if requesting a 1+1 check

  • two if requesting a 2+2 check

If the object is not included in the request body the default value is one.

Example Account Request Body

{
    "customerInternalReference": "myCompany",
    "workflowDefinition": {
        "key": 10148,
        "capabilities": {
            "ekycCheck": {
                "searchType": "one"
            }
        }
    },
    ...
}

Supported Credentials

The following values can be uploaded as Prepared Data. Alternatively, they can be extracted by an upstream capability in a workflow.

To use Prepared Data with eKYC Checks as a standalone capability use workflow key 10148.

Key Type Mandatory Description
firstName string yes First name of the subject.
lastName string yes Last name of the subject.

dob

string

no

Date of birth, in yyyy/mm/dd format.

address

Object

yes

 

address.line1

string

yes

 

address.line2

string

no

 

address.city

string

yes

City of residence as it appears on the Id.

address.postalCode

string

yes

Postal or zip code.

address.subdivision

string

no

City subdivision of residence as it appears on the Id.

address.country

string

yes

Country in ISO-3166-1 Alpha-3 Code or ISO-3166-1 Alpha-2 Code format.

phoneNumber String no Phone number of the subject in E.164 format.

Country code is required.

email String no Optimal to include.
id Object no See next row.
id.idNumber string no National ID number.
id.type string no

Type of national ID.

Example: Prepared Data Body

{
  "firstName": "B***",
  "lastName": "S****",
  "email": "b***j@gmail.com",
  "dob": "1977/01/01",
  "phoneNumber": "+91-9880001234",
  "id": {
    "idNumber": "VIMK98**27MDFLN***",
    "type": "ID_CARD
  },
  "address": {
    "line1": "34",
    "postalCode": "560029",
    "city": "",
    "state": "",
    "subdivision": "",
    "country": "MEX"
  }
}

Example Response of 1+1 check

"ekycCheck": [
            {
                "id": "427accd1-c23f-4c6c-ba91-b85d84fe681c",
                "credentials": [
                    {
                        "id": "61cf2916-97cd-4f39-b0c3-c1379812d9b5",
                        "category": "DATA",
                        "label": "DATA"
                    }
                ],
                "decision": {
                    "type": "PASSED",
                    "details": {
                        "label": "LOW_RISK"
                    }
                },
                "data": {
                    "completeNameMatch": "MATCH",
                    "initialNameMatch": "MATCH",
                    "firstNameMatch": "MATCH",
                    "lastNameMatch": "MATCH",
                    "nationalIdMatch": "MATCH",
                    "addressMatch": "MATCH",
                    "houseNumberMatch": "MATCH",
                    "thoroughfareMatch": "MATCH",
                    "cityMatch": "MATCH",
                    "stateMatch": "MATCH",
                    "zipOrPinCodeMatch": "MATCH",
                    "dateOfBirthMatch": "NOT_MATCH",
                    "dateOfBirthDayMatch": "NOT_MATCH",
                    "dateOfBirthMonthMatch": "NOT_MATCH",
                    "dateOfBirthYearMatch": "MATCH",
                    "phoneMatch": "MATCH",
                    "datasourceType": "Commercial",
                    "searchType": "1+1",
                    "matchType": "1+1"
                    "datasourceSummary": [
                        {
                            "completeNameMatch": "MATCH",
                            "initialNameMatch": "MATCH",
                            "firstNameMatch": "MATCH",
                            "lastNameMatch": "MATCH",
                            "addressMatch": "MATCH",
                            "houseNumberMatch": "MATCH",
                            "thoroughfareMatch": "MATCH",
                            "cityMatch": "MATCH",
                            "stateMatch": "MATCH",
                            "zipOrPinCodeMatch": "MATCH",
                            "dateOfBirthYearMatch": "MATCH",
                            "phoneMatch": "MATCH",
                            "source": "CMM1"
                        },
                },

Example Response of 2+2 check

"capabilities": {
        "ekycCheck": [
            {
                "id": "b4b30e84-fcf6-4286-9c94-5ba81a20c084",
                "credentials": [
                    {
                        "id": "292125ae-24b4-4d70-8311-c0329967563d",
                        "category": "DATA",
                        "label": "DATA"
                    }
                ],
                "decision": {
                    "type": "PASSED",
                    "details": {
                        "label": "LOW_RISK"
                    }
                },
                "data": {
                    "completeNameMatch": "MATCH",
                    "initialNameMatch": "MATCH",
                    "firstNameMatch": "MATCH",
                    "lastNameMatch": "MATCH",
                    "nationalIdMatch": "MATCH",
                    "addressMatch": "MATCH",
                    "houseNumberMatch": "MATCH",
                    "thoroughfareMatch": "MATCH",
                    "cityMatch": "MATCH",
                    "stateMatch": "MATCH",
                    "zipOrPinCodeMatch": "MATCH",
                    "dateOfBirthMatch": "NOT_MATCH",
                    "dateOfBirthDayMatch": "NOT_MATCH",
                    "dateOfBirthMonthMatch": "NOT_MATCH",
                    "dateOfBirthYearMatch": "MATCH",
                    "phoneMatch": "MATCH",
                    "datasourceType": "Commercial,Postal",
                    "searchType": "2+2",
                    "matchType": "2+2",
                    "datasourceSummary": [
                        {
                            "completeNameMatch": "MATCH",
                            "initialNameMatch": "MATCH",
                            "firstNameMatch": "MATCH",
                            "lastNameMatch": "MATCH",
                            "addressMatch": "MATCH",
                            "houseNumberMatch": "MATCH",
                            "thoroughfareMatch": "MATCH",
                            "cityMatch": "MATCH",
                            "stateMatch": "MATCH",
                            "zipOrPinCodeMatch": "MATCH",
                            "dateOfBirthYearMatch": "MATCH",
                            "phoneMatch": "MATCH",
                            "source": "CMM2"
                        },
                        {
                            "completeNameMatch": "MATCH",
                            "initialNameMatch": "MATCH",
                            "firstNameMatch": "MATCH",
                            "lastNameMatch": "MATCH",
                            "addressMatch": "MATCH",
                            "houseNumberMatch": "MATCH",
                            "thoroughfareMatch": "MATCH",
                            "cityMatch": "MATCH",
                            "stateMatch": "MATCH",
                            "zipOrPinCodeMatch": "MATCH",
                            "dateOfBirthDayMatch": "NOT_MATCH",
                            "dateOfBirthMonthMatch": "NOT_MATCH",
                            "dateOfBirthYearMatch": "NOT_MATCH",
                            "source": "PST1"
                        }
                    ]
                },

 

Decision Details Labels

Decision Type

Label

Description

PASSED

LOW_RISK

 

REJECTED

HIGH_RISK

 

WARNING

MEDIUM_RISK

 

NOT_EXECUTED

VALIDATION_FAILED

 

NOT_EXECUTED

NOT_ENOUGH_DATA

 

NOT_EXECUTED

PRECONDITION_NOT_FULFILLED

 

NOT_EXECUTED

TECHNICAL_ERROR

 

 

Data

Parameter

Type

Description

completeNameMatch string "MATCH", "NO_MATCH": The match status of the combined first and last name values.
initialNameMatch string "MATCH", "NO_MATCH": The match status of the first initial.
firstNameMatch string "MATCH", "NO_MATCH": The match status of the first name.
lastNameMatch string "MATCH", "NO_MATCH": The match status of the last name.
nationalIdMatch string "MATCH", "NO_MATCH": The match status of the ID. National ID may not always be supported in countries.
addressMatch string "MATCH", "NO_MATCH": The match status of the complete address.
houseNumberMatchMatch string "MATCH", "NO_MATCH": The match status of the house number.
thoroughfareMatchMatch string "MATCH", "NO_MATCH": The match status of the thoroughfare.
cityMatch string "MATCH", "NO_MATCH": The match status of the address city.
zipOrPinCodeMatch string "MATCH", "NO_MATCH": The match status of the address zip or PIN code.
dateOfBirthMatch string "MATCH", "NO_MATCH": The match status of the entire date of birth.
dateOfBirthDayMatch string "MATCH", "NO_MATCH": The match status of the date of birth day.
dateOfBirthMonthMatch string "MATCH", "NO_MATCH": The match status of the date of birth month.
dateOfBirthYearMatch string "MATCH", "NO_MATCH": The match status of the date of birth year.
phoneMatch string "MATCH", "NO_MATCH": The match status of the phone number.
datasourceType string The country and the type of data source. Possible types: Credit, Government, Commercial, Consumer, Utility, Proprietary, Telco, Postal. Multiple sources may be listed, separated by commas.
searchType string "2+2", "1+1": Whether search is looking for 1 database match (1+1) or 2 database matches (2+2).
matchType string "2+2", "1+1": Whether a MATCH must be found in 1 database or two databases.
datasourceSummary object Shows the specific data sources used in the transaction. Multiple datasource summary sections may be listed for 2+2.
completeNameMatch string "MATCH", "NO_MATCH": The match status of the combined first and last name values.
initialNameMatch string "MATCH", "NO_MATCH": The match status of the first initial.
firstNameMatch string "MATCH", "NO_MATCH": The match status of the first name.
lastNameMatch string "MATCH", "NO_MATCH": The match status of the last name.
nationalIdMatch string "MATCH", "NO_MATCH": The match status of the ID. National ID may not always be supported in countries.
addressMatch string "MATCH", "NO_MATCH": The match status of the complete address.
houseNumberMatchMatch string "MATCH", "NO_MATCH": The match status of the house number.
thoroughfareMatchMatch string "MATCH", "NO_MATCH": The match status of the thoroughfare.
cityMatch string "MATCH", "NO_MATCH": The match status of the address city.
zipOrPinCodeMatch string "MATCH", "NO_MATCH": The match status of the address zip or PIN code.
dateOfBirthMatch string "MATCH", "NO_MATCH": The match status of the entire date of birth.
dateOfBirthDayMatch string "MATCH", "NO_MATCH": The match status of the date of birth day.
dateOfBirthMonthMatch string "MATCH", "NO_MATCH": The match status of the date of birth month.
dateOfBirthYearMatch string "MATCH", "NO_MATCH": The match status of the date of birth year.
phoneMatch string "MATCH", "NO_MATCH": The match status of the phone number.
source: "PST1" string "PST1": Displays the type of data source for the transaction. Examples - PST1 (Postal data source 1). Multiple sources may be listed.