Introduction

The Risika API uses JWT (JSON Web Token) for authorization. If you don't have token yet, please contact your sales representative or see our website for prices.

The API is REST-based and you authorize requests to the API by providing your authorization token in the request header. 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.

Why do I need an access token?

Access tokens give you temporary access to all your resources while off-loading traffic from our user-servers and gives you faster responses.

The access token has a payload with all the information we need about you to authorize your requests. The access token contains an expiration date, which you should check in your script automatically and request a new access token when it is about to expire.

You can learn more about JWT 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 to get the text in different languages. We currently support Danish and English with the following codes, respectively: da-DK, en-UK.

Generate an access token

Using this endpoint, you can generate 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 ..."
}

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}.

Expand Endpoint Description to see description and definitions.

Endpoint Description

Table with brief descriptions of all variables delivered by Company Basics:

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. See advertisement protection for more information.
financial_reports true/false whether this company has or is able to submit financial reports
main_industry_code See industry for more information.
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 See company type for more information.
score The current risika score of the company
registered_capital The registered capital in the company. See registered capital for more information.
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. See holding company for more information.
powers_to_bind A description of who has the powers to sign binding documents. See powers to bind for more information.
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
  }
}

Find EAN using CVR

You can look up the EAN-number (what is an EAN-number?) of a company using the CVR-number and the optional key argument to specify the type of EAN-number (the key can be any of the following: DK:P, GLN, DK:CVR, DK:SE, DK:VANS).

Example request

curl --request GET \
  --url 'https://api.risika.dk/v1.2/dk/company/ean?cvr=25362365' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: <access_token>'

Example response

[
    {
        "key": "5790001718633",
        "keytype": "GLN",
        "local_id": "25362365",
        "name": "KONTAKT ApS"
    },
    {
        "key": "25362365",
        "keytype": "DK:CVR",
        "local_id": "25362365",
        "name": "KONTAKT ApS"
    }
]

Find CVR using EAN

If you have the EAN-number, but wants to find the CVR-number, you can do so by querying for the key without cvr.

Example request

curl --request GET \
  --url 'https://api.risika.dk/v1.2/dk/company/ean?key=5790001899950' \
  --header 'Content-Type: application/json' \
  --header 'Authorization: <access_token>'

Example response

[
    {
        "key": "5790001899950",
        "keytype": "GLN",
        "local_id": "10404916",
        "name": "Tivoli / Nimb"
    }
]

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.

This end-point supports the Accept-Language header described in Headers.

Expand Endpoint Description to see description and definitions.

Endpoint Description

Table with brief descriptions of all variables delivered by Company Relations:

Value Description
personal_id personal_id of subject related to the company.
name Name of subject related to the company.
type Type of subject related to the company. Can either be PERSON or VIRKSOMHED (the Danish word for company)
functions Historical list of functions the subject related to the company has in the company.
local_organization_id local_id of the subject related to the company if the subject is a company.

Table with variables delivered by functions in Company Relations:

Value Description
function See company functions for more information.
valid_from Date where the function is valid from.
valid_to Date where the function is valid to. If the function is still active valid_toreturns NULL
shares Shares held by the subject. See shareholder for more information.
shares_interval Shares reported in share interval held by the subject. See shareholder for more information.

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": [
        {
            "functions": [
                {
                    "function": "AUDIT",
                    "title": "Audit",
                    "valid_from": "2019-02-13",
                    "valid_to": null
                }
            ],
            "local_organization_id": {
                "country": "DK",
                "id": "19263096"
            },
            "name": "inforevision statsautoriseret revisionsaktieselskab",
            "personal_id": 3369870,
            "type": "COMPANY"
        },
        {
            "functions": [
                {
                    "function": "BOARD OF DIRECTORS",
                    "title": "Board of Directors",
                    "valid_from": "2019-01-14",
                    "valid_to": null
                }
            ],
            "name": "Martin Lavesen",
            "personal_id": 4000397851,
            "type": "PERSON"
        },
        {
            "functions": [
                {
                    "function": "BOARD OF DIRECTORS",
                    "title": "Board of Directors",
                    "valid_from": "2019-01-14",
                    "valid_to": "2019-03-18"
                }
            ],
            "name": "Niels Gade-Jacobsen",
            "personal_id": 4000569667,
            "type": "PERSON"
        },
        {
            "functions": [
                {
                    "function": "MANAGEMENT",
                    "title": "Management",
                    "valid_from": "2016-12-31",
                    "valid_to": "2017-05-18"
                },
                {
                    "function": "BENEFICIAL OWNER",
                    "shares": 30.0,
                    "title": "Beneficial Owner",
                    "valid_from": "2018-03-06",
                    "valid_to": "2018-04-01"
                },
                {
                    "function": "BENEFICIAL OWNER",
                    "shares": 50.0,
                    "title": "Beneficial Owner",
                    "valid_from": "2016-12-31",
                    "valid_to": "2018-03-05"
                }
            ],
            "name": "Hanne Bach-Nielsen",
            "personal_id": 4000625364,
            "type": "PERSON"
        },
        {
            "functions": [
                {
                    "function": "MANAGEMENT",
                    "title": "Management",
                    "valid_from": "2018-04-01",
                    "valid_to": null
                },
                {
                    "function": "BENEFICIAL OWNER",
                    "shares": 30.0,
                    "title": "Beneficial Owner",
                    "valid_from": "2018-04-01",
                    "valid_to": "2018-10-28"
                },
                {
                    "function": "BENEFICIAL OWNER",
                    "shares": 27.0,
                    "title": "Beneficial Owner",
                    "valid_from": "2018-10-29",
                    "valid_to": "2019-02-18"
                }
            ],
            "name": "Nicolai Rasmussen",
            "personal_id": 4000652101,
            "type": "PERSON"
        },
        {
            "functions": [
                {
                    "function": "MANAGEMENT",
                    "title": "Management",
                    "valid_from": "2016-07-01",
                    "valid_to": "2016-12-31"
                }
            ],
            "name": "Poul Erik M\u00f8lgaard Rasmussen",
            "personal_id": 4000679462,
            "type": "PERSON"
        },
        {
            "functions": [
                {
                    "function": "BOARD OF DIRECTORS",
                    "title": "Board of Directors",
                    "valid_from": "2019-03-18",
                    "valid_to": null
                }
            ],
            "name": "Peter Christian Schmiegelow",
            "personal_id": 4000693282,
            "type": "PERSON"
        },
        {
            "functions": [
                {
                    "function": "CHAIRMAN",
                    "title": "Chairman",
                    "valid_from": "2019-01-14",
                    "valid_to": null
                }
            ],
            "name": "Mads Guttorm Jakobsen",
            "personal_id": 4004175969,
            "type": "PERSON"
        },
        {
            "functions": [
                {
                    "function": "FOUNDER",
                    "title": "Founder",
                    "valid_from": "2016-04-30",
                    "valid_to": null
                },
                {
                    "function": "LEGAL OWNER",
                    "shares_interval": "20-24.99%",
                    "title": "Legal Owner",
                    "valid_from": "2019-02-18",
                    "valid_to": null
                },
                {
                    "function": "LEGAL OWNER",
                    "shares_interval": "100%",
                    "title": "Legal Owner",
                    "valid_from": "2016-07-01",
                    "valid_to": "2017-05-17"
                },
                {
                    "function": "LEGAL OWNER",
                    "shares_interval": "25-33.33%",
                    "title": "Legal Owner",
                    "valid_from": "2018-03-06",
                    "valid_to": "2019-02-17"
                },
                {
                    "function": "LEGAL OWNER",
                    "shares_interval": "50-66.65%",
                    "title": "Legal Owner",
                    "valid_from": "2017-05-18",
                    "valid_to": "2018-03-05"
                }
            ],
            "local_organization_id": {
                "country": "DK",
                "id": "36701927"
            },
            "name": "N. Rasmussen Holding ApS",
            "personal_id": 4005959089,
            "type": "COMPANY"
        },
        {
            "functions": [
                {
                    "function": "LEGAL OWNER",
                    "shares_interval": "10-14.99%",
                    "title": "Legal Owner",
                    "valid_from": "2019-02-18",
                    "valid_to": null
                }
            ],
            "name": "Simon Turner",
            "personal_id": 4006184467,
            "type": "OTHER"
        },
        {
            "functions": [
                {
                    "function": "MANAGEMENT",
                    "title": "Management",
                    "valid_from": "2017-05-18",
                    "valid_to": "2018-03-31"
                },
                {
                    "function": "CHIEF EXECUTIVE OFFICER",
                    "title": "Chief Executive Officer",
                    "valid_from": "2018-04-01",
                    "valid_to": null
                },
                {
                    "function": "BENEFICIAL OWNER",
                    "shares": 45.0,
                    "title": "Beneficial Owner",
                    "valid_from": "2018-03-06",
                    "valid_to": "2018-10-28"
                },
                {
                    "function": "BENEFICIAL OWNER",
                    "shares": 50.0,
                    "title": "Beneficial Owner",
                    "valid_from": "2017-05-18",
                    "valid_to": "2018-03-05"
                },
                {
                    "function": "BENEFICIAL OWNER",
                    "shares": 41.4,
                    "title": "Beneficial Owner",
                    "valid_from": "2018-10-29",
                    "valid_to": "2019-02-17"
                },
                {
                    "function": "BENEFICIAL OWNER",
                    "shares": 34.050000000000004,
                    "title": "Beneficial Owner",
                    "valid_from": "2019-02-18",
                    "valid_to": null
                }
            ],
            "name": "Timm Jeppesen",
            "personal_id": 4006873173,
            "type": "PERSON"
        },
        {
            "functions": [
                {
                    "function": "LEGAL OWNER",
                    "shares_interval": "50-66.65%",
                    "title": "Legal Owner",
                    "valid_from": "2017-05-18",
                    "valid_to": "2018-03-05"
                },
                {
                    "function": "LEGAL OWNER",
                    "shares_interval": "33.34-49.99%",
                    "title": "Legal Owner",
                    "valid_from": "2018-03-06",
                    "valid_to": null
                }
            ],
            "local_organization_id": {
                "country": "DK",
                "id": "38599070"
            },
            "name": "TJ Formueinvest ApS",
            "personal_id": 4006873174,
            "type": "COMPANY"
        },
        {
            "functions": [
                {
                    "function": "LEGAL OWNER",
                    "shares_interval": "20-24.99%",
                    "title": "Legal Owner",
                    "valid_from": "2018-10-29",
                    "valid_to": "2019-02-17"
                },
                {
                    "function": "LEGAL OWNER",
                    "shares_interval": "10-14.99%",
                    "title": "Legal Owner",
                    "valid_from": "2019-02-18",
                    "valid_to": null
                },
                {
                    "function": "LEGAL OWNER",
                    "shares_interval": "25-33.33%",
                    "title": "Legal Owner",
                    "valid_from": "2018-03-06",
                    "valid_to": "2018-10-28"
                }
            ],
            "local_organization_id": {
                "country": "DK",
                "id": "39258072"
            },
            "name": "Perceval ApS",
            "personal_id": 4007482058,
            "type": "COMPANY"
        },
        {
            "functions": [
                {
                    "function": "LEGAL OWNER",
                    "shares_interval": "10-14.99%",
                    "title": "Legal Owner",
                    "valid_from": "2019-02-18",
                    "valid_to": null
                }
            ],
            "name": "Sort Hest Limited",
            "personal_id": 4007487941,
            "type": "OTHER"
        }
    ]
}

