Introduction

NB: please note that this is version v1.2. Click here if you are looking for documentation for the previous v1_1 version.

To get started with the API, you need to use the base url together with an authorization token provided in the header.

Authorization
The authorization token you need to use depends on what type of request you want to make. There is an refresh token that works as your identity. It is used to generate access tokens that are used to request data from the API: e.g. get financial information for a given company.

JWT
We use a JSON Web Token for authorization. This enables us to send a payload inside the access token with additional information like expiration. That enables you to check if your token is still valid without doing an additional request.

You can learn more about it here.

Headers
All the endpoints require an authorization token (access or refresh token) with the Authorization header. You should also specify the Content-Type header as "application/json", but this is the only supported format so consider it optional.

Some endpoints also allow you to specify an Accept-Language header (en-UK and da-DK) to get the text in different languages.

Versions
This is version v1.2

To see the old version v1_1 click here

Base URL

https://api.risika.dk/{version}

Headers

Authorization: <access_token or refresh_token>
Content-Type: application/json

Generate an access token

This endpoint generates an access token from your refresh token. Your refresh token is permanent, while the access token only lives for a while. This is done to improve security and offload the API servers. After the 10 minute timeframe, you can request a new one.

GET
/access/refresh_token

Example request

curl --request GET \
  --url https://api.risika.dk/v1.2/access/refresh_token/ \
  --header 'Content-Type: application/json' \
  --header 'Authorization: <refresh_token>'

Example response

{
  "token": "jwt eyJ0eXAiOiJKV1QiLCJhbG ..."
}

Terminology

country: The two letter country code (e.g. dk, se, no)

local_id: The company's ID in the country (e.g. CVR in Denmark)

personal_id: An ID we have given so it's possible to lookup a person.

Company Information

The end-points that starts with /{country}/company/ offers general infomation the company such as address, phone number, number of employees and people who are related to the company.

Company Basics

To get the general infomation about a company, you make a request to GET /{country}/company/basics/{local_id}. This will give you a dictionary with the following values:

Value Description
local_organization_id The local id and country code of the company requested
address The address with city, coname, number, street, country, zipcode, postdistrict. Values may be null.
status
advertisement_protection true/false whether the contact information can be used for advertisement
financial_reports true/false whether this company has or is able to submit financial reports
main_industry_code
secondary_industry_codes
number_of_employees
last_report_date The date of the last report, if it has any
date_of_incorporation The date of which the company was established
company_type
score The current risika score of the company
registered_capital The registered capital in the company
company_name The primary name of the company
company_secondary_names A list of aliases for the company
holding_company Some holding companies does not have the correct industry. This value shows if our analysis proves this should be a holding company
powers_to_bind A description of who has the powers to sign binding documents
email The email of the company and whether or not it can be used for advertisement
phone The phone number of the company and whether or not it can be used for advertisement

Example request

curl --request GET \
  --url https://api.risika.dk/v1.2/dk/company/basics/37677892/ \
  --header 'Content-Type: application/json' \
  --header 'Authorization: <access_token>'

Example response

{
  "local_organization_id": {
    "country": "DK",
    "id": 37677892
  },
  "address": {
    "city": "København K",
    "coname": null,
    "number": "26, st.",
    "street": "Kronprinsessegade",
    "country": "DK",
    "zipcode": 1306,
    "postdistrict": "København K"
  },
  "status": "normal",
  "advertisement_protection": true,
  "financial_reports": true,
  "main_industry_code": {
    "code": 829100,
    "description": "Inkassovirksomhed og kreditoplysning"
  },
  "secondary_industry_codes": [
    {
      "section": "J",
      "priority": 1,
      "group_name": "Databehandling, webhosting og lignende serviceydelser; webportaler",
      "industry_code": 631100,
      "industry_description": "Databehandling, webhosting og lignende serviceydelser"
    },
    {
      "section": "J",
      "priority": 2,
      "group_name": "Computerprogrammering, konsulentbistand vedrørende informationsteknologi og lignende aktiviteter",
      "industry_code": 620200,
      "industry_description": "Konsulentbistand vedrørende informationsteknologi"
    }
  ],
  "number_of_employees": {
    "interval": "5-9",
    "source": null
  },
  "last_report_date": null,
  "date_of_incorporation": "2016-04-30",
  "company_type": {
    "short": "A/S",
    "long": "Aktieselskab"
  },
  "score": 3,
  "registered_capital": {
    "value": 501310.0,
    "currency": null
  },
  "company_name": "RISIKA A/S",
  "company_secondary_names": [
    {
      "name": "Global Business Platform ApS",
      "valid_to": "2017-05-17",
      "valid_from": "2016-04-30"
    },
    {
      "name": "Globus Platform ApS",
      "valid_to": "2017-05-17",
      "valid_from": "2017-01-14"
    }
  ],
  "holding_company": false,
  "powers_to_bind": "Selskabet tegnes af en direktør i forening med et medlem af bestyrelsen eller af den samlede bestyrelse",
  "email": {
    "email": "contact@risika.dk",
    "hidden": false
  },
  "phone": {
    "phone_number": "42905757",
    "hidden": false
  }
}

Company relations

This endpoint is used to get all the relational information for a given company. You will get the owners, directors, together with a date for when the person got the role.

Example request

curl --request GET \
  --url 'https://api.risika.dk/v1.2/dk/company/relations/37677892' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: <access_token>'

Example response

