---
title: "Denmark"
url: "https://developer.incode.com/general-reference/denmark/"
section: "general-reference"
group: "eKYC Reference / eKYC Coverage"
version: "v1.1"
status: "live"
---
# Denmark


Denmark eKYC verification matches submitted individual data against Denmark's official civil register, credit, and telco records. See the [eKYC API Reference](/general-reference/ekyc-api-reference/) for common response semantics that apply across all sources.

## Available sources

| Source | API source string | Description |
|---|---|---|
| Denmark Civil Register + Credit + Telco | `DK_CIVIL_REG_CREDIT_TELCO` | Verifies submitted data against Denmark's official civil register, consumer credit, and telco records. |

## Denmark Civil Register + Credit + Telco

### Request parameters

| Parameter | Required | Description |
|---|---|---|
| `source` | Mandatory | Must be `DK_CIVIL_REG_CREDIT_TELCO`. |
| `country` | Mandatory | Must be `DK`. |
| `firstName` | Mandatory | First name of the individual. Must not contain digits. |
| `surName` | Mandatory | Last name of the individual. Must not contain digits. |
| `phone` | Mandatory | Denmark phone number. See format note below. |
| `street` | Optional | Full street including house number. |
| `city` | Optional | City of the individual's address (for example, Copenhagen). |
| `state` | Optional | Accepted in the request but not currently used for matching by this source. |
| `postalCode` | Optional | Denmark postal code (postnummer). See format note below. |
| `dateOfBirth` | Optional | Format: yyyy-mm-dd. |

### Sample request

```json
{
    "plugins": ["kyc"], //required field
    "source": "DK_CIVIL_REG_CREDIT_TELCO", //required field
    "firstName": "Anna", //required field
    "surName": "Nielsen", //required field
    "street": "Norrebrogade 12",
    "city": "Copenhagen",
    "state": "Capital Region",
    "postalCode": "2200",
    "country": "DK", //required field
    "dateOfBirth": "1991-08-02",
    "phone": "12345678" //required field
}
```

### Response fields

Denmark Civil Register + Credit + Telco anchors verification on individual name, phone number, date of birth, and address. 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. |
| `lastNameMatch` | exact, fuzzy, nomatch | Matches last name submitted against the value in 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`. |
| `phoneMatch` | exact, fuzzy, nomatch | Matches phone submitted against the value in the source of truth. |
| `dobMatch` | exact, fuzzy, nomatch, nodata | Matches date of birth submitted against the value in the source of truth. |
| `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. |
| `stateMatch` | exact, fuzzy, nomatch, nodata | Matches state 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`, `stateMatch`, and `postalCodeMatch`. See below for calculation logic. |
| `overallLevel` | low, medium, high | Overall risk level. See below for calculation logic. |

#### `fullAddressMatch` calculation

- `exact` when `streetMatch` is exact, and `cityMatch` is exact or nodata, and `stateMatch` is exact or nodata, and `postalCodeMatch` is exact or nodata.
- `nomatch` when `streetMatch` is nomatch.
- `nodata` when `streetMatch`, `cityMatch`, `stateMatch`, 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, phone number, and date of birth:

- `low` when `fullNameMatch` is exact, and `phoneMatch` or `dobMatch` is exact.
- `high` when `fullNameMatch` is nomatch, and both `phoneMatch` and `dobMatch` are nomatch.
- `medium` for all other combinations.

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

### Sample response

```json
{
    "kyc": [
        { "key": "firstNameMatch", "status": "exact" },
        { "key": "lastNameMatch", "status": "exact" },
        { "key": "fullNameMatch", "status": "exact" },
        { "key": "phoneMatch", "status": "exact" },
        { "key": "dobMatch", "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" }
    ]
}
```