Financial

Using the financial end-points, you can get access to a companies financial reports, key figures, information about the auditor and a link to their official financial report. The financial information have been categorized into four types/end-points: Numbers, stats, performance and ratios. You can read more about the specific types below.

Common for numbers, stats, and ratios is that they all return lists with information for each annual report. The reports are sorted by date.

If you query a Company ID and it returns an empty list, it either means that the Company ID doesn't exist (confirm this with a call to /company/basics/{local_id}) or that the company is not obligated to submit financial reports.

The reports are filtered, so it only outputs annual reports. Some companies submit quarterly or semi-annually, but these are not included in the API.

Financial Numbers

This endpoint provides you with all the relevant financial numbers for a given company. You can read about the limitations in Financial

Expand Endpoint Description to see description of each financial number

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": "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
  },
  {
    "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
  }
]

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. You can read about the general limitations in Financial

Expand Endpoint Description to see description of each financial ratio

Endpoint Description

Financial Key Figure

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 ebit / ABS(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": "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
  },
  {
    "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
  }
]

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.

Expand Endpoint Description to see description and definitions.

Endpoint Description

Table with brief descriptions of all variables delivered by Financial Stats:

Value Description
period Contains start and end date for the reporting period of the financial statement. See reporting period for more information.
pdf_link Link to pdf version of the financial statement.
type See types of financial statements for more information.
class_of_reporting_entity See class of reporting entity for more information.
approval_date Date of the approval of the financial statement.
general_meeting_date Date of the general meeting related to the financial statement. Usually, the approval_date is identical to general_meeting_date. See general meeting for more information.
auditor Contains auditor information: name, description, type_of_auditor_assistance, company_id and company_name. See auditor for more information.
currency Specifies the reporting currency. See currency for more information.
ifrs true/false indication of if the financial statement is following IFRS auditing rules. See IFRS for more information.

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": "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
  },
  {
    "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
  }
]

Financial Performance

This endpoint calculates the performance compared to the rest of the market.

This end-point supports the Accept-Language header described in Headers.

Expand Endpoint Description to see description and definitions.

Endpoint Description

Table with brief descriptions of all financial ratios delivered by Financial Performance:

Value Description
performance Can deliver 10, 20, ... , 100
explanation Exaplanation of financial performance.

The performance number idendicates how the company perform in terms of deciles for a specific financial ratio compared to all other companies within the same industry.

Example 1: Consider a company in the automotive industry with a performance = 20. Then the company has a financial ratio among the 20% lowest financial ratios for automotive companies.

Example 2: Consider a company in the healthcare industry with a performance = 100. Then the company has a financial ratio among the 10% highest financial ratios for healthcare companies.

NB: Not all financial ratios has currently explanations

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
  }
}

Person Relations

Using a personal_id, you can look up a specific person and see their relations to other companies. Currently, this is only supported for Danish companies, but will be available for other countries later on.

You get the personal_id by using the Search end-point or the Company Basic end-point.

This end-point supports the Accept-Language header described in Headers.

Endpoint Description

Definitions

CEO - Administrerende Direktør

The chief executive officer (CEO), or just chief executive (CE), is the most senior corporate, executive, or administrative officer in charge of managing an organization – especially an independent legal entity such as a company or nonprofit institution. CEOs lead a range of organizations, including public and private corporations, non-profit organizations and even some government organizations (e.g., Crown corporations). The CEO of a corporation or company typically reports to the board of directors and is charged with maximizing the value of the entity, which may include maximizing the share price, market share, revenues, or another element. In the non-profit and government sector, CEOs typically aim at achieving outcomes related to the organization's mission, such as reducing poverty, increasing literacy, etc.

Board of Directors - Bestyrelse

A board of directors is a group of people who jointly supervise the activities of an organization, which can be either a for-profit business, nonprofit organization, or a government agency. Such a board's powers, duties, and responsibilities are determined by government regulations (including the jurisdiction's corporations law) and the organization's own constitution and bylaws. These authorities may specify the number of members of the board, how they are to be chosen, and how often they are to meet.

Chairman of the Board - Formand

The chairman (also chair) is the highest officer of an organized group such as a board, a committee, or a deliberative assembly. The person holding the office is typically elected or appointed by the members of the group, and the chairman presides over meetings of the assembled group and conducts its business in an orderly fashion.

Auditor - Revisor

An auditor is a person or a firm appointed by a company to execute an audit. To act as an auditor, a person should be certified by the regulatory authority of accounting and auditing or possess certain specified qualifications. Generally, to act as an external auditor of the company, a person should have a certificate of practice from the regulatory authority.

Real Owner - Reel Ejer

Reelle ejere er fysiske personer, der direkte eller indirekte ejer eller kontrollerer en tilstrækkelig del af en virksomhed, eller som udøver kontrol ved hjælp af andre midler. Som udgangspunkt anses det som en tilstrækkelig del, hvis en person ejer eller kontrollerer 25% eller mere af virksomheden. Dog er denne procentdel kun en indikator på reelt ejerskab. Virksomheden skal nemlig tilsikre oplysninger på mulige reelle, og foretage en vurdering af om registrering skal ske.