{
  "relations": [
    {
      "personal_id": 4000693282,
      "name": "Peter Christian Schmiegelow",
      "type": "PERSON",
      "functions": [
        {
          "function": "BESTYRELSE",
          "valid_from": "2019-03-18",
          "valid_to": null
        }
      ]
    },
    {
      "personal_id": 3369870,
      "name": "inforevision statsautoriseret revisionsaktieselskab",
      "type": "VIRKSOMHED",
      "functions": [
        {
          "function": "REVISION",
          "valid_from": "2019-02-13",
          "valid_to": null
        }
      ],
      "local_organization_id": {
        "country": "DK",
        "id": "19263096"
      }
    },
    {
      "personal_id": 4006873173,
      "name": "Timm Jeppesen",
      "type": "PERSON",
      "functions": [
        {
          "function": "ADMINISTRERENDE DIREKT\u00d8R",
          "valid_from": "2018-04-01",
          "valid_to": null
        },
        {
          "function": "DIREKTION",
          "valid_from": "2017-05-18",
          "valid_to": "2018-03-31"
        },
        {
          "function": "real_owner",
          "valid_from": "2017-05-18",
          "valid_to": "2018-03-05",
          "shares": 50.0
        },
        {
          "function": "real_owner",
          "valid_from": "2018-03-06",
          "valid_to": "2018-10-28",
          "shares": 45.0
        },
        {
          "function": "real_owner",
          "valid_from": "2018-10-29",
          "valid_to": "2019-02-17",
          "shares": 41.4
        },
        {
          "function": "real_owner",
          "valid_from": "2019-02-18",
          "valid_to": null,
          "shares": 34.050000000000004
        }
      ]
    },
    {
      "personal_id": 4007482058,
      "name": "Perceval ApS",
      "type": "VIRKSOMHED",
      "functions": [
        {
          "function": "unknown",
          "valid_from": "1903-01-01",
          "valid_to": null
        },
        {
          "function": "legal_owner",
          "valid_from": "2019-02-18",
          "valid_to": null,
          "shares_interval": "10-14.99%"
        },
        {
          "function": "legal_owner",
          "valid_from": "2018-10-29",
          "valid_to": "2019-02-17",
          "shares_interval": "20-24.99%"
        },
        {
          "function": "legal_owner",
          "valid_from": "2018-03-06",
          "valid_to": "2018-10-28",
          "shares_interval": "25-33.33%"
        }
      ],
      "local_organization_id": {
        "country": "DK",
        "id": "39258072"
      }
    },
    {
      "personal_id": 4000569667,
      "name": "Niels Gade-Jacobsen",
      "type": "PERSON",
      "functions": [
        {
          "function": "BESTYRELSE",
          "valid_from": "2019-01-14",
          "valid_to": "2019-03-18"
        }
      ]
    },
    {
      "personal_id": 4004175969,
      "name": "Mads Guttorm Jakobsen",
      "type": "PERSON",
      "functions": [
        {
          "function": "FORMAND",
          "valid_from": "2019-01-14",
          "valid_to": null
        }
      ]
    },
    {
      "personal_id": 4000652101,
      "name": "Nicolai Rasmussen",
      "type": "PERSON",
      "functions": [
        {
          "function": "DIREKTION",
          "valid_from": "2018-04-01",
          "valid_to": null
        },
        {
          "function": "real_owner",
          "valid_from": "2018-04-01",
          "valid_to": "2018-10-28",
          "shares": 30.0
        },
        {
          "function": "real_owner",
          "valid_from": "2018-10-29",
          "valid_to": "2019-02-18",
          "shares": 27.0
        }
      ]
    },
    {
      "personal_id": 4000679462,
      "name": "Poul Erik Mølgaard Rasmussen",
      "type": "PERSON",
      "functions": [
        {
          "function": "DIREKTION",
          "valid_from": "2016-07-01",
          "valid_to": "2016-12-31"
        }
      ]
    },
    {
      "personal_id": 4000397851,
      "name": "Martin Lavesen",
      "type": "PERSON",
      "functions": [
        {
          "function": "BESTYRELSE",
          "valid_from": "2019-01-14",
          "valid_to": null
        }
      ]
    },
    {
      "personal_id": 4007487941,
      "name": "Sort Hest Limited",
      "type": "ANDEN_DELTAGER",
      "functions": [
        {
          "function": "unknown",
          "valid_from": "1903-01-01",
          "valid_to": null
        },
        {
          "function": "legal_owner",
          "valid_from": "2019-02-18",
          "valid_to": null,
          "shares_interval": "10-14.99%"
        }
      ]
    },
    {
      "personal_id": 4000625364,
      "name": "Hanne Bach-Nielsen",
      "type": "PERSON",
      "functions": [
        {
          "function": "DIREKTION",
          "valid_from": "2016-12-31",
          "valid_to": "2017-05-18"
        },
        {
          "function": "real_owner",
          "valid_from": "2016-12-31",
          "valid_to": "2018-03-05",
          "shares": 50.0
        },
        {
          "function": "real_owner",
          "valid_from": "2018-03-06",
          "valid_to": "2018-04-01",
          "shares": 30.0
        }
      ]
    },
    {
      "personal_id": 4006873174,
      "name": "TJ Formueinvest ApS",
      "type": "VIRKSOMHED",
      "functions": [
        {
          "function": "unknown",
          "valid_from": "1903-01-01",
          "valid_to": null
        },
        {
          "function": "legal_owner",
          "valid_from": "2018-03-06",
          "valid_to": null,
          "shares_interval": "33.34-49.99%"
        },
        {
          "function": "legal_owner",
          "valid_from": "2017-05-18",
          "valid_to": "2018-03-05",
          "shares_interval": "50-66.65%"
        }
      ],
      "local_organization_id": {
        "country": "DK",
        "id": "38599070"
      }
    },
    {
      "personal_id": 4005959089,
      "name": "N. Rasmussen Holding ApS",
      "type": "VIRKSOMHED",
      "functions": [
        {
          "function": "STIFTERE",
          "valid_from": "2016-04-30",
          "valid_to": null
        },
        {
          "function": "legal_owner",
          "valid_from": "2019-02-18",
          "valid_to": null,
          "shares_interval": "20-24.99%"
        },
        {
          "function": "legal_owner",
          "valid_from": "2018-03-06",
          "valid_to": "2019-02-17",
          "shares_interval": "25-33.33%"
        },
        {
          "function": "legal_owner",
          "valid_from": "2017-05-18",
          "valid_to": "2018-03-05",
          "shares_interval": "50-66.65%"
        },
        {
          "function": "legal_owner",
          "valid_from": "2016-07-01",
          "valid_to": "2017-05-17",
          "shares_interval": "100%"
        }
      ],
      "local_organization_id": {
        "country": "DK",
        "id": "36701927"
      }
    },
    {
      "personal_id": 4006184467,
      "name": "Simon Turner",
      "type": "ANDEN_DELTAGER",
      "functions": [
        {
          "function": "unknown",
          "valid_from": "1903-01-01",
          "valid_to": null
        },
        {
          "function": "legal_owner",
          "valid_from": "2019-02-18",
          "valid_to": null,
          "shares_interval": "10-14.99%"
        }
      ]
    }
  ]
}

Person

We provide an endpoint for looking up the companies that a person is associated with (ownership, board of directors, etc.).

Relations

GET
/{country}/person/relations/{personal_id}

Person relations

When you get the people associated with a company, you also receive a personal_id. You can use this ID to get all the relations associated with this person.

GET
/{country}/person/relations/{personal_id}

Example request

curl --request GET \
  --url https://api.risika.dk/v1.2/dk/person/relations/4006873173 \
  --header 'Content-Type: application/json' \
  --header 'Authorization: <access_token>'

Example response

