United States Credit Telco

US eKYC non-doc verification leverages US's 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.

Notes:

Example Incode request:

{
    "plugins": ["kyc"], // mandatory
    "source": "US_CREDIT_TELCO", // mandatory
    "firstName": "John", // first_name - mandatory
    "surName": "Smith", // last_name - mandatory
    "street": "Evergreen Terrace", // optional
    "apartment": "742", // optional
    "city": "Springfield", // optional
    "state": "IL", // optional
    "postalCode": "100011234", // optional
    "country": "US", // mandatory
    "dateOfBirth" : "1991-08-02", // Either DOB or phone must be provided.
    "phone": "2125551234", // Either DOB or phone must be provided.
    "idNum": "123456789" // optional SSN (Social Security Number)
}

Direct API Response

API Authentication

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

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

Example Incode response:

{
    "kyc": [
        {
            "key": "firstNameMatch",
            "status": "Exact"
        },
        {
            "key": "lastNameMatch",
            "status": "Exact"
        },
        {
            "key": "fullNameMatch",
            "status": "Exact"
        },
        {
            "key": "dobMatch",
            "status": "Exact"
        },
        {
            "key": "streetMatch",
            "status": "Exact"
        },
        {
            "key": "apartmentMatch",
            "status": "Exact"
        },
        {
            "key": "cityMatch",
            "status": "Exact"
        },
        {
            "key": "stateMatch",
            "status": "Exact"
        },
        {
            "key": "postalCodeMatch",
            "status": "Exact"
        },
        {
            "key": "fullAddressMatch",
            "status": "Exact"
        },
        {
            "key": "idNumMatch",
            "status": "Exact"
        },
        {
            "key": "phoneMatch",
            "status": "No Match"
        },
        {
            "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 US, custom 400 error messages if taxId, or country is " " or null:

message: name and country are minimum required fields.

Incode API Key Status Definition
firstNameMatch exact, fuzzy, nomatch Matches first name submitted against the name associated to the value in the source of truth.
lastNameMatch exact, fuzzy, nomatch Matches last name submitted against the name associated to the value in the source of truth.
fullNameMatch exact, fuzzy, nomatch Matches full name (first_name, last_name, middle_name) submitted against the full name associated to the value in the source of truth.
dateOfBirthMatch exact, fuzzy, nomatch, nodata Matches date of birth submitted against the date of birth associated to the value in the source of truth
streetMatch exact, fuzzy, nomatch, nodata Matches street name submitted against the street name associated to the value in the source of truth
apartmentMatch exact, fuzzy, nomatch, nodata Matches houseNo submitted against the houseNo associated to the value in the source of truth
streetAddressMatch exact, fuzzy, nomatch, nodata Matches street and houseNo submitted against the street and houseNo associated to the value in the source of truth
cityMatch exact, fuzzy, nomatch, nodata Matches city submitted against the city associated to the value in the source of truth
stateMatch exact, fuzzy, nomatch, nodata Matches state submitted against the state associated to the value in the source of truth
postalCodeMatch exact, fuzzy, nomatch, nodata Matches postal code submitted against the postal code associated to the value in the source of truth
fullAddressMatch exact, fuzzy, nomatch, nodata Matches full address (street, houseNo, city, zip) submitted against the full address associated to the value in the source of truth
idNumMatch exact, nomatch, nodata Matches id number submitted against the id number associated to the value in the source of truth
phoneMatch exact, fuzzy, nomatch, nodata Matches phone submitted against the phone associated to the value in the source of truth
overallLevel low, medium, high Overall Risk Level is focused on the risk associated to the submitted full name and date of birth (or full address or ID number or phone)