Skip to main content

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, dateOfBirth, 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 Create or Update 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.

Details
KeyTypeMandatoryDescription
firstNamestringyesFirst name of the subject.
lastNamestringyesLast name of the subject.
dateOfBirthstringnoDate of birth, in YYYY/MM/DD format.
addressobjectyes
address.line1stringyesAddress line 1 (Street address)
address.line2stringnoAddress line 2 (Apartment, Suite, etc.)
address.citystringyesCity of residence as it appears on the Id.
address.postalCodestringyesPostal or zip code.
address.subdivisionstringnoCity subdivision of residence as it appears on the Id.
address.countrystringyesCountry in ISO-3166-1 Alpha-3 Code or ISO-3166-1 Alpha-2 Code format.
phoneNumberstringnoPhone number of the subject in E.164 format. Country code is required.
emailstringnoOptimal to include.
idobjectnoSee next row.
id.idNumberstringnoNational ID number.
id.typestringnoType of national ID.

Example: Prepared Data Body

{
"firstName": "B***",
"lastName": "S****",
"email": "b***j@gmail.com",
"dateOfBirth": "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

Details
Decision TypeLabelDescription
PASSEDLOW_RISKNo significant risk associated with the data.
REJECTEDHIGH_RISKHigh risk associated with the data.
WARNINGMEDIUM_RISKModerate risk associated with the data.
NOT_EXECUTEDVALIDATION_FAILEDThe data provided failed validation.
NOT_EXECUTEDNOT_ENOUGH_DATANot enough data to process the request.
NOT_EXECUTEDPRECONDITION_NOT_FULFILLEDPreconditions were not met to process the data.
NOT_EXECUTEDTECHNICAL_ERRORThere was an error in processing the request.

Data

Details
ParameterTypeDescription
completeNameMatchstring"MATCH", "NOT_MATCH": The match status of the combined first and last name values.
initialNameMatchstring"MATCH", "NOT_MATCH": The match status of the first initial.
firstNameMatchstring"MATCH", "NOT_MATCH": The match status of the first name.
lastNameMatchstring"MATCH", "NOT_MATCH": The match status of the last name.
nationalIdMatchstring"MATCH", "NOT_MATCH": The match status of the ID. National ID may not always be supported in countries.
addressMatchstring"MATCH", "NOT_MATCH": The match status of the complete address.
houseNumberMatchstring"MATCH", "NOT_MATCH": The match status of the house number.
thoroughfareMatchstring"MATCH", "NOT_MATCH": The match status of the thoroughfare.
cityMatchstring"MATCH", "NOT_MATCH": The match status of the address city.
zipOrPinCodeMatchstring"MATCH", "NOT_MATCH": The match status of the address zip or PIN code.
dateOfBirthMatchstring"MATCH", "NOT_MATCH": The match status of the entire date of birth.
dateOfBirthDayMatchstring"MATCH", "NOT_MATCH": The match status of the date of birth day.
dateOfBirthMonthMatchstring"MATCH", "NOT_MATCH": The match status of the date of birth month.
dateOfBirthYearMatchstring"MATCH", "NOT_MATCH": The match status of the date of birth year.
phoneMatchstring"MATCH", "NOT_MATCH": The match status of the phone number.
datasourceTypestringThe 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.
searchTypestring"2+2", "1+1": Whether search is looking for 1 database match (1+1) or 2 database matches (2+2).
matchTypestring"2+2", "1+1": Whether a MATCH must be found in 1 database or two databases.
datasourceSummaryobjectShows the specific data sources used in the transaction. Multiple datasource summary sections may be listed for 2+2.
completeNameMatchstring"MATCH", "NOT_MATCH": The match status of the combined first and last name values.
initialNameMatchstring"MATCH", "NOT_MATCH": The match status of the first initial.
firstNameMatchstring"MATCH", "NOT_MATCH": The match status of the first name.
lastNameMatchstring"MATCH", "NOT_MATCH": The match status of the last name.
nationalIdMatchstring"MATCH", "NOT_MATCH": The match status of the ID. National ID may not always be supported in countries.
addressMatchstring"MATCH", "NOT_MATCH": The match status of the complete address.
houseNumberMatchstring"MATCH", "NOT_MATCH": The match status of the house number.
thoroughfareMatchstring"MATCH", "NOT_MATCH": The match status of the thoroughfare.
cityMatchstring"MATCH", "NOT_MATCH": The match status of the address city.
zipOrPinCodeMatchstring"MATCH", "NOT_MATCH": The match status of the address zip or PIN code.
dateOfBirthMatchstring"MATCH", "NOT_MATCH": The match status of the entire date of birth.
dateOfBirthDayMatchstring"MATCH", "NOT_MATCH": The match status of the date of birth day.
dateOfBirthMonthMatchstring"MATCH", "NOT_MATCH": The match status of the date of birth month.
dateOfBirthYearMatchstring"MATCH", "NOT_MATCH": The match status of the date of birth year.
phoneMatchstring"MATCH", "NOT_MATCH": The match status of the phone number.
sourcestring"PST1": Displays the type of data source for the transaction. Examples - PST1 (Postal data source 1). Multiple sources may be listed.