{
  "name": "Timm Jeppesen",
  "type": "person",
  "relations": [
    {
      "local_organization_id": {
        "country": "DK",
        "id": "37677892"
      },
      "company_active": true,
      "company_name": "RISIKA A/S",
      "score": 3,
      "functions": [
        {
          "function": "ADMINISTRERENDE DIREKT\u00d8R",
          "valid_to": null,
          "valid_from": "2018-04-01"
        },
        {
          "function": "REEL EJER",
          "valid_to": null,
          "valid_from": "2017-05-18"
        },
        {
          "function": "DIREKTION",
          "valid_to": "2018-03-31",
          "valid_from": "2017-05-18"
        }
      ],
      "shares": [

      ]
    },
    {
      "local_organization_id": {
        "country": "DK",
        "id": "38599070"
      },
      "company_active": true,
      "company_name": "TJ Formueinvest ApS",
      "score": 1,
      "functions": [
        {
          "function": "STIFTERE",
          "valid_to": null,
          "valid_from": "2017-04-26"
        },
        {
          "function": "REEL EJER",
          "valid_to": null,
          "valid_from": "2017-04-26"
        },
        {
          "function": "DIREKTION",
          "valid_to": null,
          "valid_from": "2017-04-26"
        }
      ],
      "shares": [

      ]
    },
    {
      "local_organization_id": {
        "country": "DK",
        "id": "39228327"
      },
      "company_active": true,
      "company_name": "MoneyFlow Group ApS",
      "score": 3,
      "functions": [
        {
          "function": "BESTYRELSE",
          "valid_to": null,
          "valid_from": "2018-02-13"
        }
      ],
      "shares": [

      ]
    },
    {
      "local_organization_id": {
        "country": "DK",
        "id": "39276208"
      },
      "company_active": true,
      "company_name": "TNT Holding DK ApS",
      "score": 1,
      "functions": [
        {
          "function": "REEL EJER",
          "valid_to": "2018-02-07",
          "valid_from": "2018-01-23"
        },
        {
          "function": "DIREKTION",
          "valid_to": null,
          "valid_from": "2018-01-23"
        }
      ],
      "shares": [

      ]
    }
  ]
}

Financial

These are all the endpoints for financial information. Here you will have access to the numbers from their financial report, key figures, information about the auditor and a link to their official financial report. We provide information from the three latest financial reports.

NOTE: the result from these endpoints cannot be expected to be sorted, you will need to handle this yourself. There is a date on all objects in the response.

Numbers

GET
/{country}/financial/numbers/{local_id}

Ratios

GET
/{country}/financial/ratios/{local_id}

Performance

GET
/{country}/financial/performance/{local_id}

Stats

GET
/{country}/financial/stats/{local_id}

Financial numbers

This endpoint provides you with all the relevant financial numbers for the most recent financial report for a given company.

Endpoint Description

Financial Numbers - Income Statement

An income statement is one of the three important financial statements used for reporting a company's financial performance over a specific accounting period, with the other two key statements being the balance sheet and the statement of cash flows. Also known as the profit and loss statement or the statement of revenue and expense, the income statement primarily focuses on company’s revenues and expenses during a particular period.

Variable Danish Translation
revenue Omsætning
other_income Anden indtægter
costs Omkostninger (Variable omkostninger)
gross_result Bruttoresultat
operating_costs Operationelle udgifter (Faste omkostninger)
other_operating_income Andre operationelle indtægter
staff_expenses Medarbejder udgifter
ebitda EBITDA
depreciation Afskrivninger
ebit EBIT
interest_income Renteindtægter
interest_expenses Renteudgifter
other_net_financial_income Andet finansielt resultat
net_financial_income Netto finansielle poster
ordinary_profit Ordinært resultat
extraordinary_item Ekstraordinære poster
profit_loss_before_tax Resultat før skat
tax_expenses Udgifter til skat
profit_loss Årets resultat / Endeligt resultat
  • EBIT = Earnings Before Interest and Taxes
  • EBITDA = Earnings Before Interest, Taxes, Depreciation and Amortization

Financial Numbers - Balance Sheet

A balance sheet is a financial statement that reports a company's assets, liabilities and shareholders' equity at a specific point in time, and provides a basis for computing rates of return and evaluating its capital structure. It is a financial statement that provides a snapshot of what a company owns and owes, as well as the amount invested by shareholders.

Balance Sheet - Assets

In financial accounting, an asset is any resource owned by the business. Anything tangible or intangible that can be owned or controlled to produce value and that is held by a company to produce positive economic value is an asset. Simply stated, assets represent value of ownership that can be converted into cash (although cash itself is also considered an asset). The balance sheet of a firm records the monetary value of the assets owned by that firm. It covers money and other valuables belonging to an individual or to a business.

Variable Danish Translation
goodwill Goodwill
other_intangible_assets Andre immatrielle anlægsaktiver
intangible_assets Immatrielle anlægsaktiver i alt
land_and_buildings Grunde og bygninger
plant_equipment_and_fixtures Driftsmidler
other_property_plant_and_equipment Andre materielle anlægsaktiver
property_plant_and_equipment Materielle anlægsaktiver i alt
noncurrent_receivables Langfristede tilgodehavender
noncurrent_investments Kapitalinteresser
other_noncurrent_financial_assets Andre finansielle anlægsaktiver
noncurrent_financial_assets Finansielle anlægsaktiver i alt
noncurrent_assets Anlægsaktiver i alt
inventories Varebeholdning
current_prepayments Forudbetalinger
short_term_receivables_from_sales_and_services Tilgodehavender fra salg og services
short_term_receivables_from_group_enterprises Tilgodehavender fra nærtstående parter
other_short_term_receivables Andre tilgodehavender
short_term_receivables Kortfristede tilgodehavender i alt
current_financial_assets Kortfristede finansielle aktiver / Værdipapirer
cash Likvide midler
current_assets Omsætningsaktiver i alt
assets Aktiver i alt

Balance Sheet - Liabilities and Equity

A liability, in general, is an obligation to or something that you owe somebody else. Liabilities are defined as a company's legal financial debts or obligations that arise during the course of business operations. Liabilities are settled over time through the transfer of economic benefits including money, goods, or services. Recorded on the right side of the balance sheet, liabilities include loans, accounts payable, mortgages, deferred revenues, and accrued expenses.