Legal Owner - Legal Ejer

En legal ejer er den formelle ejer af virksomheden, og kan både være en person eller en virksomhed. Dette gør sig ikke gældende for en reel ejer, som kun kan være en fysisk person. De legale ejere er alle personer og virksomheder, som råder over mere end 5% af et selskabs kapital eller stemmeret. Derudover skal den præcise beholdning af ejerandele og stemmerettigheder registreres for reelle ejere. Hvorimod legale ejeres beholdning og ejerandele angives i intervaller.

Stakeholder - Interessent

Stakeholders are people, separate organizations or groups with direct or indirect interests in the company's success. A large or small business' stakeholders range from creditors and employees to shareholders, owners, labor unions and the surrounding community, according to Business Dictionary's website. The type of stakeholders for a business depends largely the company's legal definition. For example, a corporation can sell stock and have shareholders, while a sole proprietorship or business partnership cannot do so legally.

Founder - Stifter

An organizational founder is a person who has undertaken some or all of the work needed to create a new organization, whether this is a business, a charitable organization, a governing body, a school, a group of entertainers, or some other kind of organization. If there are multiple founders, each can be referred to as a co-founder. If the organization is a business, the founder is usually an entrepreneur. If an organization is created to carry out charitable work, the founder is generally considered a philanthropist.

Shareholder - Aktionær

A shareholder is someone who owns shares in a corporation. Generally, corporations are owned by several shareholders. For example, Google is a publicly traded corporation with almost half a million shareholders. Other corporations are closely held, meaning that there are only a few shareholders

Corporate Ownership - Virksomheds Ejerskab

While an argument can be made that corporations can’t truly be owned, it is widely agreed upon that the shareholders of the corporation are owners, but not legal owners. Legal ownership means having the ability to make actual business decisions or use the company’s assets. The shareholders aren’t the actual true owners of the business. While they aren’t legal owners, they are still considered owners due to their ownership in stock.

Such ownership will depend on the percentage of shares that each person carries in the corporation. For example, someone who holds 51% of the shares in a corporation owns a controlling interest in it; therefore, he or she has greater voting and other decision-making power.

The shareholders have the following rights:

  • The right to receive a portion of the corporation’s net revenue
  • The right to vote on the board of directors
  • The right to inspect corporate records
  • The right to sue for wrongful acts committed by the board, i.e., breach of fiduciary duty, fraud, illegal conduct
  • The right to sell their stock
  • The right to dividends
  • The right to purchase more stock if another public offering is made

With regard to the second right, all shareholders have a right to vote for who will be on the board, giving them some sort of oversight as to how the business will be run, as they run the company for the benefit of the shareholders. Additionally, as noted above, if a shareholder owns a significant amount of shares in the business (i.e., 51%), then he or she might even be able to appoint the board alone.

If a shareholder wants to sell his stock to another person, but still holds beneficial ownership over the shares, he can do so by turning over the rights to his shares without turning over title. If this occurs, the third party will be the registered owner of the stock, but there is a document that will specify the original shareholder as the true holder of the shares. This also means that the original shareholder will continue to have the above-mentioned rights as all other shareholders.

Liquidator - Likvidator

In law, a liquidator is the officer appointed when a company goes into winding-up or liquidation who has responsibility for collecting in all of the assets under such circumstances of the company and settling all claims against the company before putting the company into dissolution.

Management Levels

Most organizations have three management levels: first-level, middle-level, and top-level managers. First-line managers are the lowest level of management and manage the work of nonmanagerial individuals who are directly involved with the production or creation of the organization's products. First-line managers are often called supervisors, but may also be called line managers, office managers, or even foremen. Middle managers include all levels of management between the first-line level and the top level of the organization. These managers manage the work of first-line managers and may have titles such as department head, project leader, plant manager, or division manager. Top managers are responsible for making organization-wide decisions and establishing the plans and goals that affect the entire organization. These individuals typically have titles such as executive vice president, president, managing director, chief operating officer, chief executive officer, or chairman of the board.

These managers are classified in a hierarchy of authority, and perform different tasks. In many organizations, the number of managers in every level resembles a pyramid. Each level is explained below in specifications of their different responsibilities and likely job titles.

Top Management

The top or senior layer of management consists of the board of directors (including non-executive directors and executive directors), president, vice-president, CEOs and other members of the C-level executives. Different organizations have various members in their C-suite, which may include a Chief Financial Officer, Chief Technology Officer, and so on. They are responsible for controlling and overseeing the operations of the entire organization. They set a "tone at the top" and develop strategic plans, company policies, and make decisions on the overall direction of the organization. In addition, top-level managers play a significant role in the mobilization of outside resources. Senior managers are accountable to the shareholders, the general public and to public bodies that oversee corporations and similar organizations. Some members of the senior management may serve as the public face of the organization, and they may make speeches to introduce new strategies or appear in marketing.

The board of directors is typically primarily composed of non-executives who owe a fiduciary duty to shareholders and are not closely involved in the day-to-day activities of the organization, although this varies depending on the type (e.g., public versus private), size and culture of the organization. These directors are theoretically liable for breaches of that duty and typically insured under directors and officers liability insurance. Fortune 500 directors are estimated to spend 4.4 hours per week on board duties, and median compensation was $212,512 in 2010. The board sets corporate strategy, makes major decisions such as major acquisitions,[25] and hires, evaluates, and fires the top-level manager (Chief Executive Officer or CEO). The CEO typically hires other positions. However, board involvement in the hiring of other positions such as the Chief Financial Officer (CFO) has increased. In 2013, a survey of over 160 CEOs and directors of public and private companies found that the top weaknesses of CEOs were "mentoring skills" and "board engagement", and 10% of companies never evaluated the CEO. The board may also have certain employees (e.g., internal auditors) report to them or directly hire independent contractors; for example, the board (through the audit committee) typically selects the auditor.

Helpful skills of top management vary by the type of organization but typically include a broad understanding of competition, world economies, and politics. In addition, the CEO is responsible for implementing and determining (within the board's framework) the broad policies of the organization. Executive management accomplishes the day-to-day details, including: instructions for preparation of department budgets, procedures, schedules; appointment of middle level executives such as department managers; coordination of departments; media and governmental relations; and shareholder communication.

Middel Management

Consist of general managers, branch managers and department managers. They are accountable to the top management for their department's function. They devote more time to organizational and directional functions. Their roles can be emphasized as executing organizational plans in conformance with the company's policies and the objectives of the top management, they define and discuss information and policies from top management to lower management, and most importantly they inspire and provide guidance to lower level managers towards better performance.

Middle management is the midway management of a categorized organization, being secondary to the senior management but above the deepest levels of operational members. An operational manager may be well-thought-out by middle management, or may be categorized as non-management operate, liable to the policy of the specific organization. Efficiency of the middle level is vital in any organization, since they bridge the gap between top level and bottom level staffs.

Their functions include:

  • Design and implement effective group and inter-group work and information systems.
  • Define and monitor group-level performance indicators.
  • Diagnose and resolve problems within and among work groups.
  • Design and implement reward systems that support cooperative behavior. They also make decision and share ideas with top managers.

Lower Management

Lower managers include supervisors, section leaders, forepersons and team leaders. They focus on controlling and directing regular employees. They are usually responsible for assigning employees' tasks, guiding and supervising employees on day-to-day activities, ensuring the quality and quantity of production and/or service, making recommendations and suggestions to employees on their work, and channeling employee concerns that they cannot resolve to mid-level managers or other administrators. First-level or "front line" managers also act as role models for their employees. In some types of work, front line managers may also do some of the same tasks that employees do, at least some of the time. For example, in some restaurants, the front line managers will also serve customers during a very busy period of the day.

Front-line managers typically provide:

  • Training for new employees
  • Basic supervision
  • Motivation
  • Performance feedback and guidance
  • Some front-line managers may also provide career planning for employees who aim to rise within the organization.

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",
    "relations": [
        {
            "company_name": "RISIKA A/S",
            "company_status": "Active",
            "company_status_code": "ACTIVE",
            "company_type": {
                "long": "Aktieselskab",
                "short": "A/S"
            },
            "functions": [
                {
                    "function": "MANAGEMENT",
                    "title": "Management",
                    "valid_from": "2017-05-18",
                    "valid_to": "2018-03-31"
                },
                {
                    "function": "CHIEF EXECUTIVE OFFICER",
                    "title": "Chief Executive Officer",
                    "valid_from": "2018-04-01",
                    "valid_to": null
                },
                {
                    "function": "BENEFICIAL OWNER",
                    "title": "Beneficial Owner",
                    "valid_from": "2017-05-18",
                    "valid_to": null
                },
                {
                    "function": "LEGAL OWNER",
                    "title": "Legal Owner",
                    "valid_from": "2019-02-18",
                    "valid_to": null
                }
            ],
            "local_organization_id": {
                "country": "DK",
                "id": "37677892"
            },
            "score": 3
        },
        {
            "company_name": "TJ Formueinvest ApS",
            "company_status": "Active",
            "company_status_code": "ACTIVE",
            "company_type": {
                "long": "Anpartsselskab",
                "short": "APS"
            },
            "functions": [
                {
                    "function": "BENEFICIAL OWNER",
                    "title": "Beneficial Owner",
                    "valid_from": "2017-04-26",
                    "valid_to": null
                },
                {
                    "function": "MANAGEMENT",
                    "title": "Management",
                    "valid_from": "2017-04-26",
                    "valid_to": null
                },
                {
                    "function": "FOUNDER",
                    "title": "Founder",
                    "valid_from": "2017-04-26",
                    "valid_to": null
                },
                {
                    "function": "LEGAL OWNER",
                    "title": "Legal Owner",
                    "valid_from": "2017-04-26",
                    "valid_to": null
                }
            ],
            "local_organization_id": {
                "country": "DK",
                "id": "38599070"
            },
            "score": 3
        },
        {
            "company_name": "MoneyFlow Group ApS",
            "company_status": "Active",
            "company_status_code": "ACTIVE",
            "company_type": {
                "long": "Anpartsselskab",
                "short": "APS"
            },
            "functions": [
                {
                    "function": "BOARD OF DIRECTORS",
                    "title": "Board of Directors",
                    "valid_from": "2018-02-13",
                    "valid_to": null
                }
            ],
            "local_organization_id": {
                "country": "DK",
                "id": "39228327"
            },
            "score": 2
        },
        {
            "company_name": "TNT Holding DK ApS",
            "company_status": "Active",
            "company_status_code": "ACTIVE",
            "company_type": {
                "long": "Anpartsselskab",
                "short": "APS"
            },
            "functions": [
                {
                    "function": "MANAGEMENT",
                    "title": "Management",
                    "valid_from": "2018-01-23",
                    "valid_to": null
                },
                {
                    "function": "BENEFICIAL OWNER",
                    "title": "Beneficial Owner",
                    "valid_from": "2018-01-23",
                    "valid_to": "2018-02-07"
                },
                {
                    "function": "LEGAL OWNER",
                    "title": "Legal Owner",
                    "valid_from": "2018-01-23",
                    "valid_to": "2018-02-07"
                }
            ],
            "local_organization_id": {
                "country": "DK",
                "id": "39276208"
            },
            "score": 1
        }
    ],
    "type": "PERSON"
}

Rating

The rating end-points provide the credit scores and credit limits for the queried company. The credit score found here is the same as in /{country}/company/basics/{local_id}, but provides a historical perspective.

Credit

This endpoint provides a credit recomendation for the company you requested. The credit recommendation consists of a credit max, number of credit days and a recommended upfront payment.

The end-point has a optional credit parameter. If you specify credit, we will give a concrete credit recommendation. If you do not have a specific amount, we will give a generel recommendation for the company.

You can change the currency by specifying the optional parameter currency. The currency will be assumed for the input credit and the output credit max. You can get a complete list of supported currencies from List of Currencies. If no currency is specified, it defaults to DKK.

The given credit max does not depend on the amount of credit you specify. We use the credit to calculate how many days you should provide the specified amount of credit. If the credit you provided is greater than the credit max, we will recommend that you request the remaining payment upfront.

Expand Endpoint Description to see description and definitions.

Endpoint Description

The recommended credit max and credit days depends on the current risika score and equity of the company. Because of this it can happen that a company with a risika score of 5 gets a higher credit max than a company with a risika score of 7.

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,
  "currency": "DKK"
}

Scores (Risika score)

This endpoint provides the historical Risika scores for the queried company. The most recent score is also shown in /{country}/company/basics/{local_id}.

The scores are currently calulated for each financial report, but may in the future be triggered by other events. This is a disclaimer not to tie the score to a specific financial statement. The scores are sorted by the date of the financial statement.

This end-point is only available for Danish companies at the moment, but will be available for other countries soon. If you want the Risika Score for other countries, you can use /{country}/company/basics/{local_id} to get the current score for any company.

Expand Endpoint Description to see description and definitions.

Endpoint Description

Risika score companies from 1-10 where 1 is the lowest score (highest risk) and 10 is the highest score (lowest risk). We deliver accurate credit ratings by analyzing financial statements and industry patterns together with indicators of fraud like the level of audit and connected bankruptcies.

Risika Score Risk
1-3 High Risk
4-7 Medium Risk
8-10 Low Risk

For more information about our model performance please don't hestitate to contact us.

Note: The list of scores are not sorted by 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": 2
  }
]

Highlights

This endpoint provides highlights that we have selected by analyzing the company, financial reports and the people associated with the company.

A highlight can be classified as either positive, neutral or negative. The classification is a tool for grouping similar highlights. To prioritize by seriousness, you can use the weight parameter. weight ranks the highlights on an arbitrary scale that indicates the relative seriousness to each highlight.

Each highlight carries a title, message and description. The title and message are generated specificly for the company and explains the situation that triggered the highlight. The description is general explaination of the highlight and doesn't change depending on the companies situation.

This end-point supports the Accept-Language header described in Headers.

Endpoint Description

Highlights

Highlight Description
address The company have changed address within the last couple of years.
age Warning of higher risk if the company is started within 5 years.
auditors The company have changed auditor within the last couple of years.
change_in_employees Number of employees has consistently changed over the last 3 years.
change_in_management There have been many changes in the management and/or the board within the last year.
company_type The information appears if the company is a sole proprietorship.
connected_bankruptcies Amount of historical bankruptcies with the people associated with the company (executives, board of directors etc.).
current_ratio If the current ratio is within the top or bottom decile in industry.
equity Information regarding whether the company has zero or negative equity.
foreign_currency Informing that the financial statement is stated in a foreign currency.
holding If the company is identified as a holding company.
industry Special industries (defined by industry codes) that are not graded.
industry_risk Informing if the company is in an industry with high or low bankruptcy risk.
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.
one_financial_statement Only one financial statement - can give uncertainty in the calculation.
powers_to_bind Warning if the company has changed powers to bind in the last year.
profit_loss If profit or losses have increased or decreased with more than 20%.
proprietorship_age The information appears if the company is an older sole proprietorship.
return_on_assets If the return on assets is within the top or bottom decile in industry.
revenue If revenues have increased or decreased with more than 20%.
solidity_ratio If solidity ratio is within the top or bottom decile in industry.
three_years_profitloss If the profit or losses have a siginificant trend the last 3 years.
timely_delivery Warning about if the financial statement wasn''t handed in to the authorities in time.
type_of_auditor_assistance Warning about the level of involvement from an auditor in the creation of the financial statement.

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": "Adresseskift",
      "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
    }
  }
}

If you don't have a specific Company ID or Personal ID, you can use search end-points to filter all companies by name, address, equity, Risika score, etc.

Search for a specific person only works by name at the moment and work only for Danish companies.

Search for Company

This endpoint enables you to search for companies by name instead of providing a local ID (e.g. CVR-number for Danish companies). You can search with two different modes: minimal or full:

Minimal Limited to 25 search results. The results are also much simpler, contains only the name, local ID and country code. This is meant as "quick search" feature.

Full The full search returns much more information about the companies and allows you to set advanced search parameters. The values returned are: company_name, score, company_type, employees_interval, active, advertisement_protected and address.

There is not limit on how many companies you can extract from a search, but you have to use pagination to get more than the first 1000 rows. To get more than the first 1000 rows (or to less than 1000 rows), you can specify the from and to parameters. If no from and to parameters are specified, it defaults to 100 rows.

Explanation of search parameters

Parameter Description
company_name The name of the company. It matches case-insensitive and supports partial names
company_type List of company types that you want results from. See list of company types in List company types
city List of cities you want results from. The names are case insensitive, but must be a precise match
score List of accepted Risika scores (integers from 1 to 10)
active Boolean value determining whether to filter results of active/inactive companies
employees List of employee intervals as a list of strings. List of accepted intervals can be found in (List of Employee Intervals)[#list-employee-intervals]
equity The equity parameter is set by passing an associative array structure
industry Search by industry is done by specifing a list of integers/strings with industry codes
zipcode List of zipcodes as integers (see full List of Zipcodes)

The array must specify operator as a binary operator (<, >, =, <=, >=), a value as an integer or float, and currency as any currency from List of Currencies

{
    "operator": "<",
    "value": 100000,
    "currency": "DKK"
}

The Danish industry codes are grouped in several levels, but the API splits them into 3 major groups. You can find the complete description of industries in List of Industries, where you can also get the full list of possible industry codes.

The first grouping is by sector which can be: A, B, C, D, E, F, G, H, I, J, K, L, M, N, O, P, Q, R, S, T, U. The second grouping is called "group" and indicates a division of the sectors. The thirds grouping is called "subgroup" and divides the groups into smaller groups.

An example of this parameter could be:

"industry": [
    "A",
    774,
    799000,
]

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 for Person

The search for persons is limited to search by name. The name is case insensitive and may be partial (missing e.g. middle name). This search doesn't support pagination and will return at most 100 matches.

Parameter Description
personal_id The unique ID identifying the person (doesn't work cross-country)
name Full name of the person
alias Aliases of the person as a list of strings
functions Associative array with active and function indicating whether if the person still has this function
active_company_relations List of company names this person is currently involved in

Example request

curl --request POST \
  --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"
      ]
    }
  ],
  "count": 1
}

Export

The export end-points are meant for export of "lead lists" or similar CSV/Excel dumps. The result is returned in the same format as Company Search, but includes some extra fields with contact information. The filter of each end-point is compatible with their search counterparts for eaiser export.

Pagination is disable for export. If you need more than the standard amount, please contact your sales representative.

This end-points exports the information from a search. The difference between export and search is the number of columns returned and that pagination is disabled. The additional columns includes contact information, which makes it ideal for "lead lists".

The filter function of this end-points is identical to the filter fiund in Search for Company. The only expection being that you can't specify the from parameter. The to parameter goes to 5000 by default, but may be changed upon request. Please contact your sales representative if you need a larger export limit.

POST
/{country}/export/company

Example request

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

Example response

{
    "search_result": [
        {
            "active": true,
            "address": {
                "city": "K\u00f8benhavn K",
                "coname": null,
                "country": "DK",
                "municipality": "K\u00f8benhavn",
                "number": "26, st.",
                "postdistrict": "K\u00f8benhavn K",
                "street": "Kronprinsessegade",
                "zipcode": 1306
            },
            "advertisement_protected": true,
            "company_name": "RISIKA A/S",
            "company_type": "A/S",
            "email": {
                "email": "contact@risika.dk",
                "hidden": false
            },
            "employees_interval": "10-19",
            "local_organization_id": {
                "country": "DK",
                "id": "37677892"
            },
            "main_industry_code": {
                "code": 829100,
                "description": "Inkassovirksomhed og kreditoplysning"
            },
            "management": [
                "Nicolai Rasmussen",
                "Timm Jeppesen"
            ],
            "phone": {
                "hidden": false,
                "phone": "42905757"
            },
            "webpage": null
        }
    ],
    "count": 1,
    "rows": {
        "from": 0,
        "to": 10
    }
}

Monitoring

The monitoring end-points allow you the manage and subscribe to changes for all your clients. You can add companies to your monitoring list and poll them for changes with List Monitoring or you can get the changes as soon as they are published with Webhook

Add Monitoring

You can add companies to your monitoring list by sending a POST request with the Company IDs you want to subscribe to /monitor/add. It will not raise an error, if you try to add the same company twice.

Works only with Danish companies, but country must be specified anyway.

POST
/monitor/add

Example request

curl --request POST \
  --url https://api.risika.dk/v1.2/monitor/add \
  --header 'Content-Type: application/json' \
  --header 'Authorization: <access_token>' \
  --data '{"subscribe": [{"local_organization_id": {"country": "DK", "id": "37677892"}},{"local_organization_id": {"country": "DK", "id": "10404916"}},{"local_organization_id": {"country": "DK", "id": "61126228"}}]}'

Example response

{
  "status": "ok"
}

Remove Monitoring

To remove companies from the monitoring list, call this end-point with a list of Company IDs to remove. Unlike Add Monitoring, this end-point will return an error, if you try to remove a company you haven't subscribed to.

GET
/monitor/remove

Example request

curl --request POST \
  --url https://api.risika.dk/v1.2/monitor/remove \
  --header 'Content-Type: application/json' \
  --header 'Authorization: <access_token>' \
  --data '{"unsubscribe": [{"local_organization_id": {"country": "DK", "id": "37677892"}},{"local_organization_id": {"country": "DK", "id": "10404916"}},{"local_organization_id": {"country": "DK", "id": "61126228"}}]}'

Example response

{
  "status": "ok"
}

Verify Monitoring

This end-point is used to verify if you have already subscribed to a company. Example of use is to change the subscribe button on the Risika Dashboard, if you already subscribed to the company.

GET
/monitor/verify

Example request

curl --request GET \
  --url https://api.risika.dk/v1.2/monitor/verify?country=DK&local_id=10404916 \
  --header 'Content-Type: application/json' \
  --header 'Authorization: <access_token>'

Example response

{
    "monitoring": true
}

List Monitoring

Get a complete list of the companies you monitor together with the most recent changes. To indicate the type of change, every change is assigned a type. With the type, you will also get a weight, which may help you prioritize the change.

type weight
status 9999
score 9000
new_report 8000
company_type 5000
name 4500
industry 3500
employees_interval 3000
email 1500
address 1500
phone_number 1000

This end-point supports the Accept-Language header described in Headers.

GET
/monitor/list/all

Example request

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

Example response

{
  "monitor_list": [
    {
      "address": {
        "city": "K\u00f8benhavn V",
        "coname": null,
        "country": "DK",
        "municipality": "K\u00f8benhavn",
        "number": "3",
        "postdistrict": "K\u00f8benhavn V",
        "street": "Vesterbrogade",
        "zipcode": 1620
      },
      "changes": null,
      "company_name": "TIVOLI A/S",
      "credit_max": 25000000,
      "local_organization_id": {
        "country": "dk",
        "id": "10404916"
      },
      "score": 10,
      "status": "Active",
      "status_code": "ACTIVE"
    },
    {
      "address": {
        "city": "Skovlunde",
        "coname": null,
        "country": "DK",
        "municipality": "Ballerup",
        "number": "22",
        "postdistrict": "Skovlunde",
        "street": "Mileparken",
        "zipcode": 2740
      },
      "changes": [
        {
          "date": "2019-10-21",
          "new": {
            "valid_from": "2019-05-01",
            "valid_to": null,
            "value": 6
          },
          "old": {
            "valid_from": "2018-05-01",
            "valid_to": "2019-04-30",
            "value": 7
          },
          "sentence": "New Risika Score",
          "type": "score",
          "weight": 9000
        },
        {
          "date": "2019-10-21",
          "new": {
            "valid_from": "2018-05-01",
            "valid_to": "2019-04-30"
          },
          "sentence": "New Annual Report",
          "type": "new_report",
          "weight": 8000
        }
      ],
      "company_name": "4 DIMENSIONS A/S",
      "credit_max": 222000,
      "local_organization_id": {
        "country": "dk",
        "id": "32563600"
      },
      "score": 6,
      "status": "Active",
      "status_code": "ACTIVE"
    }
  ]
}

Export Monitoring

Export the list of the companies you monitor together with the most recent changes. It follows the same structure as List Monitoring, but will include more data fields in the future.

This end-point supports the Accept-Language header described in Headers.

