General reference, eKYC Reference / eKYC Coverage

Finland

Finland eKYC verification matches submitted individual data against Finland's source of truth using a sequenced search across multiple underlying data sources. See the eKYC API Reference for common response semantics that apply across all sources.

Available sources

Source API source string Description
FI National ID FI_NATIONAL_ID Runs a search across Finland's national ID database.
Finland Consumer + Pop Register + Telco FI_CONSUMER_POP_REG_TELCO Verifies submitted data against Finland consumer records, the population register, and telco records.

FI National ID

Request parameters

Parameter Required Description
source Mandatory Must be FI_NATIONAL_ID.
country Mandatory Must be FI.
firstName Mandatory First name of the individual. Must not contain digits.
surName Mandatory Last name of the individual. Must not contain digits.
dateOfBirth Mandatory Format: yyyy-mm-dd.
idNumber Mandatory Finnish national identity number.
street Optional Street name and house number.
city Optional City of the individual's address (for example, Lappeenranta).
state Optional State or region.
postalCode Optional Finland postal code. See format note below.

Info

postalCode must be exactly 5 digits, numeric only (no letters, spaces, or hyphens).

Sample request

{
    "plugins": ["kyc"], //required field
    "source": "FI_NATIONAL_ID", //required field
    "firstName": "Matti", //required field
    "surName": "Virtanen", //required field
    "street": "Koivukuja 12 A 4",
    "city": "Lappeenranta",
    "state": "South Karelia",
    "postalCode": "53100",
    "country": "FI", //required field
    "dateOfBirth": "1991-08-02", //required field
    "idNumber": "010203A123X" //required field
}

Response fields

FI National ID anchors verification on the submitted national identity number, name, date of birth, and address elements. See the eKYC API Reference for common match field definitions and status values. Individual field matches for this source resolve to exact or nomatch only; fullAddressMatch additionally supports fuzzy.

Field Statuses Description
firstNameMatch exact, nomatch Matches first name submitted against the value in the source of truth.
lastNameMatch exact, nomatch Matches last name submitted against the value in the source of truth.
fullNameMatch exact, nomatch Matches full name submitted against the value in the source of truth.
dobMatch exact, nomatch Matches date of birth submitted against the value in the source of truth.
idNumMatch exact, nomatch Matches national identity number submitted against the value in the source of truth.
streetMatch exact, nomatch Matches street submitted against the value in the source of truth.
cityMatch exact, nomatch Matches city submitted against the value in the source of truth.
stateMatch exact, nomatch Matches state submitted against the value in the source of truth.
postalCodeMatch exact, nomatch Matches postal code submitted against the value in the source of truth.
fullAddressMatch exact, fuzzy, nomatch Composite of streetMatch, cityMatch, stateMatch, and postalCodeMatch. See below for calculation logic.
overallLevel low, medium, high Overall risk level. See below for calculation logic.

overallLevel calculation

overallLevel is calculated based on the risk associated with the submitted full name, national identity number, and date of birth:

  • low when fullNameMatch, idNumMatch, and dobMatch are all exact.
  • high when fullNameMatch, idNumMatch, and dobMatch are all nomatch.
  • medium for all other combinations.

Contact your Incode representative to customize the overallLevel calculation for your use case.

Sample response

{
    "kyc": [
        { "key": "firstNameMatch", "status": "exact" },
        { "key": "lastNameMatch", "status": "exact" },
        { "key": "fullNameMatch", "status": "exact" },
        { "key": "dobMatch", "status": "exact" },
        { "key": "idNumMatch", "status": "exact" },
        { "key": "streetMatch", "status": "exact" },
        { "key": "cityMatch", "status": "exact" },
        { "key": "stateMatch", "status": "exact" },
        { "key": "postalCodeMatch", "status": "exact" },
        { "key": "fullAddressMatch", "status": "exact" },
        { "key": "overallLevel", "status": "low" }
    ]
}

Finland Consumer + Pop Register + Telco

Request parameters

Parameter Required Description
source Mandatory Must be FI_CONSUMER_POP_REG_TELCO.
country Mandatory Must be FI.
firstName Mandatory First name of the individual. Letters, spaces, hyphens, and apostrophes only.
surName Mandatory Last name of the individual. Letters, spaces, hyphens, and apostrophes only.
phone Mandatory Finland phone number. Must be either 10 digits starting with a 0 in national format, or +358 followed by 9 digits, without the leading 0, in international format. For example, 0401234567 or +358401234567.
street Optional Street name.
houseNo Optional House or building number.
city Optional City of the individual's address (for example, Helsinki).
postalCode Optional Finland postal code. Five digits (for example, 00100).
dateOfBirth Optional Format: yyyy-mm-dd.
gender Optional Accepted values are m or f.
email Optional Email address of the individual.

Sample request

{
    "plugins": ["kyc"], //required field
    "source": "FI_CONSUMER_POP_REG_TELCO", //required field
    "firstName": "Mikko", //required field
    "surName": "Virtanen", //required field
    "phone": "+358401234567", //required field
    "country": "FI", //required field
    "street": "Mannerheimintie", //optional field
    "houseNo": "45", //optional field
    "city": "Helsinki", //optional field
    "postalCode": "00100", //optional field
    "dateOfBirth": "1991-08-02", //optional field
    "gender": "m", //optional field
    "email": "mikko.virtanen@example.com" //optional field
}

Response fields

Finland Consumer + Pop Register + Telco anchors verification on individual name and phone number. See the eKYC API Reference for common match field definitions and status values.

Field Statuses Description
firstNameMatch exact, fuzzy, nomatch Matches submitted first name against the source of truth.
lastNameMatch exact, fuzzy, nomatch Matches submitted last name against the source of truth.
fullNameMatch exact, fuzzy, nomatch Composite of firstNameMatch and lastNameMatch. exact if both match; nomatch if either does not match; otherwise, fuzzy.
dobMatch exact, fuzzy, nomatch, nodata Matches submitted date of birth against the source of truth.
genderMatch exact, fuzzy, nomatch, nodata Matches submitted gender against the source of truth.
streetMatch exact, fuzzy, nomatch, nodata Matches submitted street against the source of truth.
houseNoMatch exact, fuzzy, nomatch, nodata Matches submitted house number against the source of truth. Not used in the fullAddressMatch calculation.
streetAddressMatch exact, fuzzy, nomatch, nodata Composite of streetMatch and houseNoMatch. exact if both match; nomatch if either does not match; nodata if both have no data; otherwise, fuzzy.
cityMatch exact, fuzzy, nomatch, nodata Matches submitted city against the source of truth.
postalCodeMatch exact, fuzzy, nomatch, nodata Matches submitted postal code against the source of truth.
fullAddressMatch exact, fuzzy, nomatch, nodata Composite of streetMatch, cityMatch, and postalCodeMatch. exact if streetMatch is exact and cityMatch and postalCodeMatch are each exact or nodata; nomatch if all three are nomatch; nodata if all three are nodata; otherwise, fuzzy.
phoneMatch exact, fuzzy, nomatch, nodata Matches submitted phone number against the source of truth.
emailMatch exact, fuzzy, nomatch, nodata Matches submitted email address against the source of truth.
overallLevel low, medium, high Overall risk level of the submitted attributes. See below for calculation logic.

overallLevel calculation

overallLevel is calculated based on the risk associated with the submitted full name and phone number:

  • low when fullNameMatch is exact AND phoneMatch is exact.
  • high when fullNameMatch is nomatch OR phoneMatch is nomatch.
  • medium for all other combinations.

Contact your Incode representative to customize the overallLevel calculation for your use case.

Sample response

{
    "kyc": [
        { "key": "firstNameMatch", "status": "exact" },
        { "key": "lastNameMatch", "status": "exact" },
        { "key": "fullNameMatch", "status": "exact" },
        { "key": "dobMatch", "status": "exact" },
        { "key": "genderMatch", "status": "exact" },
        { "key": "streetMatch", "status": "exact" },
        { "key": "houseNoMatch", "status": "exact" },
        { "key": "streetAddressMatch", "status": "exact" },
        { "key": "cityMatch", "status": "exact" },
        { "key": "postalCodeMatch", "status": "exact" },
        { "key": "fullAddressMatch", "status": "exact" },
        { "key": "phoneMatch", "status": "exact" },
        { "key": "emailMatch", "status": "exact" },
        { "key": "overallLevel", "status": "low" }
    ]
}

Was this page helpful?