Monitoring APIs


Prepare and get changes relating register items

Only Population Register Centre data is available through APIs. Use of APIs requires a permission issued by Population Register Centre.

In order to use the API you must have the valid environment-specific username and password. Before any API requests, you need to obtain an API KEY. You will get a valid API KEY (it's called a ticket) by using the ticket API (please, read how to use ticket API).

The API KEY must be sent in the request custom header element (named ticket or x-api-key). If the API KEY value is valid then API request will be successful (http status code 200), otherwise it will fail (http status code 401). All API requests must be made over HTTPS.

SWAGGER - Developer REST API documentation - read more »


  •{REGISTER ID}/items - production environment
  •{REGISTER ID}/items - test environment

Request parameters

id Register ID M

PrepareData: Prepare new batch. If after is not given or is not valid date, system will prepare changes after last batch. Notice this operation will not return any rows, but only id of last batch. Optional Param: after={datetime}

GetData: Getprepared batch by batchId . If data source does not allow this, the element related to data source is null. Param: batchId={int}

PrepareAndGetData: Prepare and return changes after given date. Customer must pay per change after given date. If after is not given or is not valid datetime, system will prepare all changes after last change set. Optional Param: after={datetime}

after If you want to prepare data after date you may use this. By default batch is prepare after last change that was delivered to you, no matter when you prepared batch. This means that by default you will get all changes just once.  
batchId If you PrepareData and GetData as a separate batch as a separate batch you must use batch id returned by operateion in GetData query.  


Request and response example

curl '' -H 'x-api-key: ABC1234567890'

Successful API request returns results in JSON format.

  "batchId": 2632,
  "errors": [],
  "rows": [
      "errors": [],
      "referencekey": "RefKey1",
      "bisnodeid": "FI2101004055080",
      "vrk": {
        "_rowtype": "Change",
        "_lastchangedat": "2017-03-29T21:10:43.567Z",
        "permanentaddr_addresstype": "domestic",
        "firstnames": "Esko",
        "lastname": "Esimerkki",
        "permanentaddr_streetaddress": "Esimerkkitie 1234",
        "permanentaddr_postcode": "12345",
        "permanentaddr_postoffice": "ESIMEMERKKINIEMI",
        "dateofdeath": null,
        "permanentaddr_startdate": "2011-03-26T00:00:00Z",
        "permanentaddr_municipalitycode": "263",
        "permanentaddr_municipalityname": "Kiuruvesi",
        "permanentaddr_countrycode_iso3165_numeric": "246",
        "permanentaddr_countryname": "Finland",
        "languagegroupcode": "Finnish",
        "isunderaged": false
      "original": {
        "customer_datafield2": "CUSTOMER DATAFIELD 2",
        "firstname": "Esko",
        "lastname": "Esimerkki",
        "postcode": "12345",
        "streetaddress": "Esimerkkitie 1234"

More detailed implementation guide for the API - read more »