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
exactwhenfirstNameMatchis exact andlastNameMatchis exact, andmiddleNameMatchis exact, fuzzy, or nodata.nomatchwhenfirstNameMatchandlastNameMatchare both nomatch.fuzzyfor any other combination.
fullAddressMatch calculation
exactwhenstreetMatchis exact, andcityMatchis exact or nodata, andpostalCodeMatchis exact or nodata.nomatchwhenstreetMatch,cityMatch, andpostalCodeMatchare all nomatch.nodatawhenstreetMatch,cityMatch, andpostalCodeMatchare all nodata.fuzzyfor any other combination.
overallLevel calculation
overallLevel is calculated based on the risk associated with the submitted full name:
lowwhenfullNameMatchis exact.highwhenfullNameMatchis nomatch.mediumfor 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" }
]
}