GET
/monitor/export

Example request

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

Example response

{
  "monitor_list": [
    {
      "address": {
        "city": "K\u00f8benhavn V",
        "coname": null,
        "country": "DK",
        "municipality": "K\u00f8benhavn",
        "number": "3",
        "postdistrict": "K\u00f8benhavn V",
        "street": "Vesterbrogade",
        "zipcode": 1620
      },
      "changes": null,
      "company_name": "TIVOLI A/S",
      "credit_max": 25000000,
      "local_organization_id": {
        "country": "dk",
        "id": "10404916"
      },
      "score": 10,
      "status": "Active",
      "status_code": "ACTIVE"
    },
    {
      "address": {
        "city": "Skovlunde",
        "coname": null,
        "country": "DK",
        "municipality": "Ballerup",
        "number": "22",
        "postdistrict": "Skovlunde",
        "street": "Mileparken",
        "zipcode": 2740
      },
      "changes": [
        {
          "date": "2019-10-21",
          "new": {
            "valid_from": "2019-05-01",
            "valid_to": null,
            "value": 6
          },
          "old": {
            "valid_from": "2018-05-01",
            "valid_to": "2019-04-30",
            "value": 7
          },
          "sentence": "New Risika Score",
          "type": "score",
          "weight": 9000
        },
        {
          "date": "2019-10-21",
          "new": {
            "valid_from": "2018-05-01",
            "valid_to": "2019-04-30"
          },
          "sentence": "New Annual Report",
          "type": "new_report",
          "weight": 8000
        }
      ],
      "company_name": "4 DIMENSIONS A/S",
      "credit_max": 222000,
      "local_organization_id": {
        "country": "dk",
        "id": "32563600"
      },
      "score": 6,
      "status": "Active",
      "status_code": "ACTIVE"
    }
  ]
}

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 webhooks: add, remove, status and test.

You may not be served by the same server every time, so you should not rely on the IP for validation. When you add your webhook, we generate a secret for you, which you can use to verify that the request is actually from us (we will send you a signature along with the message to your webhook).

The webhook will not tell you what has changed, but will inform you, that you should refresh your record of the company. The webhook is triggered by changes in (and may include more fields in the future):

  • Name
  • Date of Incorporation
  • Advertisement Protection
  • Company Status
  • Company Type
  • Address
  • Number of Employees
  • Email
  • Phone number
  • Industry Codes
  • Risika Score
  • Capital
  • Currency
  • Powers to Bind
  • Management
  • Bank

Notice: that the current implementation is not triggered by new financial statements. Unless, the new report changes the Risika score

You manage your webhook subscriptions using the end-points in Monitoring which can also be managed through the dashboard.

We provide an example of a web server to receive the message from the webhook, which also shows how to validate the message. The example is only available in Python.

The message from the webhook is sent as a POST request to your web server. The message contains a JSON list of objects with country and local_id for each company. The signature is located in the HTTP headers as Signature and is derived by computing the HMAC SHA256 hash of the payload.

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

[
  {
    "local_id": "37677892",
    "country": "dk"
  }
]

Lists

The list end-points helps you validate request and see the possible values for search end-points.

List Employee Intervals

This end-points provides a complete list of the Danish employee intervals. These values are returned by end-points such as Company Basics, but can also be used in the search filters of Search for Company.

Currently only available for Danish employee intervals

GET
/{country}/list/employees_interval/

Example request

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

Example response (sample)

{
    "employees_intervals": [
        "0", "1", "2-4", "5-9", "10-19", "20-49", "50-99", "100-199", "200-499", "500-999", "1000-999999"
    ]
}

List Currencies

Currencies are used by Search for Company, which makes it eaiser to pass the user's preferred currency without converting the value locally. Any currency not in the list will be rejected by the API.

GET
/list/currencies/

Example request

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

Example response (sample)

{
    "currencies": [
        "DKK", "SEK", "NOK", "EUR", "GBP", "USD", "HKD", "SGD", "QAR", "AUD", "HRK", "CHF", "RUB", "CZK", "CAD", "PLN"
    ]
}

List Company Types

The response is a list of strings containing all company types. The end-point has an optional parameter grouped=true, which will group the company types in fewer groups (meant for visual representation), since many company types are obsolete or used infrequent.

Currently only available for Danish company types

GET
/{country}/list/company_types

Example request

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

Example response

{
    "company_types": [
        "EFO", "FON", "UDL", "A/S", "AMT", "ABA", "ANS", "APS", "DØD", "EUO", "ENK", "EØF", "FAS", "FAP", "FKI", "FBA", "FMA", "FOR", "FFO", "GUS", "I/S", "IVS", "KAS", "K/S", "MSS", "PAR", "PMV", "KOM", "REG", "SMA", "SOV", "STA", "FIV", "UOP", "ØVR", "SCE"
    ]
}

Example request (grouped)

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

Example response (grouped)

{
    "company_types": {
        "A/S": ["A/S"],
        "APS": ["APS"],
        "ENK": ["ENK"],
        "FFO": ["FFO"],
        "FON": ["FON"],
        "FOR": ["FOR"],
        "I/S": ["I/S"],
        "IVS": ["IVS"],
        "K/S": ["K/S"],
        "PMV": ["PMV"],
        "UDL": ["UDL"],
        "ØVR": [
            "EFO", "AMT", "ABA", "ANS", "DØD", "EUO", "EØF", "FAS", "FAP", "FKI",
            "FBA", "FMA", "GUS", "KAS", "MSS", "PAR", "KOM", "REG", "SMA", "SOV",
            "STA", "FIV", "UOP", "ØVR", "SCE"
        ]
    }
}

List Industries

This list will display all the industries in Denmark.

Expand Endpoint Description to see description and definitions.

Endpoint Description

Section Description
A Landbrug, jagt, skovbrug og fiskeri
B Råstofindvinding
C Fremstillingsvirksomhed
D El-, gas- og fjernvarmeforsyning
E Vandforsyning; kloakvæsen, affaldshåndtering og rensning af jord og grundvand
F Bygge- og anlægsvirksomhed
G Engroshandel og detailhandel; reparation af motorkøretøjer og motorcykler
H Transport og godshåndtering
I Overnatningsfaciliteter og restaurationsvirksomhed
J Information og kommunikation
K Pengeinstitut- og finansvirksomhed, forsikring
L Fast ejendom
M Liberale, videnskabelige og tekniske tjenesteydelser
N Administrative tjenesteydelser og hjælpetjenester
O Offentlig forvaltning og forsvar; socialsikring
P Undervisning
Q Sundhedsvæsen og sociale foranstaltninger
R Kultur, forlystelser og sport
S Andre serviceydelser
T Private husholdninger med ansat medhjælp; husholdningers produktion af varer og tjenesteydelser til eget brug, i.a.n.
U Ekstraterritoriale organisationer og organer

GET
/{country}/list/industries

Example request

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

Example response (sample)

{
    "industries": {
        "A": {
            "group": [
                {
                    "11": {
                        "group": {
                            "11100": "Dyrkning af korn (undtagen ris), b\u00e6lgfrugter og olieholdige fr\u00f8",
                            "11200": "Dyrkning af ris",
                            "11300": "Dyrkning af gr\u00f8ntsager og meloner, r\u00f8dder og rodknolde",
                            "11400": "Dyrkning af sukkerr\u00f8r",
                            "11500": "Dyrkning af tobak",
                            "11600": "Dyrkning af tekstilplanter",
                            "11900": "Dyrkning af andre et\u00e5rige afgr\u00f8der"
                        },
                        "title": "Dyrkning af et\u00e5rige afgr\u00f8der"
                    },
                    "12": {
                        "group": {
                            "12100": "Dyrkning af druer",
                            "12200": "Dyrkning af tropiske og subtropiske frugter",
                            "12300": "Dyrkning af citrusfrugter",
                            "12400": "Dyrkning af kernefrugter og stenfrugter",
                            "12500": "Dyrkning af andre tr\u00e6frugter, b\u00e6r og n\u00f8dder",
                            "12600": "Dyrkning af olieholdige frugter",
                            "12700": "Dyrkning af planter til fremstilling af drikkevarer",
                            "12800": "Dyrkning af krydderiplanter, aromaplanter og l\u00e6geplanter",
                            "12900": "Dyrkning af andre fler\u00e5rige afgr\u00f8der"
                        },
                        "title": "Dyrkning af fler\u00e5rige afgr\u00f8der"
                    },
                }
            ],
            "title": "Landbrug, jagt, skovbrug og fiskeri"
        },
        "B": {
            "group": [
                {
                    "51": {
                        "group": {
                            "51000": "Indvinding af stenkul"
                        },
                        "title": "Indvinding af stenkul"
                    },
                    "52": {
                        "group": {
                            "52000": "Indvinding af brunkul"
                        },
                        "title": "Indvinding af brunkul"
                    },
                }
            ],
            "title": "R\u00e5stofindvinding"
        }
    }
}

