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

Norway eKYC verification matches submitted individual data against Norway's source of truth. 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                                                                     |
| ------------------------------ | -------------------- | -------------------------------------------------------------------------------- |
| Norway Consumer + Pop Register | `NO_CONS_POP_REG`    | Verifies submitted data against Norway's consumer and population register.       |

## Norway Consumer + Pop Register

### Request parameters

| Parameter     | Required  | Description                                                       |
| ------------- | --------- | -------------------------------------------------------------------- |
| `source`      | Mandatory | Must be `NO_CONS_POP_REG`.                                            |
| `country`     | Mandatory | Must be `NO`.                                                         |
| `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`.                                                 |
| `street`      | Optional  | Street name.                                                          |
| `houseNo`     | Optional  | House or building number.                                             |
| `city`        | Optional  | City of the individual's address (for example, `Oslo`).               |
| `postalCode`  | Optional  | Norway postal code. See format note below.                            |
| `gender`      | Optional  | Accepted values are `m` or `f`.                                       |
| `phone`       | Optional  | Norway phone number. See format note below.                           |
| `email`       | Optional  | Email address of the individual.                                      |

:::info
`postalCode` must be exactly 4 digits, numeric only (no letters, spaces, or hyphens).

`phone` must be a Norway phone number consisting of 8 digits excluding the country code, submitted as `+47 XXX XX XXX` or `+47XXXXXXXX`.
:::

### Sample request

```json
{
    "plugins": ["kyc"], //required field
    "source": "NO_CONS_POP_REG", //required field
    "firstName": "Lars", //required field
    "surName": "Johansen", //required field
    "street": "Bjørkeveien",
    "houseNo": "18",
    "city": "Oslo",
    "postalCode": "0484",
    "country": "NO", //required field
    "dateOfBirth": "1991-08-02", //required field
    "gender": "m",
    "phone": "+4741234567",
    "email": "lars.johansen@example.com"
}
```

### Response fields

Norway Consumer + Pop Register anchors verification on individual name, date of birth, address, phone, and email. See the [eKYC API Reference](/general-reference/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`. |
| `dobMatch`           | `exact`, `fuzzy`, `nomatch`, `nodata` | Matches date of birth submitted against the value in the source of truth.              |
| `genderMatch`        | `exact`, `fuzzy`, `nomatch`, `nodata` | Matches gender 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.                     |
| `houseNoMatch`       | `exact`, `fuzzy`, `nomatch`, `nodata` | Matches house number submitted against the value in the source of truth.               |
| `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 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.                      |
| `emailMatch`         | `exact`, `fuzzy`, `nomatch`, `nodata` | Matches email submitted against the value in the source of truth.                      |
| `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, date of birth, and phone number:

- `low` when `fullNameMatch` is `exact` and either `dobMatch` or `phoneMatch` is also `exact`.
- `high` when `fullNameMatch`, `dobMatch`, and `phoneMatch` are all `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": "dobMatch", "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": "genderMatch", "status": "nomatch" },
        { "key": "phoneMatch", "status": "nomatch" },
        { "key": "overallLevel", "status": "low" }
    ]
}
```

<br />