General reference, eKYC Reference / eKYC Coverage

Germany

Germany eKYC verification matches submitted individual data against Germany's utility phone register and mobile phone register. See the eKYC API Reference for common response semantics that apply across all sources.

Available sources

Source API source string Description
Germany Phone and Mobile Register DE_PHONE_MOBILE_REGISTER Verifies submitted data against Germany's utility phone register and mobile phone register.

Germany Phone and Mobile Register

Request parameters

Parameter Required Description
source Mandatory Must be DE_PHONE_MOBILE_REGISTER.
country Mandatory Must be DE.
firstName Mandatory First name of the individual. Must not contain digits.
middleName Optional Additional given name(s) (Vornamen). Must not contain digits. Germany does not use "middle name" the same way as countries like the US or UK — people can have multiple given names instead.
surName Mandatory Last name of the individual. Must not contain digits.
phone Mandatory Germany phone number. See format note below.
street Optional Full street including house number.
city Optional City of the individual's address (for example, Berlin).
postalCode Optional Germany postal code. See format note below.

Sample request

{
    "plugins": ["kyc"], //required field
    "source": "DE_PHONE_MOBILE_REGISTER", //required field
    "firstName": "Lukas", //required field
    "middleName": "Johannes",
    "surName": "Müller", //required field
    "street": "Hauptstraße 25",
    "city": "Berlin",
    "postalCode": "10115",
    "country": "DE", //required field
    "phone": "493012345678" //required field
}

Response fields

Germany Phone and Mobile Register anchors verification on individual name, address, and phone number. See the eKYC API Reference for common match field definitions and status values.

Field Statuses Description
firstNameMatch exact, fuzzy, nomatch Matches first name submitted against the value in the source of truth.
middleNameMatch exact, fuzzy, nomatch, nodata Matches additional given name(s) submitted against the value in the source of truth.
lastNameMatch exact, fuzzy, nomatch Matches last name submitted against the value in the source of truth.
fullNameMatch exact, fuzzy, nomatch Composite of firstNameMatch, lastNameMatch, and middleNameMatch. See below for calculation logic.
streetMatch exact, fuzzy, nomatch, nodata Matches street submitted against the value in the source of truth.
cityMatch exact, fuzzy, nomatch, nodata Matches city submitted against the value in the source of truth.
postalCodeMatch exact, fuzzy, nomatch, nodata Matches postal code submitted against the value in the source of truth.
fullAddressMatch exact, fuzzy, nomatch, nodata Composite of streetMatch, cityMatch, and postalCodeMatch. See below for calculation logic.
phoneMatch exact, fuzzy, nomatch, nodata Matches phone submitted against the value in the source of truth.
overallLevel low, medium, high Overall risk level. See below for calculation logic.

fullNameMatch calculation

  • exact when firstNameMatch is exact and lastNameMatch is exact, and middleNameMatch is exact, fuzzy, or nodata.
  • nomatch when firstNameMatch and lastNameMatch are both nomatch.
  • fuzzy for any other combination.

fullAddressMatch calculation

  • exact when streetMatch is exact, and cityMatch is exact or nodata, and postalCodeMatch is exact or nodata.
  • nomatch when streetMatch, cityMatch, and postalCodeMatch are all nomatch.
  • nodata when streetMatch, cityMatch, and postalCodeMatch are all nodata.
  • fuzzy for any other combination.

overallLevel calculation

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

  • low when fullNameMatch is exact.
  • high when fullNameMatch 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": "middleNameMatch", "status": "exact" },
        { "key": "lastNameMatch", "status": "exact" },
        { "key": "fullNameMatch", "status": "exact" },
        { "key": "streetMatch", "status": "exact" },
        { "key": "cityMatch", "status": "exact" },
        { "key": "postalCodeMatch", "status": "exact" },
        { "key": "fullAddressMatch", "status": "exact" },
        { "key": "phoneMatch", "status": "nomatch" },
        { "key": "overallLevel", "status": "low" }
    ]
}

Was this page helpful?