List Municipalities

The filter in Search for Company supports search for municipalities. As default this end-point responds with a mapping of municipalities to zip codes. If you only need the names of the municipalities, you can set the optional parameter type to names.

Be careful with the mapping from municipalities to zip codes. Some zip codes are in more than one municipality.

Currently only available for Danish zip codes

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

List of all the regions in Denmark. Each region contains an array of all the zip codes within the area. Regions are not directly supported by Search for Company, but can done together with this mapping and the zip code filter.

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 (sample)

{
  "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]
  }
}

List Zip Codes

Complete list of valid zip codes. This is only meant for validation. If you are looking for translations from/to municipalities and regions we will suggest looking at List of Municipalities and List of Regions.

Currently only available for Danish zip codes

GET
/{country}/list/zipcodes/

Example request

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

Example response (sample)

{
    "zipcodes": [
        0, 800, 900, 1000, 1001, 1002, 1003, 1004, 1005,
        1006, 1007, 1008, 1009, 1010, 1011, 1012, 1013,
        1014, 1015, 1016, 1017, 1018, 1019, 1020, 1021,
        1022, 1023, 1050, 1051, 1052, 1053, 1054, 1055,
        ...
    ]
}

ID types

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.

What is an EAN number?

The EAN number is an electronic address used primarily when a company has to send e-invoicing to the public. The EAN number can be obtained from the municipality or region in which the public institution is located.

What does EAN mean? EAN is an abbreviation for "European Article Numbering". The term is not completely recurring as the system has been extended to the whole world and no longer only covers Europe.

The international name is "global location numbers" and can be abbreviated to GLN. EAN is still used as the term for this number as it is the most commonly used name.

Electronic invoicing is the exchange of an electronic invoice document between a supplier and a buyer. An electronic invoice (eInvoice) is an invoice that has been issued, transmitted and received in a structured data format which allows for its automatic and electronic processing

Danish: Reklamebeskyttelse

Optional protection from solicitation: Entities that opt not to receive advertising inquiries, including unsolicited emails and canvassing, are identified as "Reklamebeskyttelse: Dette P-nummer/CVR-nummer er reklamebeskyttet," which translates to "Advertising Protection: This P-number/CVR-number is advertising protected."

Advertisers are required to identify themselves in such a way that is easily recognizable and accessible by the recipient. The name and address of the advertiser must be stated in the offer. Recipient of advertisements who state in writing that they do not want to receive advertising, the advertiser must abide, unconditionally, post haste, but no later than 3 months of receipt of the request.

Industry

Danish: Industri

An industry is the production of goods or related services within an economy. The major source of revenue of a group or company is the indicator of its relevant industry. When a large group has multiple sources of revenue generation, it is considered to be working in different industries. Manufacturing industry became a key sector of production and labour in European and North American countries during the Industrial Revolution, upsetting previous mercantile and feudal economies. This came through many successive rapid advances in technology, such as the production of steel and coal.

Company Type

Danish: Virksomhedsformer

Company type Short Description Category
Enkeltmandsvirksomhed ENK Personlige virksomheder
Personligt ejet Mindre Virksomhed PMV Personlige virksomheder
Interessentskab I/S Personlige virksomheder
Anpartsselskab ApS Kapitalselskaber
Iværksætterselskab (Terminated) IVS Kapitalselskaber
Aktieselskab A/S Kapitalselskaber
Kommanditaktieselskab/Partnerselskab KAS Kapitalselskaber
Kommanditselskab K/S Kapitalselskaber
Region REG Offentlige myndigheder
Folkekirkelige institutioner FKI Offentlige myndigheder
Primærkommune KOM Offentlige myndigheder
Selvstændig offentlig virksomhed SOV Offentlige myndigheder
Statslig administrativ enhed STA Offentlige myndigheder
Forening med begrænset ansvar FMA Foreninger
Andelsselskab (-forening) ANS Foreninger
Frivillig forening FFO Foreninger
Forening FOR Foreninger
Forening eller selskab med begrænset ansvar FBA Foreninger
Fonde og andre selvejende institutioner FON Fonde
Erhvervsdrivende fond EFO Fonde
Filial af udenlandsk aktieselskab, kommanditaktieselskab FAS Filialer
Filial af udenlandsk anpartsselskab eller selskab FAP Filialer
Filial af udenlandsk virksomhed med begrænset ansvar FBA Filialer
Filial af SE-selskab Filialer
Grønlandsk afdeling af udenlandsk selskab eller virksomhed GUS Filialer
Øvrige virksomhedsformer ØVR Andre virksomhedsformer
Anden udenlandsk virksomhed UDL Andre virksomhedsformer
Europæisk Økonomisk Firmagruppe EØF Andre virksomhedsformer
Fast forretningssted af Europæisk økonomisk Firmagruppe Andre virksomhedsformer
Særlig finansiel virksomhed FIV Andre virksomhedsformer
Selskab med begrænset ansvar (Terminated) SMA Andre virksomhedsformer
SE-selskab (Terminated) Andre virksomhedsformer
Dødsbo DØD Andre virksomhedsformer
Medarbejderinvesteringsselskab MSS Andre virksomhedsformer
Partrederi PAR Andre virksomhedsformer
Uoplyst virksomhedsform UOP Andre virksomhedsformer

Sole Proprietorship

Danish: Enkeltmandsvirksomhed

A sole proprietorship, also known as the sole trader, individual entrepreneurship or proprietorship, is a type of enterprise that is owned and run by one person and in which there is no legal distinction between the owner and the business entity. A sole trader does not necessarily work 'alone'—it is possible for the sole trader to employ other people.

Registered Capital

Danish: Selskabskapital

Equity capital is based on investments that, unlike debt capital, do not need to be repaid. This can include private investment by business owners, as well as contributions derived from the sale of stock.

Holding Company

Danish: Holdingselskab

A holding company is a company that owns other companies' outstanding stock. A holding company usually does not produce goods or services itself; rather, its purpose is to own shares of other companies to form a corporate group. Holding companies allow the reduction of risk for the owners and can allow the ownership and control of a number of different companies.

Powers to Bind

Danish: Tegningsregel

En tegningsregel angiver de tegningsberettigede i en virksomhed. En tegningsberettiget er en fysisk person, der har ret til at afgive formueretligt bindende løfter og indgå gensidigt bebyrdende aftaler på et selskabs vegne. Ifølge aktieselskabsloven er alle bestyrelsesmedlemmer og direktører tegningsberettigede, men det er dog muligt for selskabet at enten udvide eller indskrænke dette udgangspunkt i selskabets vedtægter, f.eks. ved at kræve at mindst to af de nævnte personer i forening er en betingelse for at forpligte selskabet.

Company Functions

Danish: Virksomhedsfunktioner

Shareholder

Danish: Aktionær

A shareholder is someone who owns shares in a corporation. Generally, corporations are owned by several shareholders. For example, Google is a publicly traded corporation with almost half a million shareholders. Other corporations are closely held, meaning that there are only a few shareholders

Types of Financial Statements

Danish: Typer af regnskaber

Reporting Period

Danish: Rapporterings periode

A reporting period is the span of time covered by a set of financial statements. The reporting period is typically either for a month, quarter, or year. Organizations use the same reporting periods from year to year, so that their financial statements can be compared to the ones produced for prior years.

Class of Reporting Entity

Danish: Regnskabsklasse

General Meeting

Danish: Generalforsamling

An annual general meeting is a meeting of the general membership of an organization. These organizations include membership associations and companies with shareholders. These meetings may be required by law or by the constitution, charter, or by-laws governing the body. The meetings are held to conduct business on behalf of the organization or company.