Equity is typically referred to as shareholder equity (also known as shareholders' equity) which represents the amount of money that would be returned to a company’s shareholders if all of the assets were liquidated and all of the company's debt was paid off.

Column Name Danish Translation
contributed_capital Selskabskapital
reserves Reserveringer
dividend Udbytte
retained_earnings Overført resultat
equity_before_minority_interests Egenkapital før minoritets interesser
minority_interests Minoritets interessanter
equity Egenkapital i alt
provisions Hensættelser / Hensatte forpligtelser
long_term_debt_to_group_enterprises Langfristet gæld til nærtstående parter
long_term_debt_to_banks Langfristet gæld til banker og andre kreditinstitutioner
long_term_mortgage_debt Langfristet realkredit gæld
equity_loan Ansvarlig lånekapital
deferred_tax Udskudt skat
other_long_term_debt Anden langfristet gæld
long_term_debt Langfristet gæld i alt
short_term_debt_to_group_enterprises Kortfristet gæld til nærtstående parter
short_term_debt_to_banks Kortfristet gæld til banker og andre kreditinstitutioner
short_term_mortgage_debt Kortfristet realkredit gæld
short_term_trade_payables Varekreditorer
short_term_tax_payables Selskabsskat
other_short_term_debt Anden kortfristet gæld
short_term_debt Kortfristet gæld i alt
debt Gæld i alt
liabilities_and_equity Passiver i alt

GET
/{country}/financial/numbers/{local_id}

Example request

curl --request GET \
  --url https://api.risika.dk/v1.2/dk/financial/numbers/37677892/ \
  --header 'Content-Type: application/json' \
  --header 'Authorization: <access_token>'

Example response

[
  {
    "period": {
      "start": "2016-07-01",
      "end": "2017-12-31"
    },
    "revenue": null,
    "other_income": null,
    "costs": 0.0,
    "gross_result": -114631.0,
    "operating_costs": 0.0,
    "other_operating_income": 0.0,
    "staff_expenses": 0.0,
    "ebitda": -114631.0,
    "depreciation": 56216.0,
    "ebit": -170847.0,
    "interest_income": 0.0,
    "interest_expenses": 0.0,
    "other_net_financial_income": 0.0,
    "net_financial_income": 0.0,
    "ordinary_profit": -96415.0,
    "extraordinary_item": 0.0,
    "profit_loss_before_tax": -170847.0,
    "tax_expenses": -37216.0,
    "profit_loss": -133631.0,
    "goodwill": 0.0,
    "other_intangible_assets": 199881.0,
    "intangible_assets": 199881.0,
    "land_and_buildings": 0.0,
    "plant_equipment_and_fixtures": 0.0,
    "other_property_plant_and_equipment": 0.0,
    "property_plant_and_equipment": 0.0,
    "noncurrent_receivables": 0.0,
    "noncurrent_investments": 0.0,
    "other_noncurrent_financial_assets": 2500.0,
    "noncurrent_financial_assets": 2500.0,
    "noncurrent_assets": 202381.0,
    "inventories": 0.0,
    "current_prepayments": 0.0,
    "short_term_receivables_from_sales_and_services": 0.0,
    "short_term_receivables_from_group_enterprises": 0.0,
    "other_short_term_receivables": 110505.0,
    "short_term_receivables": 110505.0,
    "current_financial_assets": 0.0,
    "cash": 25461.0,
    "current_assets": 135966.0,
    "assets": 338347.0,
    "contributed_capital": 50000.0,
    "reserves": 375907.0,
    "dividend": 0.0,
    "retained_earnings": -289538.0,
    "equity_before_minority_interests": 136369.0,
    "minority_interests": 0.0,
    "equity": 136369.0,
    "provisions": 43974.0,
    "long_term_debt_to_group_enterprises": 0.0,
    "long_term_debt_to_banks": 0.0,
    "long_term_mortgage_debt": 0.0,
    "equity_loan": 0.0,
    "deferred_tax": 0.0,
    "other_long_term_debt": 0.0,
    "long_term_debt": 0.0,
    "short_term_debt_to_group_enterprises": 0.0,
    "short_term_debt_to_banks": 0.0,
    "short_term_mortgage_debt": 0.0,
    "short_term_trade_payables": 76324.0,
    "short_term_tax_payables": 0.0,
    "other_short_term_debt": 81680.0,
    "short_term_debt": 158004.0,
    "debt": 158004.0,
    "liabilities_and_equity": 338347.0
  },
  {
    "period": {
      "start": "2018-01-01",
      "end": "2018-12-31"
    },
    "revenue": null,
    "other_income": null,
    "costs": 0.0,
    "gross_result": -557581.0,
    "operating_costs": 0.0,
    "other_operating_income": 190000.0,
    "staff_expenses": 128950.0,
    "ebitda": -496531.0,
    "depreciation": 417673.0,
    "ebit": -914204.0,
    "interest_income": 0.0,
    "interest_expenses": -22900.0,
    "other_net_financial_income": 0.0,
    "net_financial_income": -22900.0,
    "ordinary_profit": -534098.0,
    "extraordinary_item": 0.0,
    "profit_loss_before_tax": -937104.0,
    "tax_expenses": -201503.0,
    "profit_loss": -735601.0,
    "goodwill": 0.0,
    "other_intangible_assets": 0.0,
    "intangible_assets": 1380614.0,
    "land_and_buildings": 0.0,
    "plant_equipment_and_fixtures": 0.0,
    "other_property_plant_and_equipment": 0.0,
    "property_plant_and_equipment": 0.0,
    "noncurrent_receivables": 0.0,
    "noncurrent_investments": 0.0,
    "other_noncurrent_financial_assets": 0.0,
    "noncurrent_financial_assets": 0.0,
    "noncurrent_assets": 1380614.0,
    "inventories": 0.0,
    "current_prepayments": 0.0,
    "short_term_receivables_from_sales_and_services": 13662.0,
    "short_term_receivables_from_group_enterprises": 0.0,
    "other_short_term_receivables": 571258.0,
    "short_term_receivables": 584920.0,
    "current_financial_assets": 0.0,
    "cash": 45317.0,
    "current_assets": 630237.0,
    "assets": 2010851.0,
    "contributed_capital": 399406.0,
    "reserves": 1076879.0,
    "dividend": 0.0,
    "retained_earnings": -576556.0,
    "equity_before_minority_interests": 899729.0,
    "minority_interests": 0.0,
    "equity": 899729.0,
    "provisions": 681195.0,
    "long_term_debt_to_group_enterprises": 0.0,
    "long_term_debt_to_banks": 0.0,
    "long_term_mortgage_debt": 0.0,
    "equity_loan": 0.0,
    "deferred_tax": 0.0,
    "other_long_term_debt": 0.0,
    "long_term_debt": 0.0,
    "short_term_debt_to_group_enterprises": 0.0,
    "short_term_debt_to_banks": 0.0,
    "short_term_mortgage_debt": 0.0,
    "short_term_trade_payables": 61334.0,
    "short_term_tax_payables": 0.0,
    "other_short_term_debt": 165437.0,
    "short_term_debt": 429927.0,
    "debt": 429927.0,
    "liabilities_and_equity": 2010851.0
  }
]

Financial ratios

This endpoint provides some ratios that we have calculated from their financial report. These include ratios like interest coverage, return on equity (ROE), return on investment (ROI), etc.

Variable Descriptions

A financial key figure or financial ratio or accounting ratio is a relative magnitude of two selected numerical values taken from an enterprise's financial statements. Often used in accounting, there are many standard ratios used to try to evaluate the overall financial condition of a corporation or other organization.

Profitability Ratios

Profitability ratios are a class of financial metrics that are used to assess a business's ability to generate earnings relative to its revenue, operating costs, balance sheet assets, and shareholders' equity over time, using data from a specific point in time.

Variable Danish Translation Formula
gross_margin Bruttomargin gross_result / revenue
operating_margin Dækningsgrad ebit / revenue
profit_margin Overskudsgrad profit_loss / revenue
return_on_equity Egenkapitalens forrentning profit_loss / equity
return_on_assets Afkastningsgrad profit_loss / assets
return_on_net_assets profit_loss / (assets - debt)
basic_earning_power ebit / assets

Liquidity Ratios

Liquidity ratios are an important class of financial metrics used to determine a debtor's ability to pay off current debt obligations without raising external capital. Liquidity ratios measure a company's ability to pay debt obligations and its margin of safety through the calculation of metrics including the current ratio, quick ratio, and operating cash flow ratio.

Variable Danish Translation Definition
current_ratio Likviditetsgrad current_assets / short_term_debt
current_assets_to_equity current_assets / equity
cash_ratio cash / short_term_debt
capacity_ratio Kapacitetsgrad gross_result / (gross_result - ebit)
asset_turnover revenue / assets
inventory_conversion_ratio 365.25 / (revenue / inventories)

Debt Ratios / Leveraging Ratios

A leverage ratio is any one of several financial measurements that look at how much capital comes in the form of debt (loans) or assesses the ability of a company to meet its financial obligations. The leverage ratio category is important because companies rely on a mixture of equity and debt to finance their operations, and knowing the amount of debt held by a company is useful in evaluating whether it can pay its debts off as they come due.

Variable Danish Translation Definition
debt_ratio Gældsgrad debt / assets
debt_to_equity_ratio debt / equity
income_to_debt_ratio profit_loss / debt
ebitda_to_debt_ratio ebitda / debt
interest_coverage Rentedækningsgrad ebitda / -(interest_income + interest_expenses)
solidity_ratio Soliditetsgrad equity / assets
liabilities_to_equity_ratio (liabilities_and_equity - equity) / equity

Other Ratios

Variable Danish Translation Definition
one_year_change_in_equity equity / (equity - profit_loss)
GET
/{country}financial/ratios/{local_id}

Example request

curl --request GET \
  --url https://api.risika.dk/v1.2/dk/financial/ratios/37677892/ \
  --header 'Content-Type: application/json' \
  --header 'Authorization: <access_token>'

Example response

[
  {
    "period": {
      "start": "2016-07-01",
      "end": "2017-12-31"
    },
    "gross_margin": null,
    "operating_margin": null,
    "profit_margin": null,
    "return_on_equity": -0.9799,
    "return_on_assets": -0.395,
    "return_on_net_assets": -0.741,
    "basic_earning_power": -0.5049,
    "current_ratio": 0.8605,
    "current_assets_to_equity": 0.997,
    "cash_ratio": 0.1611,
    "capacity_ratio": -2.0391,
    "asset_turnover": null,
    "inventory_conversion_ratio": null,
    "debt_ratio": 0.467,
    "debt_to_equity_ratio": 1.1587,
    "income_to_debt_ratio": -0.8457,
    "ebitda_to_debt_ratio": -0.7255,
    "interest_coverage": null,
    "solidity_ratio": 0.403,
    "liabilities_to_equity_ratio": 1.4811,
    "one_year_change_in_equity": 0.5051
  },
  {
    "period": {
      "start": "2018-01-01",
      "end": "2018-12-31"
    },
    "gross_margin": null,
    "operating_margin": null,
    "profit_margin": null,
    "return_on_equity": -0.8176,
    "return_on_assets": -0.3658,
    "return_on_net_assets": -0.4653,
    "basic_earning_power": -0.4546,
    "current_ratio": 1.4659,
    "current_assets_to_equity": 0.7005,
    "cash_ratio": 0.1054,
    "capacity_ratio": -1.5635,
    "asset_turnover": null,
    "inventory_conversion_ratio": null,
    "debt_ratio": 0.2138,
    "debt_to_equity_ratio": 0.4778,
    "income_to_debt_ratio": -1.711,
    "ebitda_to_debt_ratio": -1.1549,
    "interest_coverage": -21.6826,
    "solidity_ratio": 0.4474,
    "liabilities_to_equity_ratio": 1.235,
    "one_year_change_in_equity": 0.5502
  }
]

Financial performance

This endpoint calculates the performance compared to the rest of the market. That helps to put the numbers into perspective.

GET
/{country}/financial/performance/{local_id}

Example request

curl --request GET \
  --url https://api.risika.dk/v1.2/dk/financial/performance/37677892/ \
  --header 'Content-Type: application/json' \
  --header 'Authorization: <access_token>'

Example response

{
  "gross_margin": {
    "performance": null,
    "explanation": null
  },
  "operating_margin": {
    "performance": null,
    "explanation": null
  },
  "profit_margin": {
    "performance": null,
    "explanation": null
  },
  "return_on_equity": {
    "performance": 10,
    "explanation": "Egenkapitalsforrentning er evnen til at skabe sundt afkast. Virksomheden har en meget svag egenkapitalsforretning, da den ligger blandt de 10% laveste ratede virksomheder i samme branche."
  },
  "return_on_assets": {
    "performance": 20,
    "explanation": "Afkastningsgrad er evnen til skabe afkast til investorer. Virksomheden har en meget svag afkastningsgrad, da den ligger blandt de 20% laveste ratede virksomheder i samme branche."
  },
  "return_on_net_assets": {
    "performance": 10,
    "explanation": null
  },
  "basic_earning_power": {
    "performance": 10,
    "explanation": null
  },
  "current_ratio": {
    "performance": 60,
    "explanation": "Likviditetsgrad er evnen til at betale regninger og afdrage på gæld. Virksomheden har en middel likviditetsgrad, sammenlignet med andre virksomheder i samme branche."
  },
  "current_assets_to_equity": {
    "performance": 20,
    "explanation": null
  },
  "cash_ratio": {
    "performance": 40,
    "explanation": null
  },
  "capacity_ratio": {
    "performance": 10,
    "explanation": null
  },
  "asset_turnover": {
    "performance": null,
    "explanation": null
  },
  "inventory_conversion_ratio": {
    "performance": null,
    "explanation": null
  },
  "debt_ratio": {
    "performance": 100,
    "explanation": null
  },
  "debt_to_equity_ratio": {
    "performance": 100,
    "explanation": "Gearing er evnen til at stå imod større interne eller eksterne kriser. Virksomheden har en meget stærk gearing, da den ligger blandt de 10% højeste ratede virksomheder i samme branche."
  },
  "income_to_debt_ratio": {
    "performance": 10,
    "explanation": null
  },
  "ebitda_to_debt_ratio": {
    "performance": 10,
    "explanation": null
  },
  "interest_coverage": {
    "performance": 20,
    "explanation": "Rentedækningsgrad er evnen til at tilbagebetale renter på gæld. Virksomheden har en meget svag rentedækningsgrad, da den ligger blandt de 20% laveste ratede virksomheder i samme branche."
  },
  "solidity_ratio": {
    "performance": 60,
    "explanation": "Soliditetsgrad er evnen til at bære større tab. Virksomheden har en middel soliditetsgrad, sammenlignet med andre virksomheder i samme branche."
  },
  "liabilities_to_equity_ratio": {
    "performance": 100,
    "explanation": null
  },
  "one_year_change_in_equity": {
    "performance": 10,
    "explanation": null
  }
}

Financial stats

This endpoint has information about each financial report. We provide information about who audited the report, when it was approved, a link to the actual PDF report, whether they are IFRS (International Financial Reporting Standards) compliant, etc.

GET
/{country}/financial/stats/{local_id}

Example request

curl --request GET \
  --url https://api.risika.dk/v1.2/dk/financial/stats/37677892/ \
  --header 'Content-Type: application/json' \
  --header 'Authorization: <access_token>'

Example response

[
  {
    "period": {
      "start": "2016-07-01",
      "end": "2017-12-31"
    },
    "pdf_link": "http://regnskaber.virk.dk/29877673/ZG9rdW1lbnRsYWdlcjovLzAzLzM2LzhlL2E0L2Q4LzdkMmMtNDBmYy04ZWIxLWFmYzFhZTg4YjNhOQ.pdf",
    "type": "ANNUAL REPORT",
    "class_of_reporting_entity": "REPORTING CLASS B",
    "approval_date": "2018-05-25",
    "general_meeting_date": "2018-05-25",
    "auditor": {
      "name": null,
      "description": "uautoriseret titel",
      "type_of_assistance": "NO AUDITOR ASSISTANCE",
      "company_id": null,
      "company_name": null
    },
    "currency": "DKK",
    "ifrs": false
  },
  {
    "period": {
      "start": "2018-01-01",
      "end": "2018-12-31"
    },
    "pdf_link": "http://regnskaber.virk.dk/29877673/ZG9rdW1lbnRsYWdlcjovLzAzLzhlL2FhLzgwL2ZiL2EzN2QtNDA2Ny05NDVkLWRhN2MxNWQ5MzhlMA.pdf",
    "type": "ANNUAL REPORT",
    "class_of_reporting_entity": "REPORTING CLASS B",
    "approval_date": "2019-04-10",
    "general_meeting_date": "2019-04-19",
    "auditor": {
      "name": "Michael Dam-Johansen",
      "description": "statsautoriseret revisor",
      "type_of_assistance": "AUDITOR'S REPORT",
      "company_id": "19263096",
      "company_name": "inforevision statsautoriseret revisionsaktieselskab"
    },
    "currency": "DKK",
    "ifrs": false
  }
]

Highlights

This endpoint provides some highlights that we have selected by analyzing the company, the data in the financial report and the people associated with the company. A highlight can be classified as either positive, neutral or negative. We provide a message for each highlight to explain what it means for the given situation. Furthermore, we also provide a weight to indicate how important each highlight is.

NB: You can pass along the Accept-Header with either en-UK for English or da-DK for Danish.

Variable Description

Highlight Description
age Warning of higher risk if the company is started within 5 years.
address_changes The company have changed address within the last couple of years.
auditor_changes The company have changed auditor within the last couple of years.
change_in_profit_loss If profit or losses have a significant trend the last 3 years.
change_in_revenue If revenues have a significant trend the last 3 years.
equity Information regarding whether the company has zero or negative equity.
one_financial_statement Only one financial statement - can give uncertainty in the calculation.
foreign_currency Informing that the financial statement is stated in a foreign currency.
intangible_assets Warning if the value of intellectual property represents over 50% of equity in the company. This is a potentially risk factor.
old_financialstatement The financial statement that the calculations are based upon is very old.
typeofauditorassistance Warning about the level of involvement from an auditor in the creation of the financial statement.
three_years_profitloss Results the last 3 years.
timely_delivery Warning about if the financial statement wasn''t handed in to the authorities in time.
industry Special industries (defined by industry codes) that are not graded.
change_in_management There have been many changes in the management and/or the board within the last year.
connected_bankruptcies Amount of historical bankruptcies with the people associated with the company (executives, board of directors etc.).
quantile_compare
change_in_employees Number of employees has consistently changed over the last 3 years.
company_type The information appears if the company is a sole proprietorship.
proprietorship_age The information appears if the company is an older sole proprietorship.
change_in_powers_to_bind Warning if the company has changed powers to bind in the last year.
GET
/{country}/highlights/{local_id}

Example request

curl --request GET \
  --url https://api.risika.dk/v1.2/dk/highlights/37677892/ \
  --header 'Content-Type: application/json' \
  --header 'Authorization: <access_token>' \
  --header 'Accept-Language: da-DK'

Example response

{
  "highlights": {
    "age": {
      "title": "Ung virksomhed",
      "message": "Vær opmærksom på, at alderen på virksomheden er 3 år. Vores algoritme har vist, at det forøger risikoen, når virksomheder er under 5 år gamle og derfor har det påvirket den samlede score.",
      "description": "Advarsel om, at der er større risiko forbundet med denne virksomheden, da den en mindre end 5 år gammel.",
      "classification": "negative",
      "weight": 1900
    },
    "address": {
      "title": "Adressseskift",
      "message": "Virksomheden har skiftet adresse mere end 3 gange i løbet af de sidste 3 år.",
      "description": "Informationen fremkommer, hvis virksomheden har skiftet adresse inden for de sidste par år.",
      "classification": "neutral",
      "weight": 1850
    },
    "change_in_management": {
      "title": "Udskifting i ledelsen",
      "message": "Virksomheden har haft ændringer i direktionen og/eller bestyrelsen 3 eller flere gange sidste år.",
      "description": "Informationen fremkommer, hvis der har været udskiftninger i direktionen og/eller bestyrelsen det sidste 3 år.",
      "classification": "neutral",
      "weight": 1875
    },
    "powers_to_bind": {
      "title": "\u00c6ndring i tegningsregel",
      "message": "Virksomheden har ændret tegningsregel indenfor det sidste år.",
      "description": "Informationen fremkommer, hvis virksomheden har ændret tegningsregel inden for sidste år.",
      "classification": "neutral",
      "weight": 3750
    },
    "change_in_employees": {
      "title": "\u00c6ndring i antal ansatte",
      "message": "Virksomhedens antal ansatte er steget over de sidste 3 år.",
      "description": "Informationen fremkommer, hvis antallet af medarbejdere er steget eller faldet over de sidste 3 år.",
      "classification": "positive",
      "weight": 2500
    },
    "intangible_assets": {
      "title": "Stor andel immaterielle anlægsaktiver",
      "message": "Over 50% af egenkapitalen i selskabet består af immaterielle anlægsaktiver, hvilket kan betyde en øget finansiel risiko.",
      "description": "Informationen fremkommer, hvis virksomheden har en høj andel immaterielle anlægsaktiver, hvilket kan være en risiko-faktor.",
      "classification": "negative",
      "weight": 1950
    },
    "type_of_auditor_assistance": {
      "title": "Revisionsniveau",
      "message": "Virksomhedens seneste regnskab er blevet revideret af en revisor.",
      "description": "Informationen fremkommer, hvis virksomheden ikke har fået lavet fuld revision af seneste regnskab.",
      "classification": "neutral",
      "weight": null
    },
    "connected_bankruptcies": {
      "title": "Konkursanalyse",
      "message": "Der er 1 konkurs i blandt de personer der har relation til virksomheden. Det har ikke trukket ned i den samlede kreditscore.",
      "description": "Informationen fremkommer, hvis der har været konkurser blandt de personer, der har relation til virksomheden.",
      "classification": "neutral",
      "weight": 3200
    }
  }
}

Rating

These endpoints are essentially a way to sum up the entire company. We provide a number to represent how risky the company is (Risika score), and a credit recomendation.

Grades

GET
/{country}/rating/scores/{local_id}

Credit

GET
/{country}/rating/credit/{local_id}

Scores (Risika score)

NB: only works for Danish companies at the moment. If you want the Risika Score for Swedish or Norwegian companies, you can use the /company/basics endpoint to get the current score for the company.

This endpoint provides historical Risika scores.

We calculate the grade for each financial report available. This way, you will both have their current score but also the historic one, and will be able to see the development of their score over time.

Note: the list of scores is not sorted, but we do provide a date.

Example request

curl --request GET \
  --url https://api.risika.dk/v1.2/dk/rating/scores/37677892 \
  --header 'Content-Type: application/json' \
  --header 'Authorization: <access_token>'

Example response

[
  {
    "date": "2018-12-31",
    "score": 3
  },
  {
    "date": "2017-12-31",
    "score": 3
  }
]

Credit

This endpoint provides a credit recomendation for the company you requested. We provide you a credit max, credit days and an upfront payment recomendation.

You can pass a credit parameter, but it is not required.

The credit max does not depend on the credit you provide. We do, however, use the specified credit to calculate the max amount of days you should provide the specified amount of credit.

We also provide an upfront payment amount. If the credit you provided is greater than the credit max, we will recommend that you request the remaining payment upfront.

GET
/{country}/rating/credit/{local_id}?credit={amount}

Example request

curl --request GET \
  --url https://api.risika.dk/v1.2/dk/rating/credit/37677892?credit=1000 \
  --header 'Content-Type: application/json' \
  --header 'Authorization: <access_token>'

Example response

{
  "upfront": null,
  "credit_days": 7,
  "credit_max": 9000
}

We provide two endpoints for searching – the first searches for companies, the second for people.

Company

POST
/{country}/search/company

Person

POST
/{country}/search/person

Search company

This endpoint enables you to search for companies by name instead of providing a local ID (e.g. CVR) number. We return very basic information about the company as a response: local ID and company name.

You can search with two different modes: minimal or full.

Minimal
Limited to 25 search results. The results are also much simpler, containing only the name, local ID and country code.

Full
There is no limit in the traditional sense, you use two additional parameters – to and from – which works as a way to paginate through the results. They default to a range of 0 – 100 if the to and from parameters aren't specified.

The results from the full mode also contains the Risika Score, company type, employee count and whether it is active.

POST
/{country}/search/company

Example request (minimal)

curl --request POST \
  --url https://api.risika.dk/v1.2/dk/search/company \
  --header 'Content-Type: application/json' \
  --header 'Authorization: <access_token>' \
  --data '{ "mode": "minimal", "filters": { "company_name": "risika" } }'

Example response (minimal)

{
  "search_result": [
    {
      "local_organization_id": {
        "country": "DK",
        "id": "37677892"
      },
      "company_name": "RISIKA A/S"
    }
  ],
  "count": 1
}

Example request (full)

curl --request POST \
  --url https://api.risika.dk/v1.2/dk/search/company \
  --header 'Content-Type: application/json' \
  --header 'Authorization: <access_token>' \
  --data '{ "mode": "full", "from": 0, "to": 100, "filters": { "company_name": "risika", "company_type": ["A/S"], "score": [1, 2, 3, 4, 5], "active": true } }'

Example response (full)

{
  "search_result": [
    {
      "local_organization_id": {
        "country": "DK",
        "id": "37677892"
      },
      "active": true,
      "company_name": "RISIKA A/S",
      "score": 3,
      "company_type": "A/S",
      "employees_interval": "5-9",
      "advertisement_protected": true,
      "address": {
        "city": "København K",
        "coname": null,
        "number": "26, st.",
        "street": "Kronprinsessegade",
        "country": "DK",
        "zipcode": 1306,
        "postdistrict": "København K"
      }
    }
  ],
  "rows": {
    "from": 0,
    "to": 1
  },
  "count": 1
}

Search person

TODO: write a description

Example request

curl --request GET \
  --url https://api.risika.dk/v1.2/dk/search/person \
  --header 'Authorization: <access_token>'
  --data '{ "query": "Timm Jeppesen" }'

Example response

{
  "search_result": [
    {
      "personal_id": 4006873173,
      "name": "Timm Jeppesen",
      "aliases": [
        "Timm Jeppesen"
      ],
      "functions": [
        {
          "active": true,
          "function": "ADMINISTRERENDE DIREKT\u00d8R"
        },
        {
          "active": true,
          "function": "BESTYRELSE"
        },
        {
          "active": true,
          "function": "DIREKTION"
        },
        {
          "active": true,
          "function": "REEL EJER"
        },
        {
          "active": true,
          "function": "STIFTERE"
        }
      ],
      "active_company_relations": [
        "MoneyFlow Group ApS",
        "RISIKA A/S",
        "TJ Formueinvest ApS",
        "TNT Holding DK ApS"
      ],
      "last_update": 1547059767000
    }
  ],
  "count": 1
}

Webhook

We provide a webhook which enables you to receive updates as soon as they happen. To get them to work, you need to setup a URL (e.g. https://your-site.com/webhook) where you want to receive the updates. You then have two options, you can either register it on the dashboard from https://dashboard.risika.dk/developer or by using the API.

We provide four endpoints concerning wehooks: add, remove, status and test.

When you have added your webhook, we generate a secret for you which you can use to verify that the request is actually from us (we send a signature along with the request to your webhook).

Add

POST
/webhook/add

Remove

GET
/webhook/remove

Status

GET
/webhook/status

Test

GET
/webhook/test

Add Webhook

To add a webhook you simply send a POST request containing the URL you want to register. Alternatively, you can do it directly from the dashboard.

POST
/webhook/add

Example request

curl --request POST \
  --url https://api.risika.dk/v1.2/webhook/add \
  --header 'Content-Type: application/json' \
  --header 'Authorization: <access_token>' \
  --data '{ "url": "https://example-webhook.com/webhook" }'

Example response

{
  "status": "ok"
}

Remove Webhook

You can only have single webhook registered to your account at a time, so you simply make a GET request and it will be removed.

GET
/webhook/remove

Example request

curl --request GET \
  --url https://api.risika.dk/v1.2/webhook/remove \
  --header 'Content-Type: application/json' \
  --header 'Authorization: <access_token>'

Example response

{
  "status": "ok"
}

Webhook Status

To check if you have a webhook registered, and to see your secret, you can make a GET request to the status endpoint. The secret is used to verify that any incoming requests are actually from us.

GET
/webhook/status

Example request

curl --request GET \
  --url https://api.risika.dk/v1.2/webhook/status \
  --header 'Content-Type: application/json' \
  --header 'Authorization: <access_token>'

Example response

{
  "url": "https://example-site.com/webhook",
  "secret": "e5l13ukdqld43lpj6e6jkm7dy1zl2tbdj1ugwf6rjlvpzn4cnzk42orbvffv92ue"
}

Test Webhook

To make sure you have set up the webhook correctly, you can make a request to our test endpoint. Within 2 minutes you should receive an example request with some data.

The example data you receive is also how it's going to look like when we send an actual update.

GET
/webhook/test

Example request

curl --request GET \
  --url https://api.risika.dk/v1.2/webhook/test \
  --header 'Content-Type: application/json' \
  --header 'Authorization: <access_token>'

Example response

{
  "status": "ok"
}

Test example sent to your URL

{
  "signature": "81c92205af9c07f1jso29ac47ca0ad8c4ab53a59",
  "companies": [
    {
      "local_id": "37677892",
      "country": "dk"
    }
  ]
}

Lists

We provide a list for municipalities and regions to make it easier to filter the data when searching. The search offers a lot of flexiblity for filtering by postal code, but what if you want a more broad area? No problem, use our lists to select the relevant postal codes.

Municipalities

GET
/{country}/list/municipalities

Regions

GET
/{country}/list/regions

List municipalities

This list will display all the municipalties in Denmark. Each municipalty contains an array of all the postal codes within the area.

GET
/{country}list/municipalities

Example request

curl --request GET \
  --url https://api.risika.dk/v1.2/dk/list/municipalities \
  --header 'Content-Type: application/json' \
  --header 'Authorization: <access_token>'

Example response

{
  "municipalities": {
    "Læsø": [9940],
    "Vordingborg": [4720, 4733, 4735, 4750, 4760, 4771, 4772, 4773, 4780, 4791, 4792, 4793],
    "Høj-Taastrup": [2630, 2640, 4000],
    "Herlev": [2730, 2740, 2880],
    "Guldborgsund": [4800, 4840, 4850, 4862, 4863, 4871, 4872, 4873, 4874, 4880, 4891, 4892, 4894, 4930, 4990],
    "Vesthimmerlands": [9240, 9541, 9600, 9610, 9620, 9631, 9640, 9670, 9681],
    "Svendborg": [5700, 5762, 5771, 5772, 5854, 5874, 5881, 5882, 5883, 5884, 5892]
  }
}

List regions

This list will display all the regions in Denmark. Each region contains an array of all the postal codes within the area.

GET
/{country}/list/regions

Example request

curl --request GET \
  --url https://api.risika.dk/v1.2/dk/list/regions \
  --header 'Content-Type: application/json' \
  --header 'Authorization: <access_token>'

Example response

{
  "regions": {
    "Region Nordjylland": [
      7900,
      7950,
      7960,
      7970,
      7980,
      7990,
      7700,
      7730,
      7741,
      7742,
      7752,
      7755,
      7760,
      7770,
      9320,
      9330,
      9340
    ],
    "Region Hovedstaden": [
      1050,
      1051,
      1052,
      1053,
      1054,
      1055,
      1056,
      1057,
      1058,
      1059,
      1060,
      1061,
      1062,
      1063,
      1064,
      1065,
      1066,
      1067,
      1068,
      1069,
      1070,
      1071
    ]
  }
}

Errors you might encounter

Out in the wild, there are different kinds of errors you might encounter when you utilize the API. This section aims to provide you with information to help prevent them, and what might be causing the errors to help you fix them faster and make debugging easier.

Authorization

The authorization can fail in different ways, and each situation is different. We provide you with the necessary information to help solve the issue. The errors you might encounter are the following:

Missing authorization header
This happens when you haven't provided the Authorization header or when no authorization token has been provided.

Invalid authorization header: must start with JWT
This happens when the token you provided didn't start with 'jwt', even if the remaining token is correct.

Signature verification failed
This happens when the authorization token you provided was invalid.

Signature has expired
This will most likely happen when the access token you provided was generated more than 10 minutes ago, and you will need to request a new one.

When the authorization header has not been specified

{ "error": "Missing Authorization Header" }

When the token provided didn't begin with 'jwt'

{ "error": "Invalid Authorization Header: Must start with JWT" }

When the token provided was invalid

{ "error": "Signature verification failed" }

When the token has expired

{ "error": "Signature has expired" }

Endpoint

Unknown resource
This happens if the endpoint you provided doesn't exist.

When the endpoint doesn't exist

{ "error": "Unknown resource" }

CVR-number

Invalid CVR-number
The format of the CVR-number is not correct e.g. if didn't contain exactly 8 digits, it contained letters or other illegal characters.

No company with the CVR-number
We provide this error when the format was correct, but we didn't find a company associated with the CVR-number you provided.

When the number you provided isn't a CVR-number

{ "error": "Invalid CVR-number" }

When the CVR-number is not associated with a company

{ "error": "No company with the CVR-number 37677893" }

Credit

Credit must be greater than 0
We cannot do any calculations based on a credit of '0'. If you don't know the credit amount, leave out the credit parameter alltogether, and we'll provide you with a standard calculatation.

Value not recognized as a number
We weren't able to parse the amount of credit you specified. Make sure to leave out thousand separators and decimals.

The credit was zero

{ "error": "Credit must be greater than 0" }

The credit provided couldn't be parsed as a number

{ "error": "Value not recognized as a number" }
Show examples in: