Download OpenAPI specification:Download
This API enables monitoring of person name and address changes through multiple national person registries.
Returns a paginated result containing all changes since the last change marked as read.
If the next response property is missing, there is no more data to retrieve.
| monitorId required | string The monitor ID. |
| offset | integer <int32> Default: 0 Optional cursor for pagination, which allows for paging without marking changes as read. |
| limit | integer <int32> Default: 1000 Optional parameter to set how many results you want per page. |
{- "offset": 0,
- "limit": 3,
- "size": 6,
- "data": [
- {
- "changeId": 1,
- "status": "ok",
- "source": "nationalRegistry",
- "changeDetected": "2019-08-01T12:00:00.0Z",
- "referenceKey": "c2690bae4cbc45b2a84e24de787b22d2"
}, - {
- "changeId": 15,
- "status": "invalid",
- "source": "nationalRegistry",
- "changeDetected": "2019-08-01T12:00:00.0Z",
- "referenceKey": "b25229e4f6024e35931e4edbe4a29009"
}, - {
- "changeId": 16,
- "status": "ok",
- "source": "nationalRegistry",
- "changeDetected": "2019-10-01T12:00:00.0Z",
- "referenceKey": "c2690bae4cbc45b2a84e24de787b22d2",
- "changes": {
- "firstName": "Hedda Hansen",
- "lastName": "Tjolstad",
- "address": {
- "address": "Åstadbakken 78",
- "zipCode": "1341",
- "city": "SLEPENDEN"
}, - "screening": {
- "riskLevel": 100,
- "listType": "SANCTION",
- "source": "EU_GLOBAL"
}
}
}, - {
- "changeId": 17,
- "status": "ok",
- "source": "nationalRegistry",
- "changeDetected": "2019-10-01T12:00:00.0Z",
- "referenceKey": "c2690bae4cbc45b2a84e24de787b22d2",
- "changes": {
- "firstName": "Hedda Hansen",
- "lastName": "Tjolstad",
- "isAddressProtected": true
}
}, - {
- "changeId": 18,
- "status": "ok",
- "source": "nationalRegistry",
- "changeDetected": "2019-10-01T12:00:00.0Z",
- "referenceKey": "c2690bae4cbc45b2a84e24de787b22d2",
- "changes": {
- "isProtected": true
}
}
]
}Manually add changes to a monitor that that was created with the isMock property set to true.
The monitor will process and create changes for the persons as if they came from a population registry.
| monitorId required | string The monitor ID. |
Changes that will be mocked.
required | Array of objects (MonitorMockPerson) non-empty List of person changes. |
| source | string (Source) Enum: "nationalRegistry" "trapets" What kind of sources to use for monitoring |
{- "persons": [
- {
- "status": "ok",
- "changeDetected": "2025-12-07T12:18:07.7Z",
- "referenceKey": "b25229e4f6024e35931e4edbe4a29009",
- "firstName": "Hedda-Olai",
- "address": {
- "address": "Kirkegata 176"
}, - "isAddressProtected": false,
- "isProtected": false
}, - {
- "status": "ok",
- "changeDetected": "2025-12-07T12:18:07.7Z",
- "referenceKey": "b25229e4f6024e35931e4edbe4a29019",
- "firstName": "Hedda-Olai",
- "isAddressProtected": true,
- "isProtected": false
}, - {
- "status": "ok",
- "changeDetected": "2025-12-07T12:18:07.7Z",
- "referenceKey": "b25229e4f6024e35931e4edbe4a29029",
- "isAddressProtected": false,
- "isProtected": true
}, - {
- "status": "ok",
- "changeDetected": "2025-12-07T12:18:07.7Z",
- "referenceKey": "b25229e4f6024e35931e4edbe4a29010",
- "isAddressProtected": false,
- "screening": {
- "listType": "PEP",
- "source": "PEP_Edge"
}, - "isProtected": false
}, - {
- "status": "invalid",
- "changeDetected": "2025-11-30T12:18:07.7Z",
- "referenceKey": "c2690bae4cbc45b2a84e24de787b22d2",
- "isAddressProtected": false,
- "isProtected": false
}
], - "source": "nationalRegistry"
}Retrieves all changes for a single person, ignoring any cursors.
| monitorId required | string The monitor ID. |
| referenceKey required | string The person's reference key. |
[- {
- "changeId": 1,
- "status": "ok",
- "source": "nationalRegistry",
- "changeDetected": "2025-12-12T12:18:07.7Z",
- "referenceKey": "b25229e4f6024e35931e4edbe4a29009",
- "changes": {
- "firstName": "Anne",
- "lastName": "Olsen",
- "middleName": "Lise",
- "dateOfBirth": "1997-10-18",
- "nationalIdentityNumber": "18109777441",
- "address": {
- "address": "Kveldstuavegen 32",
- "zipCode": "9013",
- "city": "Tromsø",
- "country": "NO"
}, - "screening": {
- "riskLevel": 100,
- "listType": "SANCTION",
- "source": "EU_GLOBAL"
}
}
}, - {
- "changeId": 2,
- "status": "ok",
- "source": "nationalRegistry",
- "changeDetected": "2025-12-12T12:18:07.7Z",
- "referenceKey": "c2690bae4cbc45b2a84e24de787b22d2",
- "changes": {
- "firstName": "Anne",
- "lastName": "Olsen",
- "middleName": "Lise",
- "dateOfBirth": "1997-10-18",
- "nationalIdentityNumber": "18109777441",
- "isAddressProtected": true
}
}, - {
- "changeId": 3,
- "status": "ok",
- "source": "nationalRegistry",
- "changeDetected": "2025-12-12T12:18:07.7Z",
- "referenceKey": "c2690bae4cbc45b2a84e24de787b22d2",
- "changes": {
- "isProtected": true
}
}
]Endpoints for performing CRUD operations on a monitor.
A monitor is a collection of persons to monitor for changes.
Creates a blank monitor. The monitor must be populated with person data before it can be used.
| name required | string [ 1 .. 50 ] characters Name of the monitor. |
| description | string or null Description of the monitor. |
| sources | Array of strings or null (Source) Enum: "nationalRegistry" "trapets" Sources to use for monitoring, defaults to Idfy.Monitor.Person.ApiDtos.Monitor.SourceDto.NationalRegistry |
| allowMock | boolean Deprecated |
| isMock | boolean Set the monitor in a mock state, where you generate your own changes. This will allow you to add persons for monitoring without having credentials for the targeted population registry. This parameter is only meant for testing. You must remove it before switching to production. |
| returnBlockDataOnChange | boolean Person Monitor will send ALL the related data elements together, even if only one of them changes (e.g. first, middle and last names even when last name alone changes) and then send full address element (addressLine, city, zipCode and country, even if only addressLine changes) |
{- "name": "Platinum Card Owners",
- "description": "Keeping our platinum card customer database updated",
- "sources": [
- "nationalRegistry"
], - "allowMock": false,
- "isMock": false,
- "returnBlockDataOnChange": false
}Returns key information about the monitor.
| monitorId required | string The monitor ID. |
{- "name": "Platinum Card Owners",
- "enabled": false,
- "created": "2018-06-16T15:41:20.20Z",
- "details": {
- "personCount": 8803,
- "unknownCount": 0,
- "lastPersonChange": "2019-08-01T12:00:00.0Z",
- "lastChangeRequest": "2019-07-29T15:41:20.20Z"
}, - "allowMock": false,
- "isMock": false,
- "returnBlockDataOnChange": false
}{- "data": [
- {
- "id": "836b585c02a946c287625ad3526f2a17",
- "name": "Platinum Card Owners",
- "description": "Keeping our platinum card customer database updated",
- "enabled": true,
- "changeTypes": [
- "address",
- "name"
], - "created": "2018-06-16T15:41:20.20Z",
- "returnBlockDataOnChange": false
}, - {
- "id": "115550d862df446598a349d7396dfbd0",
- "name": "Gold Card Owners",
- "description": "Keeping our gold card customer database updated",
- "enabled": true,
- "changeTypes": [
- "name"
], - "created": "2018-05-14T12:35:20.20Z",
- "returnBlockDataOnChange": false
}
]
}Endpoints for managing the persons for a specific monitor.
Each person must have a reference key which uniquely identifies the person within the monitor. The reference key should also allow you to identify the person within your own systems.
Adds the specified person to the monitor. The supplied information must be enough to securely identify them. The national identity number must always be included.
| monitorId required | string The monitor ID. |
| referenceKey required | string The person's reference key. |
Information about the person you want to add.
| firstName | string or null The person's first name. |
| lastName | string or null The person's last name. |
| middleName | string or null The person's middle name. |
| dateOfBirth | string or null <yyyy-MM-dd> Example: "2003-04-01" The person's date of birth, if available. |
| nationalIdentityNumber | string or null The person's national identity number, if available. |
| nationality required | string = 2 characters Determines which population registry to use when looking up the person (ISO 3166-1 alpha-2). |
object (PersonAddress) The person's address | |
object (PersonScreening) Attribute providing information about the Screening status of the person |
{- "firstName": "Hedda",
- "lastName": "Hansen",
- "middleName": "T.",
- "dateOfBirth": "1970-02-20",
- "nationalIdentityNumber": "24107749383",
- "nationality": "NO",
- "address": {
- "address": "Kirkegata 177",
- "zipCode": "3674",
- "city": "NOTODDEN",
- "country": "NO"
}
}Get the latest information about the person with the supplied referenceKey.
| monitorId required | string The monitor ID. |
| referenceKey required | string The person's reference key. |
{- "fullName": "Hedda Hansen",
- "isAddressProtected": false,
- "firstName": "Hedda",
- "lastName": "Hansen",
- "dateOfBirth": "1984-08-16",
- "nationalIdentityNumber": "24107749383",
- "nationality": "NO",
- "address": {
- "address": "Kirkegata 177",
- "zipCode": "3674",
- "city": "NOTODDEN",
- "country": "NO"
}, - "screening": {
- "listType": "PEP",
- "source": "PEP_Edge"
}
}Adds the provided persons to the register. Existing persons (persons from the batch whose referenceKey already exists in the system) will be updated. The information you supply about each person must be enough to securely identify them. For example, a national identity number or the combination of name and date of birth.
If any added persons are detected as invalid, a change message will be available through the changes endpoint.
| monitorId required | string The monitor ID. |
The list of persons to be added.
required | Array of objects (MonitorPerson) non-empty The persons to be added to the monitor. We recommend that you keep this under | ||||||||||||||||||
Array (non-empty)
| |||||||||||||||||||
{- "persons": [
- {
- "referenceKey": "b25229e4f6024e35931e4edbe4a29009",
- "firstName": "Hedda",
- "lastName": "Hansen",
- "middleName": "T.",
- "dateOfBirth": "1970-02-20",
- "nationalIdentityNumber": "24107749383",
- "nationality": "NO",
- "address": {
- "address": "Kirkegata 177",
- "zipCode": "3674",
- "city": "NOTODDEN",
- "country": "NO"
}
}, - {
- "referenceKey": "c2690bae4cbc45b2a84e24de787b22d2",
- "firstName": "Erik",
- "lastName": "Rødal",
- "middleName": "D.",
- "dateOfBirth": "1980-04-20",
- "nationality": "NO",
- "address": {
- "address": "Bjørndalen 74",
- "zipCode": "1708",
- "city": "SARPSBORG",
- "country": "NO"
}
}, - {
- "referenceKey": "c2690bae4cbc45b2a84e24de787b22d3",
- "firstName": "Erik",
- "lastName": "Rødal",
- "middleName": "D.",
- "dateOfBirth": "1980-04-20",
- "nationality": "NO"
}
]
}Removes the specified persons from the monitor.
| monitorId required | string The monitor ID. |
Reference IDs of the persons to remove from the monitor
| personReferenceKeys required | Array of strings non-empty Reference keys of persons to be removed from monitor. |
{- "personReferenceKeys": [
- "b25229e4f6024e35931e4edbe4a29009",
- "c2690bae4cbc45b2a84e24de787b22d2"
]
}