Auditor

Danish: Revisor

An auditor is a person or a firm appointed by a company to execute an audit. To act as an auditor, a person should be certified by the regulatory authority of accounting and auditing or possess certain specified qualifications. Generally, to act as an external auditor of the company, a person should have a certificate of practice from the regulatory authority.

Currency

Danish: Valuta

A currency is a system of money (monetary units) in common use, especially for people in a nation. Under this definition, US dollars (USD), Danish crowns (DKK), Swedish crowns (SEK), pounds sterling (GBP), European euros (EUR) and Norwegian crowns (NOK) are examples of currencies. These various currencies are recognized as stores of value and are traded between nations in foreign exchange markets, which determine the relative values of the different currencies. Currencies in this sense are defined by governments, and each type has limited boundaries of acceptance.

IFRS

Danish: IFRS

International Financial Reporting Standards, usually called IFRS, are standards issued by the IFRS Foundation and the International Accounting Standards Board (IASB) to provide a common global language for business affairs so that company accounts are understandable and comparable across international boundaries. They are a consequence of growing international shareholding and trade and are particularly important for companies that have dealings in several countries. They are progressively replacing the many different national accounting standards. They are the rules to be followed by accountants to maintain books of accounts which are comparable, understandable, reliable and relevant as per the users internal or external.

Shell Corporation

Danish: Stråmandsvirksomhed

A shell corporation is a company or corporation that exists only on paper and has no office and no employees, but may have a bank account or may hold passive investments or be the registered owner of assets, such as intellectual property, or ships. Shell companies may be registered to the address of a company that provides a service setting up shell companies, and which may act as the agent for receipt of legal correspondence (such as an accountant or lawyer). The company may serve as a vehicle for business transactions without itself having any significant assets or operations. Sometimes, shell companies are used for tax evasion, tax avoidance, and money laundering, or to achieve a specific goal such as anonymity. Anonymity may be sought to shield personal assets from others, such as a spouse when a marriage is breaking down, from creditors, from government authorities, besides others.

from wikipedia https://en.wikipedia.org/wiki/Shell_corporation

Errors

The API uses HTTP status codes together with an error message formatted in JSON for exceptions. The response is formatted as {"error": "..."} and describes the encountered error in a user-friendly way. A lot of exceptions are reused, so they are not listed for each end-point. These lists should make it easier for a developer to predict the possible error that can be returned.

Authorization, Payment and Encoding Errors

Code Name Message
400 Bad Request Invalid company ID
400 Bad Request No company with the CVR-number
400 Bad Request No company with the Company ID
400 Bad Request No person with the ID <personal ID>
400 Bad Request Missing 'cvr' or 'key' in request parameters
400 Bad Request  Missing JSON body
400 Bad Request The requested country is not available for this end-point
400 Bad Request 'nickname' is missing from the request or is not a string
400 Bad Request 'type' is missing from the request or is not a string
400 Bad Request With a 'partner' user, you should specify what kind of users it is allowed to distribute
400 Bad Request <permit> didn't match any permits for this user
400 Bad Request Only 'partner' users can distribute new users
400 Bad Request The following key-value pairs must be present: 'country', 'local_id', 'plan'
400 Bad Request The following key-value pairs must be present: 'company_id', 'name', 'country', 'local_id', 'plan'
400 Bad Request 'country' must be a string and exactly 2 characters
400 Bad Request 'name' must be a string
400 Bad Request 'plan' must be either of these plans: BASIC, ENTERPRISE, PRO, STANDARD, TRIAL
400 Bad Request 'grouped' must be either 'true' or 'false'
401 Unauthorized Your permanent access token has been revoked. Contact Risika for more information
401 Unauthorized Insufficient privileges. You must use a permanent access token to access this function
401 Unauthorized Insufficient privileges. You must use a temporary access token to access this resource
401 Unauthorized Insufficient privileges. You must have a partner user to access this function
401 Unauthorized Insufficient rights to issue this permit or the user permit doesn't match any known permit types
401 Unauthorized Corrupt JWT
402 Payment Required Your subscription plan does not allow API requests
402 Payment Required Your subscription plan does not allow requests on '%s' resources
402 Payment Required Your subscription plan does not allow this request
402 Payment Required Your subscription plan does not allow anymore requests of this type
402 Payment Required Your subscription plan does not allow exports
402 Payment Required Your subscription plan does not allow you to monitor this many companies
404 Not Found Unknown resource
406 Not Acceptable Acceptable languages: da-DK, en-UK. If omitted, en-UK is used.
409 Conflict No company with the country and local_id exists
415 Unsupported Media Type This API only supports responses encoded as JSON.
500 Internal Server Error Unknown user type <user type>
500 Internal Server Error Invalid privileges

Search and Export Errors

Code Name Message
400 Bad Request Filter '<your filter>' is not recognized"
400 Bad Request 'filters' must be a dictionary/associative array
400 Bad Request 'company_name' must be a string
400 Bad Request 'company_type' must be a list of strings with company types
400 Bad Request 'city' must be a list of string with city names
400 Bad Request 'score' must be a list of int with score values
400 Bad Request 'active' must be a boolean
400 Bad Request 'advertising' must be a boolean
400 Bad Request 'employees' must be a list of string with employee intervals
400 Bad Request 'industry' must be a list of ints with valid industry values
400 Bad Request 'zipcode' must be a list of ints
400 Bad Request 'municipality' must be a list of strings
400 Bad Request 'industry' must be a list of ints with valid industry values
400 Bad Request 'score' is not within range (must be 1-10)
400 Bad Request 'interval' doesn't match any known intervals
400 Bad Request Invalid value for 'to'
400 Bad Request Invalid datatype for 'to'
400 Bad Request Invalid value for 'from'
400 Bad Request Invalid datatype for 'from'
400 Bad Request Invalid values for 'to' and 'from'
400 Bad Request 'to' must be set, if 'from' is set
400 Bad Request 'from' must be set, if 'to' is set
400 Bad Request difference between 'from' and 'to' must be less than or equal to <some limit>
400 Bad Request Parameter 'to' must be less or equal to <some limit>
400 Bad Request Invalid format for equity filtering
400 Bad Request Invalid operator for equity comparision
400 Bad Request Currency must be a string
400 Bad Request Supported currencies are: DKK, SEK, NOK, EUR, GBP, USD, HKD, SGD, QAR, AUD, HRK, CHF, RUB, CZK, CAD, PLN
400 Bad Request Missing export parameters
400 Bad Request Filters must be defined
400 Bad Request Export mode doesn't take 'from' argument
400 Bad Request Missing search parameters
400 Bad Request Query not defined
400 Bad Request Query is empty
400 Bad Request Filters must be defined
400 Bad Request You must specify at least one filter
400 Bad Request Minimal search must include a company name in the filter
400 Bad Request Minimal search with filter can only contain company name
400 Bad Request Search mode should be 'minimal' or 'full'

Financial, Credit and Score Errors

Code Name Message
400 Bad Request Didn't find any financial key figures to compare against
400 Bad Request Value not recognized as a number
400 Bad Request Credit must be greater than 0
409 Conflict No information found for <Company ID>
409 Conflict No equity information found for <Company ID>
409 Conflict No Risika score found for <Company ID>
409 Conflict No Risika score found for <Company ID>
409 Conflict No reports found with the Company ID <Company ID>

Monitoring Errors

Code Name Message
400 Bad Request Request is missing 'local_organization_id'
400 Bad Request Request is missing 'local_organization_id.country'
400 Bad Request Value for 'local_organization_id.country' is not a valid country
400 Bad Request Request is missing 'local_organization_id.id'
400 Bad Request Expected list of 'local_organization_id'
400 Bad Request You must specify 'local_id' and 'country' in the GET parameters
409 Conflict {"error": "Not subscribed to company", "rejected": <local_organization_id>}
500 Internal Server Error Missing translation for sentence_id <some id>

Webhook Errors

Code Name Message
400 Bad Request Protocol must be either HTTP or HTTPS
400 Bad Request URL is malformed. No changes were made
400 Bad Request URL or IP is blacklisted
409 Conflict Webhook is not set up
409 Conflict You have to wait <time> seconds before testing again.
Show examples in: