Regia API · v1.0
Estonian company data, over HTTP.
Estonian company data: registry profiles, people and ownership, annual reports, taxes, credit scores, court and enforcement records, real estate and more. One key, JSON responses, 45 endpoints grouped like the sections of a company page on regia.ee.
Quickstart
- Get an API key from Regia (see Authentication).
- Send it in the
X-API-Keyheader with every request. - Find companies by name, registry code or VAT number, then fetch the sections you need, or embed them with
include.
success, data and meta. Errors replace data with error.curl --request GET \
--url 'https://api.regia.ee/companies?q=energia&limit=5' \
--header 'X-API-Key: YOUR_API_KEY'{
"success": true,
"data": [
{
"registry_code": "10421629",
"name": "Eesti Energia AS"
}
],
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f",
"pagination": {
"page": 1,
"limit": 25,
"total": 1,
"has_more": false
}
}
}Conventions
- Companies
- Identified by the 8-digit registry code, e.g.
/companies/10421629. Codes are strings in responses. Find a code by name with search, or resolve many names, codes and VAT numbers at once with lookup. - Sections
- Everything about one company is a section under it:
/companies/{code}/shareholders,/credit-scoreand so on. Get several in one request with?include=shareholders,credit_scoreon the company. - Lists
- Lists page with
pageandlimit(1-100, default 25);meta.paginationgives the total andhas_more. Relations (representatives, shareholders, ...) are current ones unless you addhistory=true. - Language
lang=enorlang=rutranslates labels and classifier values; Estonian is the default. Codes, names and free text are never translated, so filter and match on codes.- Values
- Dates are
YYYY-MM-DD, amounts are euros as numbers, and unknown values arenullrather than missing. - Limits
- 10 requests per second per key by default; above it you get
429 rate_limitedwithRetry-After. Every response carries arequest_id; quote it when contacting us.
Companies
Companies
Search companies, match many at once by registry code, VAT number or name, and fetch registry profiles.
Base path /companies
Search and list companies
Find companies by name or registry code, with optional filters. With q, results are ranked like the regia.ee search box: exact names first, legal form words (OÜ, AS, MTÜ ...) optional, previous names matched too, large and active companies ahead of small or deleted ones; at most 200 results. Without q, every company matching the filters is listed, newest registrations first.
https://api.regia.ee/companiesParameters
qquery- string·Name (or part of it) or a registry code prefix of 3-8 digits.
statusquery- string·R, L, N or D. Comma-separate or repeat for several.
legal_formquery- string·Legal form by name or abbreviation: Osaühing or OÜ, Aktsiaselts or AS, MTÜ, FIE, KÜ ... Several allowed.
activityquery- string·EMTAK code prefix of a current activity, e.g. 62 or 62101. Several allowed.
countyquery- string·County of the legal address, e.g. Harju or Tartu. Several allowed.
vat_numberquery- string·Current VAT number, e.g. EE100366327. Lists every company holding it: the members of a VAT group share one number. Several allowed.
registered_from, registered_toquery- date·Registration date range, YYYY-MM-DD, both inclusive.
pagequery- integer·Page number, from 1. Default 1.
limitquery- integer·Items per page, 1-100. Default 25.
langquery- string·Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.
Request
curl --request GET \
--url 'https://api.regia.ee/companies?q=energia&status=R&limit=2' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": [
{
"registry_code": "11641009",
"name": "Energia Nord OÜ",
"legal_form": {
"name": "Osaühing",
"label": "Osaühing"
},
"status": {
"code": "R",
"label": "Registreeritud"
},
"registered_on": "2009-04-27",
"deleted_on": null,
"vat_number": "EE101351030",
"address": {
"full": "Harju maakond, Tallinn, Kesklinna linnaosa, Roseni tn 11",
"postal_code": "10111"
},
"url": "https://regia.ee/entity/11641009-energia-nord-ou",
"matched_previous_name": null
},
{
"registry_code": "11487593",
"name": "OÜ Energia ja Ehitus",
"legal_form": {
"name": "Osaühing",
"label": "Osaühing"
},
"status": {
"code": "R",
"label": "Registreeritud"
},
"registered_on": "2008-03-27",
"deleted_on": null,
"vat_number": "EE101217831",
"address": {
"full": "Tartu maakond, Elva vald, Elva linn, Laane tn 15",
"postal_code": "61504"
},
"url": "https://regia.ee/entity/11487593-ou-energia-ja-ehitus",
"matched_previous_name": null
}
],
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f",
"pagination": {
"page": 1,
"limit": 2,
"total": 200,
"has_more": true
}
}
}Response fields
registry_code- 8-digit registry code, as a string.
name- Registered name.
legal_form- name (Estonian, as used in filters) and label (in lang).
status- code and label: R registered, L in liquidation, N bankrupt, D deleted.
registered_on, deleted_on- Registration and deletion dates (YYYY-MM-DD).
vat_number- Current VAT number, or null when not VAT registered.
address- full legal address and postal_code.
url- The company page on regia.ee.
matched_previous_name- With q: the previous name that matched, when the current name did not.
meta.pagination- page, limit, total (all matching rows) and has_more.
Look up many companies
Resolve up to 100 companies in one request, e.g. to match a customer list. Each query is handled on its own: 8 digits is a registry code, EE plus 9 digits (or 9 digits) a VAT number, anything else a name search returning the best matches. A VAT number returns every company holding it now, since the members of a VAT group share one number; with no current holder, the company that held it last. Guaranteed: data has one answer per query, in the order of the queries, and each answer's query is the query exactly as sent. Billed per query.
https://api.regia.ee/companies/lookupParameters
langquery- string·Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.
Body
queriesbodyrequired- string[]·1-100 registry codes, VAT numbers or names, mixed freely.
limitbody- integer·Matches per name or VAT number query, 1-10. Default 1 (the best match, or one holder of a VAT number; see vat_holders).
Request
curl --request POST \
--url 'https://api.regia.ee/companies/lookup' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"queries":["10421629","EE100366327","telia eesti"],"limit":1}'Response
{
"success": true,
"data": [
{
"query": "10421629",
"type": "registry_code",
"matches": [
{
"registry_code": "10421629",
"name": "Eesti Energia AS",
"legal_form": {
"name": "Aktsiaselts",
"label": "Aktsiaselts"
},
"status": {
"code": "R",
"label": "Registreeritud"
},
"registered_on": "1998-03-31",
"deleted_on": null,
"vat_number": "EE100366327",
"address": {
"full": "Harju maakond, Tallinn, Kesklinna linnaosa, Lelle tn 22",
"postal_code": "11318"
},
"url": "https://regia.ee/entity/10421629-eesti-energia-as"
}
]
},
{
"query": "EE100366327",
"type": "vat_number",
"matches": [
{
"registry_code": "10421629",
"name": "Eesti Energia AS",
"legal_form": {
"name": "Aktsiaselts",
"label": "Aktsiaselts"
},
"status": {
"code": "R",
"label": "Registreeritud"
},
"registered_on": "1998-03-31",
"deleted_on": null,
"vat_number": "EE100366327",
"address": {
"full": "Harju maakond, Tallinn, Kesklinna linnaosa, Lelle tn 22",
"postal_code": "11318"
},
"url": "https://regia.ee/entity/10421629-eesti-energia-as"
}
]
}
],
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f",
"queries": 3,
"matched": 3
}
}Response fields
query- The query exactly as sent (not trimmed or normalised).
type- How it was read: registry_code, vat_number or name.
matches- Company summaries, best first; empty when nothing matched.
skipped- query_too_short when a name query had no word of 3+ characters and was not searched.
vat_holders- VAT number queries: how many companies hold the number now. More than 1 is a VAT group; raise limit to get them all. 0 means no current holder, and matches has the last one.
meta.queries, meta.matched- Number of queries and of queries with at least one match.
Get a company by VAT number
The company that holds a VAT number, or held it last if the registration has ended. Returns the same profile as Get a company, and takes the same include parameter. The members of a VAT group share one number: then this returns one of them (registered companies first), meta.vat_holders counts them all, and Search and list companies with vat_number lists every one.
https://api.regia.ee/companies/by-vat/{vat_number}Parameters
vat_numberpathrequired- string·Estonian VAT number: EE100366327, ee 100366327 or 100366327.
includequery- string·Sections to embed, as for Get a company.
langquery- string·Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.
Request
curl --request GET \
--url 'https://api.regia.ee/companies/by-vat/EE100366327' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": {
"registry_code": "10421629",
"name": "Eesti Energia AS",
"legal_form": {
"name": "Aktsiaselts",
"label": "Aktsiaselts"
},
"status": {
"code": "R",
"label": "Registreeritud"
},
"registered_on": "1998-03-31",
"deleted_on": null,
"vat_number": "EE100366327",
"address": {
"full": "Harju maakond, Tallinn, Kesklinna linnaosa, Lelle tn 22",
"postal_code": "11318"
},
"url": "https://regia.ee/entity/10421629-eesti-energia-as",
"share_capital": {
"amount": 846645750,
"currency": "EUR"
},
"financial_year": {
"start": "01-01",
"end": "12-31"
},
"accounting_required": true,
"previous_names": [
"Eesti Energia Aktsiaselts"
],
"contacts": [
{
"type": "email",
"value": "info@enefit.com"
},
{
"type": "phone",
"value": "+372 4652222"
}
],
"activities": [
{
"code": "35151",
"title": "Elektrienergia müük",
"emtak_version": 2025,
"main": true
},
{
"code": "35231",
"title": "Gaasimüük magistraalvõrkude kaudu",
"emtak_version": 2025,
"main": false
}
],
"vat_registrations": [
{
"vat_number": "EE100366327",
"from": "1994-01-01",
"until": null
}
],
"einvoice_providers": [
"Arvekeskus"
],
"consumer_blacklist_since": null,
"updated_at": "2026-09-27T01:11:39"
},
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f",
"vat_number": "EE100366327"
}
}Response fields
data- Company profile; see Get a company.
meta.vat_number- The VAT number as normalised.
meta.vat_holders- Companies holding the number now: more than 1 is a VAT group, 0 means the registration has ended.
Get a company
Registry profile of one company. Add include to embed any sections in the same request: lists embed their first 25 rows with the total, objects in full. include=all embeds everything.
https://api.regia.ee/companies/{registry_code}Parameters
registry_codepathrequired- string·8-digit registry code (registrikood), e.g. 10421629.
includequery- string·Comma-separated sections: representatives, shareholders, beneficial_owners, other_parties, holdings, financials, annual_reports, quarterly_taxes, tax_debt, tax_declarations, credit_score, court_cases, payment_orders, enforcements, rulings, announcements, consumer_disputes, properties, domains, permits, state_payments, or all.
historyquery- boolean·For embedded people sections: include ended relations.
langquery- string·Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.
Request
curl --request GET \
--url 'https://api.regia.ee/companies/10421629?include=credit_score&lang=en' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": {
"registry_code": "10421629",
"name": "Eesti Energia AS",
"legal_form": {
"name": "Aktsiaselts",
"label": "Public limited company"
},
"status": {
"code": "R",
"label": "Registered"
},
"registered_on": "1998-03-31",
"deleted_on": null,
"vat_number": "EE100366327",
"address": {
"full": "Harju maakond, Tallinn, Kesklinna linnaosa, Lelle tn 22",
"postal_code": "11318"
},
"url": "https://regia.ee/en/entity/10421629-eesti-energia-as",
"share_capital": {
"amount": 846645750,
"currency": "EUR"
},
"financial_year": {
"start": "01-01",
"end": "12-31"
},
"accounting_required": true,
"previous_names": [
"Eesti Energia Aktsiaselts"
],
"contacts": [
{
"type": "email",
"value": "info@enefit.com"
},
{
"type": "phone",
"value": "+372 4652222"
}
],
"activities": [
{
"code": "35151",
"title": "Sale of electricity",
"emtak_version": 2025,
"main": true
},
{
"code": "35231",
"title": "Gas sale via mains networks",
"emtak_version": 2025,
"main": false
}
],
"vat_registrations": [
{
"vat_number": "EE100366327",
"from": "1994-01-01",
"until": null
}
],
"einvoice_providers": [
"Arvekeskus"
],
"consumer_blacklist_since": null,
"updated_at": "2026-09-27T01:11:39",
"credit_score": {
"rated": true,
"date": "2026-09-27",
"score": 100,
"rating": "AAA",
"probability_of_default": 0.0032,
"rule": null,
"groups": [
{
"group": "payment",
"label": "Payment behaviour",
"score": 100
},
{
"group": "financial",
"label": "Financial position",
"score": 47
},
{
"group": "filing",
"label": "Reporting",
"score": 96
}
],
"risks": [
{
"factor": "rep_failed_share",
"label": "Failures of the directors' other companies",
"value": "83 / 5 723 (1%)",
"group": "people",
"effect": -1
}
],
"strengths": [
{
"factor": "section",
"label": "Industry",
"value": "Electricity, gas and steam supply",
"group": "profile",
"effect": 6.6
},
{
"factor": "tax_to_rev",
"label": "Taxes / turnover (4 quarters)",
"value": "5,4%",
"group": "payment",
"effect": 5.7
},
{
"factor": "report_overdue_months",
"label": "Annual report",
"value": "2025 · up to date",
"group": "filing",
"effect": 5.3
}
]
}
},
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f"
}
}Response fields
registry_code- 8-digit registry code, as a string.
name- Registered name.
legal_form- name (Estonian, as used in filters) and label (in lang).
status- code and label: R registered, L in liquidation, N bankrupt, D deleted.
registered_on, deleted_on- Registration and deletion dates (YYYY-MM-DD).
vat_number- Current VAT number, or null when not VAT registered.
address- full legal address and postal_code.
url- The company page on regia.ee.
share_capital- amount and currency.
financial_year- start and end as MM-DD.
accounting_required- Whether the company must file annual reports.
previous_names- Earlier registered names.
contacts- Current contacts: type is email, phone, mobile, website or other.
activities- Current EMTAK activities with code, title, emtak_version and main.
vat_registrations- VAT registration periods, newest first; until is null while active.
einvoice_providers- Operators the company receives e-invoices through.
consumer_blacklist_since- Date the consumer protection authority listed the company, or null.
updated_at- When the registry data last changed.
<section>- Each included section, under its name with underscores.
People & ownership
People & ownership
Representatives, shareholders, beneficial owners, holdings, and the roles of a person across companies.
Base path /companies/{registry_code}
Representatives
Board members and other people who may represent the company.
https://api.regia.ee/companies/{registry_code}/representativesParameters
registry_codepathrequired- string·8-digit registry code (registrikood), e.g. 10421629.
historyquery- boolean·true to include ended relations as well. Default false: current ones only.
qquery- string·Only rows whose text columns contain this (names, numbers, roles).
pagequery- integer·Page number, from 1. Default 1.
limitquery- integer·Items per page, 1-100. Default 25.
langquery- string·Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.
Request
curl --request GET \
--url 'https://api.regia.ee/companies/10421629/representatives?limit=2' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": [
{
"party": {
"type": "person",
"name": "Gerrit Mäesalu",
"registry_code": null,
"person_id": 111336,
"personal_code": "38210186525",
"birth_date": "1982-10-18",
"url": "https://regia.ee/affiliate/111336-gerrit-maesalu"
},
"role": {
"code": "JUHL",
"label": "Juhatuse liige"
},
"from": "2026-06-22",
"until": null
},
{
"party": {
"type": "person",
"name": "Lauri Karp",
"registry_code": null,
"person_id": 73616,
"personal_code": "37404170212",
"birth_date": "1974-04-17",
"url": "https://regia.ee/affiliate/73616-lauri-karp"
},
"role": {
"code": "JUHL",
"label": "Juhatuse liige"
},
"from": "2024-09-10",
"until": null
}
],
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f",
"pagination": {
"page": 1,
"limit": 2,
"total": 4,
"has_more": true
}
}
}Response fields
party- Who holds the role. type is person, company (an Estonian registry entry, with registry_code) or organisation (foreign or unregistered). People have person_id (for /persons/{id}), personal_code and birth_date.
role- Role code and label, e.g. JUHL (board member). Codes: /classifiers/{type}.
from, until- Start and end date. until is null while the role is current.
meta.pagination- page, limit, total (all matching rows) and has_more.
Beneficial owners
Ultimate beneficial owners as declared to the register, with how they exercise control.
https://api.regia.ee/companies/{registry_code}/beneficial-ownersParameters
registry_codepathrequired- string·8-digit registry code (registrikood), e.g. 10421629.
historyquery- boolean·true to include ended relations as well. Default false: current ones only.
qquery- string·Only rows whose text columns contain this (names, numbers, roles).
pagequery- integer·Page number, from 1. Default 1.
limitquery- integer·Items per page, 1-100. Default 25.
langquery- string·Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.
Request
curl --request GET \
--url 'https://api.regia.ee/companies/10421629/beneficial-owners?limit=1&lang=en' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": [
{
"party": {
"type": "person",
"name": "Janek Stalmeister",
"registry_code": null,
"person_id": 5974,
"personal_code": "37403310308",
"birth_date": "1974-03-31",
"url": "https://regia.ee/en/affiliate/5974-janek-stalmeister"
},
"role": {
"code": "J",
"label": "Member of higher governing body (board or supervisory board)"
},
"from": "2026-09-03",
"until": null
}
],
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f",
"pagination": {
"page": 1,
"limit": 1,
"total": 11,
"has_more": true
}
}
}Response fields
party- Who holds the role. type is person, company (an Estonian registry entry, with registry_code) or organisation (foreign or unregistered). People have person_id (for /persons/{id}), personal_code and birth_date.
role- Role code and label, e.g. JUHL (board member). Codes: /classifiers/{type}.
from, until- Start and end date. until is null while the role is current.
meta.pagination- page, limit, total (all matching rows) and has_more.
Other parties
Other registered roles without a stake: supervisory board members, auditors, founders, liquidators and similar.
https://api.regia.ee/companies/{registry_code}/other-partiesParameters
registry_codepathrequired- string·8-digit registry code (registrikood), e.g. 10421629.
historyquery- boolean·true to include ended relations as well. Default false: current ones only.
qquery- string·Only rows whose text columns contain this (names, numbers, roles).
pagequery- integer·Page number, from 1. Default 1.
limitquery- integer·Items per page, 1-100. Default 25.
langquery- string·Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.
Request
curl --request GET \
--url 'https://api.regia.ee/companies/10421629/other-parties?limit=1&lang=en' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": [
{
"party": {
"type": "person",
"name": "Tarmo Porgand",
"registry_code": null,
"person_id": 870861,
"personal_code": "37708274224",
"birth_date": "1977-08-27",
"url": "https://regia.ee/en/affiliate/870861-tarmo-porgand"
},
"role": {
"code": "N",
"label": "Supervisory-board member"
},
"from": "2026-08-01",
"until": null
}
],
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f",
"pagination": {
"page": 1,
"limit": 1,
"total": 10,
"has_more": true
}
}
}Response fields
party- Who holds the role. type is person, company (an Estonian registry entry, with registry_code) or organisation (foreign or unregistered). People have person_id (for /persons/{id}), personal_code and birth_date.
role- Role code and label, e.g. JUHL (board member). Codes: /classifiers/{type}.
from, until- Start and end date. until is null while the role is current.
meta.pagination- page, limit, total (all matching rows) and has_more.
Holdings
Companies in which this company holds shares.
https://api.regia.ee/companies/{registry_code}/holdingsParameters
registry_codepathrequired- string·8-digit registry code (registrikood), e.g. 10421629.
historyquery- boolean·true to include ended relations as well. Default false: current ones only.
qquery- string·Only rows whose text columns contain this (names, numbers, roles).
pagequery- integer·Page number, from 1. Default 1.
limitquery- integer·Items per page, 1-100. Default 25.
langquery- string·Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.
Request
curl --request GET \
--url 'https://api.regia.ee/companies/10421629/holdings?limit=2' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": [
{
"company": {
"registry_code": "12894095",
"name": "Attarat Holding OÜ",
"url": "https://regia.ee/entity/12894095-attarat-holding-ou"
},
"role": {
"code": "OSAN",
"label": "Osanik"
},
"share": {
"percent": 100,
"amount": 2502,
"currency": "EUR",
"ownership": {
"code": "L",
"label": "Ainuomand"
}
},
"from": "2023-09-01",
"until": null
},
{
"company": {
"registry_code": "11050857",
"name": "Elektrilevi OÜ",
"url": "https://regia.ee/entity/11050857-elektrilevi-ou"
},
"role": {
"code": "OSAN",
"label": "Osanik"
},
"share": {
"percent": 100,
"amount": 161779121,
"currency": "EUR",
"ownership": {
"code": "L",
"label": "Ainuomand"
}
},
"from": "2024-01-02",
"until": null
}
],
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f",
"pagination": {
"page": 1,
"limit": 2,
"total": 6,
"has_more": true
}
}
}Response fields
company- registry_code, name and url of the company owned.
role, share, from, until- As in Shareholders.
meta.pagination- page, limit, total (all matching rows) and has_more.
Search people
Find people (and foreign organisations) linked to Estonian companies by name, best matches first; at most 200 results.
https://api.regia.ee/personsParameters
qqueryrequired- string·Name, at least 3 characters.
pagequery- integer·Page number, from 1. Default 1.
limitquery- integer·Items per page, 1-100. Default 25.
langquery- string·Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.
Request
curl --request GET \
--url 'https://api.regia.ee/persons?q=lauri%20karp&limit=1' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": [
{
"id": 73616,
"type": "person",
"name": "Lauri Karp",
"personal_code": "37404170212",
"registry_code": null,
"birth_date": "1974-04-17",
"url": "https://regia.ee/affiliate/73616-lauri-karp",
"active_roles": 14
}
],
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f",
"pagination": {
"page": 1,
"limit": 1,
"total": 1,
"has_more": false
}
}
}Response fields
id- Person id, for /persons/{id}.
type- person or organisation.
name, personal_code, birth_date- As registered. Organisations have registry_code instead.
active_roles- Number of current roles in companies.
meta.pagination- page, limit, total (all matching rows) and has_more.
Get a person
A person and their roles in companies: representative, shareholder, beneficial owner or other.
https://api.regia.ee/persons/{id}Parameters
idpathrequired- integer·Person id from a search or a party.person_id.
historyquery- boolean·true to include ended relations as well. Default false: current ones only.
langquery- string·Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.
Request
curl --request GET \
--url 'https://api.regia.ee/persons/73616?lang=en' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": {
"id": 73616,
"type": "person",
"name": "Lauri Karp",
"personal_code": "37404170212",
"registry_code": null,
"birth_date": "1974-04-17",
"url": "https://regia.ee/en/affiliate/73616-lauri-karp",
"roles_total": 14,
"roles": [
{
"company": {
"registry_code": "17209649",
"name": "Enefit Power OÜ",
"legal_form": {
"name": "Osaühing",
"label": "Private limited company"
},
"status": {
"code": "R",
"label": "Registered"
},
"url": "https://regia.ee/en/entity/17209649-enefit-power-ou"
},
"relation": "beneficial_owner",
"role": {
"code": "J",
"label": "Member of higher governing body (board or supervisory board)"
},
"share": null,
"from": "2026-07-16",
"until": null
},
{
"company": {
"registry_code": "11693868",
"name": "Enefit Outotec Technology OÜ",
"legal_form": {
"name": "Osaühing",
"label": "Private limited company"
},
"status": {
"code": "R",
"label": "Registered"
},
"url": "https://regia.ee/en/entity/11693868-enefit-outotec-technology-ou"
},
"relation": "other",
"role": {
"code": "N",
"label": "Supervisory-board member"
},
"share": {
"percent": 0,
"amount": 0,
"currency": null,
"ownership": {
"code": "L",
"label": "Sole ownership"
}
},
"from": "2026-05-27",
"until": null
}
]
},
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f"
}
}Response fields
id, type, name, personal_code, birth_date, url- The person.
roles- Roles, current first (up to 1000): company, relation, role, share, from and until.
roles_total- Number of roles; more than the roles returned only past 1000.
Financials
Financials
Annual report figures, ratios and statements, and quarterly taxes and turnover.
Base path /companies/{registry_code}
Financials
Key figures and ratios per report year from the annual reports, and revenue split by activity.
https://api.regia.ee/companies/{registry_code}/financialsParameters
registry_codepathrequired- string·8-digit registry code (registrikood), e.g. 10421629.
langquery- string·Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.
Request
curl --request GET \
--url 'https://api.regia.ee/companies/10421629/financials' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": {
"years": [
{
"year": 2025,
"figures": {
"revenue": 342713280,
"net_profit": null,
"current_assets": null,
"non_current_assets": null,
"total_assets": 2541460224,
"current_liabilities": null,
"non_current_liabilities": null,
"total_liabilities": null,
"share_capital": null,
"retained_earnings": null,
"equity": null
},
"ratios": null
},
{
"year": 2024,
"figures": {
"revenue": 338182688,
"net_profit": null,
"current_assets": null,
"non_current_assets": null,
"total_assets": 2764376576,
"current_liabilities": null,
"non_current_liabilities": null,
"total_liabilities": null,
"share_capital": null,
"retained_earnings": null,
"equity": null
},
"ratios": {
"ebitda": -166700000,
"current_ratio": 4.7935,
"quick_ratio": 4.7271,
"cash_ratio": 1.0978,
"days_sales_outstanding": 1410.3009,
"asset_turnover": 0.1204,
"debt_ratio": 0.4462,
"operating_margin": -50.9462,
"net_margin": -43.081,
"return_on_assets": -5.1857,
"return_on_equity": -9.5179
}
}
],
"revenue_by_activity": [
{
"code": "35151",
"title": "Elektrienergia müük",
"values": {
"2023": 123203520,
"2024": 232041792,
"2025": 233115856
}
},
{
"code": "35231",
"title": "Gaasimüük magistraalvõrkude kaudu",
"values": {
"2023": 46182388,
"2024": 52718224,
"2025": 54205272
}
}
]
},
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f"
}
}Response fields
years[].figures- revenue, net_profit, current_assets, non_current_assets, total_assets, current_liabilities, non_current_liabilities, total_liabilities, share_capital, retained_earnings, equity (EUR). null when the report does not give it.
years[].ratios- ebitda (EUR), current_ratio, quick_ratio, cash_ratio, days_sales_outstanding, asset_turnover, debt_ratio, and operating_margin, net_margin, return_on_assets, return_on_equity in percent. For the latest five years with full statements.
revenue_by_activity- Revenue per EMTAK activity: code, title and values by year.
Annual reports
Every annual report period: filed reports and the ones that are missing.
https://api.regia.ee/companies/{registry_code}/annual-reportsParameters
registry_codepathrequired- string·8-digit registry code (registrikood), e.g. 10421629.
langquery- string·Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.
Request
curl --request GET \
--url 'https://api.regia.ee/companies/10421629/annual-reports' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": [
{
"year": 2025,
"period_start": "2025-01-01",
"period_end": "2025-12-31",
"status": "valid",
"submitted_on": "2026-04-29",
"due_on": null,
"employees": null,
"has_statements": false
},
{
"year": 2024,
"period_start": "2024-01-01",
"period_end": "2024-12-31",
"status": "valid",
"submitted_on": "2025-05-08",
"due_on": null,
"employees": null,
"has_statements": true
}
],
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f"
}
}Response fields
year, period_start, period_end- Report year and financial period.
status- valid, superseded (replaced by a corrected filing), or for a missing report overdue / not_yet_due.
submitted_on, due_on- Filing date; due date of a missing report.
employees- Employees stated in the report.
has_statements- Whether full statements are available from Get an annual report.
Get an annual report
One report year: key figures, ratios and the full statements (balance sheet, income statement, cash flow) line by line.
https://api.regia.ee/companies/{registry_code}/annual-reports/{year}Parameters
registry_codepathrequired- string·8-digit registry code (registrikood), e.g. 10421629.
yearpathrequired- integer·Report year.
langquery- string·Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.
Request
curl --request GET \
--url 'https://api.regia.ee/companies/10421629/annual-reports/2024' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": {
"year": 2024,
"figures": {
"revenue": 338182688,
"net_profit": null,
"current_assets": null,
"non_current_assets": null,
"total_assets": 2764376576,
"current_liabilities": null,
"non_current_liabilities": null,
"total_liabilities": null,
"share_capital": null,
"retained_earnings": null,
"equity": null
},
"ratios": {
"ebitda": -166700000,
"current_ratio": 4.7935,
"quick_ratio": 4.7271,
"cash_ratio": 1.0978,
"days_sales_outstanding": 1410.3009,
"asset_turnover": 0.1204,
"debt_ratio": 0.4462,
"operating_margin": -50.9462,
"net_margin": -43.081,
"return_on_assets": -5.1857,
"return_on_equity": -9.5179
},
"statements": [
{
"code": "22",
"name": "Konsolideerimata bilanss",
"rows": [
{
"name": "Raha ja pangakontod",
"value": 391800000,
"total": false
},
{
"name": "Varud kokku",
"value": 23700000,
"total": false
},
{
"name": "Nõuded ja ettemaksed kokku",
"value": 1295300000,
"total": false
}
]
},
{
"code": "32",
"name": "Konsolideerimata rahavoogude aruanne (kaudne)",
"rows": [
{
"name": "Ärikasum (-kahjum)/põhitegevuse tulem",
"value": -172300000,
"total": false
},
{
"name": "Põhivara kulum ja väärtuse langus",
"value": 5600000,
"total": false
},
{
"name": "Muud korrigeerimised",
"value": 108000000,
"total": false
}
]
}
]
},
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f"
}
}Response fields
figures, ratios- As in Financials.
statements- Statement forms with code, name and rows (name, value in EUR, total).
Quarterly taxes
Taxes paid, turnover and employees per quarter, as published by the Tax and Customs Board. Newest first.
https://api.regia.ee/companies/{registry_code}/quarterly-taxesParameters
registry_codepathrequired- string·8-digit registry code (registrikood), e.g. 10421629.
langquery- string·Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.
Request
curl --request GET \
--url 'https://api.regia.ee/companies/10421629/quarterly-taxes' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": [
{
"year": 2026,
"quarter": 2,
"taxes": 30217697,
"labour_taxes": 5903712,
"turnover": 418673421,
"employees": 632
},
{
"year": 2026,
"quarter": 1,
"taxes": 44827970,
"labour_taxes": 5445876,
"turnover": 734569976,
"employees": 641
}
],
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f"
}
}Response fields
year, quarter- The quarter.
taxes, labour_taxes- State taxes paid and the part on labour (EUR).
turnover- Taxable turnover (EUR).
employees- Employees at the end of the quarter.
Risk
Risk
Credit score, tax debt, late declarations, court cases, payment orders, enforcement and official notices.
Base path /companies/{registry_code}
Credit score
Regia credit score from the nightly scoring model: probability of default within 12 months, rating and the factors behind it.
https://api.regia.ee/companies/{registry_code}/credit-scoreParameters
registry_codepathrequired- string·8-digit registry code (registrikood), e.g. 10421629.
langquery- string·Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.
Request
curl --request GET \
--url 'https://api.regia.ee/companies/10421629/credit-score' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": {
"rated": true,
"date": "2026-09-27",
"score": 100,
"rating": "AAA",
"probability_of_default": 0.0032,
"rule": null,
"groups": [
{
"group": "payment",
"label": "Maksekäitumine",
"score": 100
},
{
"group": "financial",
"label": "Finantsseis",
"score": 47
}
],
"risks": [
{
"factor": "rep_failed_share",
"label": "Juhtide teiste ettevõtete ebaõnnestumised",
"value": "83 / 5 723 (1%)",
"group": "people",
"effect": -1
}
],
"strengths": [
{
"factor": "section",
"label": "Tegevusvaldkond",
"value": "Elektrienergia, gaasi ja auruga varustamine",
"group": "profile",
"effect": 6.6
},
{
"factor": "tax_to_rev",
"label": "Maksud / käive (4 kvartalit)",
"value": "5,4%",
"group": "payment",
"effect": 5.7
}
]
},
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f"
}
}Response fields
rated- false for companies that are not scored; reason is then bankrupt, liquidation, deleted or not_covered.
date, score, rating- Scoring date, score 0-100 and rating AAA-D.
probability_of_default- Estimated probability of default within 12 months, 0-1.
rule- Set when a rule limits the score: in_default, inactive, thin_file or capital_breach.
groups- Score 0-100 per factor group, with its label.
risks, strengths- Up to five factors lowering and raising the score most: factor key, label, the company's own value as text, group and effect in score points.
Tax debt
Tax arrears from the latest Tax and Customs Board list (ignored when older than 90 days) and the last three months by day.
https://api.regia.ee/companies/{registry_code}/tax-debtParameters
registry_codepathrequired- string·8-digit registry code (registrikood), e.g. 10421629.
langquery- string·Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.
Request
curl --request GET \
--url 'https://api.regia.ee/companies/14019531/tax-debt?lang=en' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": {
"snapshot_date": "2026-09-27",
"total": 8476.69,
"claims": [
{
"type": "Contributions to mandatory funded pension",
"label": "Contributions to mandatory funded pension",
"debt": 70.28,
"in_payment_schedule": 0,
"contested": 0
},
{
"type": "Income tax in special cases",
"label": "Income tax in special cases",
"debt": 82.15,
"in_payment_schedule": 0,
"contested": 0
}
],
"history": [
{
"date": "2026-06-28",
"debt": 8476.69,
"in_payment_schedule": 0,
"contested": 0
},
{
"date": "2026-06-29",
"debt": 8476.69,
"in_payment_schedule": 0,
"contested": 0
}
]
},
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f"
}
}Response fields
snapshot_date, total- Date of the list and total debt (EUR); null and 0 without debt.
claims- Debt by claim type: debt, in_payment_schedule and contested amounts.
history- Daily totals for the last three months.
Tax declarations
Tax declarations that are overdue, and ones filed late. All of them, not paged.
https://api.regia.ee/companies/{registry_code}/tax-declarationsParameters
registry_codepathrequired- string·8-digit registry code (registrikood), e.g. 10421629.
langquery- string·Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.
Request
curl --request GET \
--url 'https://api.regia.ee/companies/14019531/tax-declarations?lang=en' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": {
"missing": [
{
"type": "Value added tax return",
"label": "Value added tax return",
"due_on": "2026-09-21"
}
],
"late": [
{
"type": "Value added tax return",
"label": "Value added tax return",
"due_on": "2026-08-21",
"submitted_on": "2026-08-27"
},
{
"type": "Value added tax return",
"label": "Value added tax return",
"due_on": "2026-07-20",
"submitted_on": "2026-08-27"
}
]
},
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f"
}
}Response fields
missing- Declarations not filed: type, label and due_on.
late- Declarations filed after the due date, with submitted_on.
Court cases
Court decisions naming the company, newest first.
https://api.regia.ee/companies/{registry_code}/court-casesParameters
registry_codepathrequired- string·8-digit registry code (registrikood), e.g. 10421629.
qquery- string·Only rows whose text columns contain this (names, numbers, roles).
pagequery- integer·Page number, from 1. Default 1.
limitquery- integer·Items per page, 1-100. Default 25.
langquery- string·Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.
Request
curl --request GET \
--url 'https://api.regia.ee/companies/14019531/court-cases?limit=2' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": [
{
"case_number": "2-22-4902/43",
"date": "2023-12-04",
"proceeding_type": "Kohtu I astme menetlus",
"decision_type": "Kohtuotsus Hagi õigeksvõtul põhinev otsus",
"category": "Pankrotiõigus",
"judges": "Fred Fisker",
"ecli": "ECLI:EE:HMK:2023:2.22.4902.24555",
"other_companies": 1
},
{
"case_number": "2-22-6837/7",
"date": "2022-11-17",
"proceeding_type": "Kohtu I astme menetlus",
"decision_type": "Kohtuotsus Tagaseljaotsus",
"category": "Pankrotiõigus",
"judges": "Karin Sonntak",
"ecli": "ECLI:EE:HMK:2022:2.22.6837.23374",
"other_companies": 0
}
],
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f",
"pagination": {
"page": 1,
"limit": 2,
"total": 5,
"has_more": true
}
}
}Response fields
case_number, date- Case number and decision date.
proceeding_type, decision_type, category, judges, ecli- Case details where published.
other_companies- Other companies named in the same case.
meta.pagination- page, limit, total (all matching rows) and has_more.
Payment orders
Expedited payment order procedures against the company.
https://api.regia.ee/companies/{registry_code}/payment-ordersParameters
registry_codepathrequired- string·8-digit registry code (registrikood), e.g. 10421629.
qquery- string·Only rows whose text columns contain this (names, numbers, roles).
pagequery- integer·Page number, from 1. Default 1.
limitquery- integer·Items per page, 1-100. Default 25.
langquery- string·Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.
Request
curl --request GET \
--url 'https://api.regia.ee/companies/14019531/payment-orders?limit=1' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": [
{
"case_number": "2-21-130618",
"date": "2021-12-17",
"creditor": {
"name": "Osaühing Bombono",
"registry_code": "10222919"
},
"court_department": "Pärnu Maakohtu maksekäsuosakond",
"amounts": {
"total": 2283,
"main_claim": 1331,
"additional_claim": 866,
"state_fee": 66,
"procedure_cost": 20
}
}
],
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f",
"pagination": {
"page": 1,
"limit": 1,
"total": 4,
"has_more": true
}
}
}Response fields
case_number, date, court_department- The procedure.
creditor- name and registry_code when the creditor is an Estonian company.
amounts- total, main_claim, additional_claim, state_fee and procedure_cost (EUR).
meta.pagination- page, limit, total (all matching rows) and has_more.
Enforcement proceedings
Enforcement proceedings by bailiffs against the company.
https://api.regia.ee/companies/{registry_code}/enforcementsParameters
registry_codepathrequired- string·8-digit registry code (registrikood), e.g. 10421629.
qquery- string·Only rows whose text columns contain this (names, numbers, roles).
pagequery- integer·Page number, from 1. Default 1.
limitquery- integer·Items per page, 1-100. Default 25.
langquery- string·Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.
Request
curl --request GET \
--url 'https://api.regia.ee/companies/14019531/enforcements?limit=1' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": [
{
"date": "2026-08-14",
"creditor": {
"name": "Viimsi Vallavalitsus",
"registry_code": "75021250"
},
"bailiff": "Kohtutäitur Kristiina Feinman",
"amounts": {
"total": 126.8,
"main_claim": 40,
"state_fee": 62,
"procedure_cost": 37.2
}
}
],
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f",
"pagination": {
"page": 1,
"limit": 1,
"total": 1,
"has_more": false
}
}
}Response fields
date, creditor, bailiff- The proceeding.
amounts- total, main_claim, state_fee and procedure_cost (EUR).
meta.pagination- page, limit, total (all matching rows) and has_more.
Registry rulings
Rulings of the registration department of the court on the company's entries.
https://api.regia.ee/companies/{registry_code}/rulingsParameters
registry_codepathrequired- string·8-digit registry code (registrikood), e.g. 10421629.
qquery- string·Only rows whose text columns contain this (names, numbers, roles).
pagequery- integer·Page number, from 1. Default 1.
limitquery- integer·Items per page, 1-100. Default 25.
langquery- string·Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.
Request
curl --request GET \
--url 'https://api.regia.ee/companies/10421629/rulings?limit=2' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": [
{
"number": "Ä 10016579 / 57",
"date": "2026-07-15",
"type": "Kanne",
"entry_type": "Muutmiskanne TsMS § 595¹ lg 1 alusel",
"status": "Jõustunud",
"deadline": null,
"effective_on": "2026-07-15"
},
{
"number": "Ä 10016579 / 56",
"date": "2026-06-22",
"type": "Kanne",
"entry_type": "Muutmiskanne",
"status": "Jõustunud",
"deadline": null,
"effective_on": "2026-06-22"
}
],
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f",
"pagination": {
"page": 1,
"limit": 2,
"total": 56,
"has_more": true
}
}
}Response fields
number, date, type, entry_type, status- The ruling.
deadline, effective_on- Additional deadline and entry into force.
meta.pagination- page, limit, total (all matching rows) and has_more.
Official announcements
Notices about the company in Ametlikud Teadaanded, newest first. Enforcement and payment order notices also appear, parsed, under Enforcement proceedings and Payment orders.
https://api.regia.ee/companies/{registry_code}/announcementsParameters
registry_codepathrequired- string·8-digit registry code (registrikood), e.g. 10421629.
qquery- string·Only rows whose text columns contain this (names, numbers, roles).
pagequery- integer·Page number, from 1. Default 1.
limitquery- integer·Items per page, 1-100. Default 25.
langquery- string·Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.
Request
curl --request GET \
--url 'https://api.regia.ee/companies/14019531/announcements?limit=2' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": [
{
"id": 2663097,
"date": "2026-09-01",
"subject": "Pankrotimenetluses vallasasja enampakkumise teade"
},
{
"id": 2656835,
"date": "2026-08-14",
"subject": "Täitmisteade"
}
],
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f",
"pagination": {
"page": 1,
"limit": 2,
"total": 6,
"has_more": true
}
}
}Response fields
id, date, subject- Announcement id, date and subject.
meta.pagination- page, limit, total (all matching rows) and has_more.
Consumer disputes
Decisions of the Consumer Disputes Committee.
https://api.regia.ee/companies/{registry_code}/consumer-disputesParameters
registry_codepathrequired- string·8-digit registry code (registrikood), e.g. 10421629.
qquery- string·Only rows whose text columns contain this (names, numbers, roles).
pagequery- integer·Page number, from 1. Default 1.
limitquery- integer·Items per page, 1-100. Default 25.
langquery- string·Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.
Request
curl --request GET \
--url 'https://api.regia.ee/companies/10421629/consumer-disputes?limit=1' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": [
{
"document_number": "20-1/23-10704-001",
"date": "2024-01-04",
"committee": "Esimees Kai Amos, liikmed Anastasia Nezgovorova, Kati Karussaar",
"decision": "Tarbija kahjuks"
}
],
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f",
"pagination": {
"page": 1,
"limit": 1,
"total": 5,
"has_more": true
}
}
}Response fields
document_number, date, committee, decision- The decision; decision tells whose favour it was in.
meta.pagination- page, limit, total (all matching rows) and has_more.
Assets & activity
Assets & activity
Real estate, domains, permits and payments from the state.
Base path /companies/{registry_code}
Real estate
Registered immovables the company owns; for a housing association without own property, its apartments.
https://api.regia.ee/companies/{registry_code}/propertiesParameters
registry_codepathrequired- string·8-digit registry code (registrikood), e.g. 10421629.
qquery- string·Only rows whose text columns contain this (names, numbers, roles).
pagequery- integer·Page number, from 1. Default 1.
limitquery- integer·Items per page, 1-100. Default 25.
langquery- string·Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.
Request
curl --request GET \
--url 'https://api.regia.ee/companies/10421629/properties?limit=1' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": [
{
"register_part": 27010550,
"cadastral_number": "44201:001:0756",
"type": "Kinnisasi",
"address": "Alajaama tee 4a, Lüganuse alevik, Lüganuse vald, Ida-Viru maakond",
"apartment": null,
"area": 2100,
"area_unit": "m²",
"purposes": [
{
"purpose": "Tootmismaa",
"percent": 100
}
],
"housing_association_unit": false
}
],
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f",
"pagination": {
"page": 1,
"limit": 1,
"total": 19,
"has_more": true
}
}
}Response fields
register_part, cadastral_number- Land register part and cadastral unit.
type, address, apartment- Kind of property and its address.
area, area_unit- Area of the unit.
purposes- Land use purposes with percent.
housing_association_unit- true for an apartment of a housing association.
meta.pagination- page, limit, total (all matching rows) and has_more.
Domains
Current .ee domains registered to the company.
https://api.regia.ee/companies/{registry_code}/domainsParameters
registry_codepathrequired- string·8-digit registry code (registrikood), e.g. 10421629.
qquery- string·Only rows whose text columns contain this (names, numbers, roles).
pagequery- integer·Page number, from 1. Default 1.
limitquery- integer·Items per page, 1-100. Default 25.
langquery- string·Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.
Request
curl --request GET \
--url 'https://api.regia.ee/companies/10421629/domains?limit=2' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": [
{
"domain": "liivibay.ee",
"status": "ok (paid and in zone)",
"registered_on": "2025-03-28",
"expires_on": "2027-03-29"
},
{
"domain": "energiatarkus.ee",
"status": "ok (paid and in zone)",
"registered_on": "2024-09-20",
"expires_on": "2027-09-21"
}
],
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f",
"pagination": {
"page": 1,
"limit": 2,
"total": 41,
"has_more": true
}
}
}Response fields
domain, status, registered_on, expires_on- The domain.
meta.pagination- page, limit, total (all matching rows) and has_more.
Permits
Current activity licences and notices of economic activity.
https://api.regia.ee/companies/{registry_code}/permitsParameters
registry_codepathrequired- string·8-digit registry code (registrikood), e.g. 10421629.
qquery- string·Only rows whose text columns contain this (names, numbers, roles).
pagequery- integer·Page number, from 1. Default 1.
limitquery- integer·Items per page, 1-100. Default 25.
langquery- string·Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.
Request
curl --request GET \
--url 'https://api.regia.ee/companies/10421629/permits?limit=1' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": [
{
"type": "notice",
"number": "FOT000118",
"sector": null,
"activity": "Tuleohutusteenus",
"status": "kehtiv",
"valid_from": "2023-12-01",
"valid_until": "2027-01-12",
"url": "https://tarvik.ttja.ee/teated/621476"
}
],
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f",
"pagination": {
"page": 1,
"limit": 1,
"total": 7,
"has_more": true
}
}
}Response fields
type- licence or notice.
number, sector, activity, status, valid_from, valid_until, url- The permit and its record in the register.
meta.pagination- page, limit, total (all matching rows) and has_more.
State payments
Payments between the company and state institutions, newest first.
https://api.regia.ee/companies/{registry_code}/state-paymentsParameters
registry_codepathrequired- string·8-digit registry code (registrikood), e.g. 10421629.
qquery- string·Only rows whose text columns contain this (names, numbers, roles).
pagequery- integer·Page number, from 1. Default 1.
limitquery- integer·Items per page, 1-100. Default 25.
langquery- string·Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.
Request
curl --request GET \
--url 'https://api.regia.ee/companies/10421629/state-payments?limit=1' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": [
{
"date": "2026-08-23",
"amount": 773.53,
"direction": "received",
"counterparty": {
"name": "Mittetulundusühing Lõuna-Eesti Erihooldusteenuste Keskus",
"registry_code": "80207123"
},
"account_class": "MAJANDAMISKULUD",
"activity": "Puuetega inimeste erihoolekandeteenus"
}
],
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f",
"pagination": {
"page": 1,
"limit": 1,
"total": 144056,
"has_more": true
}
}
}Response fields
date, amount, direction- Payment date, amount (EUR) and whether the company paid or received it.
counterparty- name and registry_code of the other party.
account_class, activity- State budget classification.
meta.pagination- page, limit, total (all matching rows) and has_more.
Monitoring
Monitoring
Keep your own lists of companies to monitor and receive their changes: board and owners, status, tax debt, court and enforcement, notices, reports, rating. Pushed to your webhook or polled. Needs the API plan; calls are free, each monitored company is billed per month.
Base path /monitoring
List monitoring lists
Your organisation's API monitoring lists. They are separate from the Monitoring page's list in the dashboard. An organisation can have up to 50 lists.
https://api.regia.ee/monitoring/listsRequest
curl --request GET \
--url 'https://api.regia.ee/monitoring/lists' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": [
{
"id": "lst_Q2x9aVb3KpT1mZr0",
"name": "Accounting clients",
"categories": null,
"companies": 2,
"created_at": "2026-09-29T08:00:00.000Z"
}
],
"meta": {
"request_id": "…"
}
}Response fields
id- List id (lst_…), used in the other monitoring endpoints and in events.
name- Your name for the list.
categories- Change categories the list follows; null for all (including categories added later).
companies- Companies on the list now.
Create a monitoring list
Creates an empty list. Add companies with the batch endpoint or one by one.
https://api.regia.ee/monitoring/listsBody
namebodyrequired- string·1-120 characters.
categoriesbody- string[]·Categories to follow: registry, people, tax, court, announcements, reports, rating, assets. Omit or null for all.
Request
curl --request POST \
--url 'https://api.regia.ee/monitoring/lists' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"name":"Accounting clients","categories":null}'Response
{
"success": true,
"data": {
"id": "lst_Q2x9aVb3KpT1mZr0",
"name": "Accounting clients",
"categories": null,
"companies": 0,
"created_at": "2026-09-29T08:00:00.000Z"
},
"meta": {
"request_id": "…"
}
}Response fields
data- The new list, as in List monitoring lists.
Update a monitoring list
Renames a list or changes the categories it follows. Send only what changes. GET on the same path returns one list; DELETE removes it and stops monitoring its companies.
https://api.regia.ee/monitoring/lists/{list}Parameters
listpathrequired- string·List id (lst_…).
Body
namebody- string·New name.
categoriesbody- string[]·New categories, or null for all.
Request
curl --request PATCH \
--url 'https://api.regia.ee/monitoring/lists/lst_Q2x9aVb3KpT1mZr0' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"categories":["people","tax","court"]}'Response
{
"success": true,
"data": {
"id": "lst_Q2x9aVb3KpT1mZr0",
"name": "Accounting clients",
"categories": [
"people",
"tax",
"court"
],
"companies": 2,
"created_at": "2026-09-29T08:00:00.000Z"
},
"meta": {
"request_id": "…"
}
}Response fields
data- The list after the change.
List companies on a list
Companies on a list, in the order they were added.
https://api.regia.ee/monitoring/lists/{list}/companiesParameters
listpathrequired- string·List id (lst_…).
pagequery- integer·Page number, from 1.
limitquery- integer·Items per page, 1-100. Default 100.
Request
curl --request GET \
--url 'https://api.regia.ee/monitoring/lists/lst_Q2x9aVb3KpT1mZr0/companies' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": [
{
"registry_code": "10421629",
"name": "Näide OÜ",
"status": "R",
"external_ref": "client-42",
"categories": null,
"added_at": "2026-09-29T08:01:00.000Z"
}
],
"meta": {
"request_id": "…",
"pagination": {
"page": 1,
"limit": 100,
"total": 1,
"has_more": false
}
}
}Response fields
registry_code, name, status- The company.
external_ref- Your own id for the company, echoed in every event.
categories- The company's own categories; null to follow the list.
meta.pagination- page, limit, total (all matching rows) and has_more.
Add and remove companies
Adds, updates and removes up to 2,000 companies in one request, all or nothing. With replace: true the list becomes exactly the companies in add, so you can sync your customer list in one call. Adding a company that is already on the list updates its external_ref and categories. Monitoring starts from the moment of adding: earlier history is not sent.
https://api.regia.ee/monitoring/lists/{list}/companiesParameters
listpathrequired- string·List id (lst_…).
Body
addbody- object[]·Companies to add or update: registry_code (8 digits), external_ref (optional, up to 200 characters), categories (optional).
removebody- string[]·Registry codes to remove.
replacebody- boolean·true: remove every company that is not in add. Do not send remove with it.
Request
curl --request POST \
--url 'https://api.regia.ee/monitoring/lists/lst_Q2x9aVb3KpT1mZr0/companies' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"add":[{"registry_code":"10421629","external_ref":"client-42"},{"registry_code":"12345678"}],"remove":["11223344"]}'Response
{
"success": true,
"data": {
"added": 2,
"updated": 0,
"removed": 1,
"not_found": []
},
"meta": {
"request_id": "…"
}
}Response fields
added, updated, removed- How many companies each operation changed.
not_found- Registry codes in add that are not in the business register; they were skipped.
Add one company
Adds one company, or sets its external_ref and categories if it is already on the list. The body is optional. DELETE on the same path removes the company.
https://api.regia.ee/monitoring/lists/{list}/companies/{registry_code}Parameters
listpathrequired- string·List id (lst_…).
registry_codepathrequired- string·8-digit registry code (registrikood), e.g. 10421629.
Body
external_refbody- string·Your own id for the company.
categoriesbody- string[]·The company's own categories; omit to follow the list.
Request
curl --request PUT \
--url 'https://api.regia.ee/monitoring/lists/lst_Q2x9aVb3KpT1mZr0/companies/10421629' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"external_ref":"client-42"}'Response
{
"success": true,
"data": {
"registry_code": "10421629",
"monitored": true,
"added": true,
"updated": false
},
"meta": {
"request_id": "…"
}
}Response fields
monitored- true when the company is on the list; false with reason not_found for an unknown registry code.
List changes
Changes of companies on your lists, oldest first, the same events your webhook receives. Poll with after set to the last id you processed (meta.next_after). Changes are detected twice a day. A company on several lists gives one event that names all of them.
https://api.regia.ee/monitoring/eventsParameters
afterquery- string·Return events after this id (evt_…). Omit to start from the oldest.
listquery- string·Only events of this list (lst_…).
categoryquery- string·Only these categories, comma-separated.
limitquery- integer·1-100. Default 50.
Request
curl --request GET \
--url 'https://api.regia.ee/monitoring/events?after=evt_48000' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": [
{
"id": "evt_48213",
"type": "monitoring.change",
"created_at": "2026-09-29T06:05:12.000Z",
"data": {
"company": {
"registry_code": "10421629",
"name": "Näide OÜ"
},
"lists": [
{
"id": "lst_Q2x9aVb3KpT1mZr0",
"name": "Accounting clients",
"external_ref": "client-42"
}
],
"category": "tax",
"kind": "tax_debt",
"tone": "bad",
"details": {
"old": 0,
"new": 1250.4
},
"detected_at": "2026-09-29T06:05:12.000Z"
}
}
],
"meta": {
"request_id": "…",
"next_after": "evt_48213",
"has_more": false
}
}Response fields
id, type, created_at- Event id (evt_…, increasing), monitoring.change, and when it was detected.
data.company- registry_code and name.
data.lists- Your lists the company is on: id, name, external_ref.
data.category, data.kind- Category and the kind of change, e.g. tax / tax_debt, people / person_added, court / payment_order.
data.tone- bad, good or neutral for the company.
data.details- What changed; depends on kind (often old and new).
meta.next_after, meta.has_more- Cursor for the next request, and whether more events are waiting.
Set up the webhook
Sets the HTTPS endpoint that receives every change and saved-search match as a signed POST (see the Webhooks guide). signing_secret is returned only on first setup or with rotate_secret: store it on your server. Changing the URL or secret cancels queued events; enabling starts from now without replaying older changes. GET on the same path returns the settings and the last 20 deliveries; POST /webhook/test sends a test event.
https://api.regia.ee/webhookBody
urlbodyrequired- string·Public HTTPS URL on port 443.
enabledbodyrequired- boolean·Deliver events.
rotate_secretbody- boolean·true to create a new signing secret.
Request
curl --request PUT \
--url 'https://api.regia.ee/webhook' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"url":"https://your-app.com/webhooks/regia","enabled":true}'Response
{
"success": true,
"data": {
"url": "https://your-app.com/webhooks/regia",
"enabled": true,
"updated_at": "2026-09-29T08:00:00.000Z",
"deliveries": [],
"signing_secret": "whsec_…"
},
"meta": {
"request_id": "…"
}
}Response fields
url, enabled, updated_at- The settings.
signing_secret- whsec_…, only when just created.
deliveries- Last 20: id, event_id, type, status (queued, sending, delivered, failed, cancelled), attempts, last_http_status, last_error. Failed deliveries can be retried with POST /webhook/deliveries/{id}/retry.
Saved searches
Saved searches
Save company filters, such as new construction companies in Harju or companies with tax debt in your sector, and receive the companies that start to match every morning. Pushed to your webhook or polled. Needs the API plan; calls are free.
Base path /searches
List saved searches
Your organisation's saved searches. An organisation can have up to 20.
https://api.regia.ee/searchesRequest
curl --request GET \
--url 'https://api.regia.ee/searches' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": [
{
"id": "srch_Hq3Lk8PzXw1Ab7Tc",
"name": "New builders in Harju",
"filters": {
"activity": [
"41",
"43"
],
"county": [
"Harju"
],
"registered_within_days": 30
},
"matches": 214,
"new_matches_7d": 38,
"last_run_on": "2026-09-30",
"created_at": "2026-09-29T08:00:00.000Z",
"updated_at": "2026-09-29T08:00:00.000Z"
}
],
"meta": {
"request_id": "…"
}
}Response fields
id- Search id (srch_…), used in the other search endpoints and in events.
name, filters- Your name for the search and its filters, as saved.
matches- Companies matching now.
new_matches_7d- Companies that started to match in the last 7 days.
last_run_on- The day the search was last run (Europe/Tallinn).
Create a saved search
Saves company filters. Every morning, after the data is refreshed, the search is run again and the companies that started to match are sent to your webhook as a search.matches event, or can be polled from the matches endpoint. What matches when you create the search is the starting point and is not sent. All filters must match; at least one is required, and the search may match at most 50,000 companies.
https://api.regia.ee/searchesBody
namebodyrequired- string·1-120 characters.
filtersbodyrequired- object·At least one of the filters below.
filters.statusbody- string[]·R (registered), L (in liquidation), N (in bankruptcy), D (deleted).
filters.legal_formbody- string[]·Legal forms, e.g. OÜ, AS, MTÜ.
filters.activitybody- string[]·EMTAK code prefixes of 1-5 digits, e.g. 41 for construction of buildings.
filters.countybody- string[]·Counties of the registered address, e.g. Harju, Tartu.
filters.registered_within_daysbody- integer·Registered in the last N days: new companies.
filters.employees_min, filters.employees_maxbody- number·Employees, from the latest tax data.
filters.revenue_min, filters.revenue_maxbody- number·Revenue of the last four quarters, euros.
filters.tax_debt_minbody- number·Tax debt of at least this many euros; 0 for any tax debt.
filters.missing_declarationsbody- boolean·true: has unfiled tax returns.
filters.enforcementbody- boolean·true: has enforcement proceedings or payment orders.
filters.ratingbody- string[]·Credit ratings: AAA, AA, A, BBB, BB, B, CCC, CC, C, D.
Request
curl --request POST \
--url 'https://api.regia.ee/searches' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"name":"New builders in Harju","filters":{"activity":["41","43"],"county":["Harju"],"registered_within_days":30}}'Response
{
"success": true,
"data": {
"id": "srch_Hq3Lk8PzXw1Ab7Tc",
"name": "New builders in Harju",
"filters": {
"activity": [
"41",
"43"
],
"county": [
"Harju"
],
"registered_within_days": 30
},
"matches": 214,
"new_matches_7d": 0,
"last_run_on": "2026-09-29",
"created_at": "2026-09-29T08:00:00.000Z",
"updated_at": "2026-09-29T08:00:00.000Z"
},
"meta": {
"request_id": "…"
}
}Response fields
data- The new search, as in List saved searches.
Update a saved search
Renames a search or replaces its filters. Send only what changes. New filters start from what matches now, without events. GET on the same path returns one search; DELETE removes it.
https://api.regia.ee/searches/{search}Parameters
searchpathrequired- string·Search id (srch_…).
Body
namebody- string·New name.
filtersbody- object·New filters, as when creating; they replace the old ones.
Request
curl --request PATCH \
--url 'https://api.regia.ee/searches/srch_Hq3Lk8PzXw1Ab7Tc' \
--header 'X-API-Key: YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{"filters":{"tax_debt_min":1000,"activity":["41"]}}'Response
{
"success": true,
"data": {
"id": "srch_Hq3Lk8PzXw1Ab7Tc",
"name": "New builders in Harju",
"filters": {
"tax_debt_min": 1000,
"activity": [
"41"
]
},
"matches": 1830,
"new_matches_7d": 0,
"last_run_on": "2026-09-29",
"created_at": "2026-09-29T08:00:00.000Z",
"updated_at": "2026-09-29T09:00:00.000Z"
},
"meta": {
"request_id": "…"
}
}Response fields
data- The search after the change.
List new matches
Companies that started to match the search, newest first: the same companies the search.matches events carry. Companies that stop matching drop out of the list.
https://api.regia.ee/searches/{search}/matchesParameters
searchpathrequired- string·Search id (srch_…).
sincequery- date·Only companies that started to match on or after this day, YYYY-MM-DD.
pagequery- integer·Page number, from 1.
limitquery- integer·Items per page, 1-100. Default 100.
Request
curl --request GET \
--url 'https://api.regia.ee/searches/srch_Hq3Lk8PzXw1Ab7Tc/matches?since=2026-09-30' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": [
{
"registry_code": "17012345",
"name": "Näide Ehitus OÜ",
"legal_form": {
"name": "Osaühing",
"label": "Private limited company"
},
"status": {
"code": "R",
"label": "Registered"
},
"registered_on": "2026-09-29",
"deleted_on": null,
"vat_number": null,
"address": {
"full": "Harju maakond, Tallinn, Näite tn 1",
"postal_code": "10111"
},
"url": "https://regia.ee/en/entity/17012345-naide-ehitus-ou",
"matched_at": "2026-09-30T06:10:00.000Z"
}
],
"meta": {
"request_id": "…",
"pagination": {
"page": 1,
"limit": 100,
"total": 1,
"has_more": false
}
}
}Response fields
registry_code- 8-digit registry code, as a string.
name- Registered name.
legal_form- name (Estonian, as used in filters) and label (in lang).
status- code and label: R registered, L in liquidation, N bankrupt, D deleted.
registered_on, deleted_on- Registration and deletion dates (YYYY-MM-DD).
vat_number- Current VAT number, or null when not VAT registered.
address- full legal address and postal_code.
url- The company page on regia.ee.
matched_at- When the company started to match.
meta.pagination- page, limit, total (all matching rows) and has_more.
Reference
Reference
Classifier codes, EMTAK activity codes, your usage and the OpenAPI description.
Base path /
Classifiers
Codes and labels used in responses and filters.
https://api.regia.ee/classifiers/{type}Parameters
typepathrequired- string·legal-forms, statuses, representative-roles, shareholder-roles, beneficial-owner-roles or ownership-types.
langquery- string·Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.
Request
curl --request GET \
--url 'https://api.regia.ee/classifiers/statuses?lang=en' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": [
{
"code": "R",
"label": "Registered"
},
{
"code": "D",
"label": "Deleted"
}
],
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f"
}
}Response fields
data- code (name for legal forms) and label; legal forms also count companies.
EMTAK activity codes
Top-level sections of the Estonian activity classifier, or codes and titles matching q.
https://api.regia.ee/emtakParameters
qquery- string·Code prefix or words of the title, at least 2 characters.
versionquery- integer·2025 (default) or 2008.
langquery- string·Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.
Request
curl --request GET \
--url 'https://api.regia.ee/emtak?q=programmeerimine' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": [
{
"code": "K",
"parent_code": null,
"title": "ELEKTROONILISE SIDE TEENUS, PROGRAMMEERIMINE, KONSULTATSIOONID, ANDMETÖÖTLUSTARISTU JA MUU INFOALANE TEGEVUS"
},
{
"code": "62",
"parent_code": "K",
"title": "Programmeerimine, konsultatsioonid jms tegevused"
}
],
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f",
"version": 2025
}
}Response fields
code, parent_code, title- Up to 200 codes.
meta.version- Classifier version.
Get an EMTAK code
One activity code with the path to its section and its sub-codes.
https://api.regia.ee/emtak/{code}Parameters
codepathrequired- string·EMTAK code, e.g. 62101 or K.
versionquery- integer·2025 (default) or 2008.
langquery- string·Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.
Request
curl --request GET \
--url 'https://api.regia.ee/emtak/62101?lang=en' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": {
"version": 2025,
"code": "62101",
"parent_code": "6210",
"title": "Programming",
"parents": [
{
"code": "K",
"parent_code": null,
"title": "ELECTRONIC COMMUNICATIONS SERVICES, PROGRAMMING, CONSULTANCY, DATA-INFRASTRUCTURE AND OTHER INFORMATION ACTIVITIES"
},
{
"code": "62",
"parent_code": "K",
"title": "Computer programming, consultancy and related activities"
}
],
"children": []
},
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f"
}
}Response fields
code, parent_code, title, version- The code.
parents, children- Section and groups above it, codes below it.
Usage
Requests made with your key per day and endpoint. Calls to this endpoint are not billed.
https://api.regia.ee/usageParameters
fromquery- date·First day, YYYY-MM-DD. Default: the first day of this month (Europe/Tallinn).
toquery- date·Last day. Default: today.
Request
curl --request GET \
--url 'https://api.regia.ee/usage' \
--header 'X-API-Key: YOUR_API_KEY'Response
{
"success": true,
"data": {
"key": "Example OÜ",
"requests": 0,
"errors": 0,
"billed_units": 0,
"days": []
},
"meta": {
"request_id": "9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f"
}
}Response fields
requests, errors- All requests and the failed ones.
billed_units- Billed units: successful requests, and one per query in lookups.
days- Per day and endpoint.
OpenAPI description
This reference as an OpenAPI 3.1 document, for code generators and API clients. No key needed.
https://api.regia.ee/openapi.jsonRequest
curl --request GET \
--url 'https://api.regia.ee/openapi.json'Response
{
"openapi": "3.1.0",
"info": {
"title": "Regia API",
"version": "1.0"
},
"paths": {}
}