{"openapi":"3.1.0","info":{"title":"Regia API","version":"1.0","description":"Estonian company data: registry profiles, people and ownership, annual reports, taxes, credit scores, court and enforcement records, real estate and more."},"servers":[{"url":"https://api.regia.ee"}],"security":[{"ApiKey":[]}],"tags":[{"name":"Companies","description":"Search companies, match many at once by registry code, VAT number or name, and fetch registry profiles."},{"name":"People & ownership","description":"Representatives, shareholders, beneficial owners, holdings, and the roles of a person across companies."},{"name":"Financials","description":"Annual report figures, ratios and statements, and quarterly taxes and turnover."},{"name":"Risk","description":"Credit score, tax debt, late declarations, court cases, payment orders, enforcement and official notices."},{"name":"Assets & activity","description":"Real estate, domains, permits and payments from the state."},{"name":"Monitoring","description":"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."},{"name":"Saved searches","description":"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."},{"name":"Reference","description":"Classifier codes, EMTAK activity codes, your usage and the OpenAPI description."}],"paths":{"/companies":{"get":{"operationId":"searchCompanies","summary":"Search and list companies","description":"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.","tags":["Companies"],"parameters":[{"name":"q","in":"query","required":false,"description":"Name (or part of it) or a registry code prefix of 3-8 digits.","schema":{"type":"string"}},{"name":"status","in":"query","required":false,"description":"R, L, N or D. Comma-separate or repeat for several.","schema":{"type":"string"}},{"name":"legal_form","in":"query","required":false,"description":"Legal form by name or abbreviation: Osaühing or OÜ, Aktsiaselts or AS, MTÜ, FIE, KÜ ... Several allowed.","schema":{"type":"string"}},{"name":"activity","in":"query","required":false,"description":"EMTAK code prefix of a current activity, e.g. 62 or 62101. Several allowed.","schema":{"type":"string"}},{"name":"county","in":"query","required":false,"description":"County of the legal address, e.g. Harju or Tartu. Several allowed.","schema":{"type":"string"}},{"name":"vat_number","in":"query","required":false,"description":"Current VAT number, e.g. EE100366327. Lists every company holding it: the members of a VAT group share one number. Several allowed.","schema":{"type":"string"}},{"name":"registered_from","in":"query","required":false,"description":"Registration date range, YYYY-MM-DD, both inclusive.","schema":{"type":"string","format":"date"}},{"name":"registered_to","in":"query","required":false,"description":"Registration date range, YYYY-MM-DD, both inclusive.","schema":{"type":"string","format":"date"}},{"name":"page","in":"query","required":false,"description":"Page number, from 1. Default 1.","schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"description":"Items per page, 1-100. Default 25.","schema":{"type":"integer"}},{"name":"lang","in":"query","required":false,"description":"Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.","schema":{"type":"string"}}],"responses":{"200":{"description":"registry_code: 8-digit registry code, as a string.\nname: Registered name.\nlegal_form: name (Estonian, as used in filters) and label (in lang).\nstatus: code and label: R registered, L in liquidation, N bankrupt, D deleted.\nregistered_on, deleted_on: Registration and deletion dates (YYYY-MM-DD).\nvat_number: Current VAT number, or null when not VAT registered.\naddress: full legal address and postal_code.\nurl: The company page on regia.ee.\nmatched_previous_name: With q: the previous name that matched, when the current name did not.\nmeta.pagination: page, limit, total (all matching rows) and has_more.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"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}}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/companies/lookup":{"post":{"operationId":"lookupCompanies","summary":"Look up many companies","description":"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.","tags":["Companies"],"parameters":[{"name":"lang","in":"query","required":false,"description":"Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["queries"],"properties":{"queries":{"type":"array","items":{"type":"string"},"description":"1-100 registry codes, VAT numbers or names, mixed freely."},"limit":{"type":"integer","description":"Matches per name or VAT number query, 1-10. Default 1 (the best match, or one holder of a VAT number; see vat_holders)."}}}}}},"responses":{"200":{"description":"query: The query exactly as sent (not trimmed or normalised).\ntype: How it was read: registry_code, vat_number or name.\nmatches: Company summaries, best first; empty when nothing matched.\nskipped: query_too_short when a name query had no word of 3+ characters and was not searched.\nvat_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.\nmeta.queries, meta.matched: Number of queries and of queries with at least one match.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"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}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/companies/by-vat/{vat_number}":{"get":{"operationId":"companyByVat","summary":"Get a company by VAT number","description":"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.","tags":["Companies"],"parameters":[{"name":"vat_number","in":"path","required":true,"description":"Estonian VAT number: EE100366327, ee 100366327 or 100366327.","schema":{"type":"string"}},{"name":"include","in":"query","required":false,"description":"Sections to embed, as for Get a company.","schema":{"type":"string"}},{"name":"lang","in":"query","required":false,"description":"Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.","schema":{"type":"string"}}],"responses":{"200":{"description":"data: Company profile; see Get a company.\nmeta.vat_number: The VAT number as normalised.\nmeta.vat_holders: Companies holding the number now: more than 1 is a VAT group, 0 means the registration has ended.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"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"}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/companies/{registry_code}":{"get":{"operationId":"getCompany","summary":"Get a company","description":"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.","tags":["Companies"],"parameters":[{"name":"registry_code","in":"path","required":true,"description":"8-digit registry code (registrikood), e.g. 10421629.","schema":{"type":"string"}},{"name":"include","in":"query","required":false,"description":"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.","schema":{"type":"string"}},{"name":"history","in":"query","required":false,"description":"For embedded people sections: include ended relations.","schema":{"type":"boolean"}},{"name":"lang","in":"query","required":false,"description":"Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.","schema":{"type":"string"}}],"responses":{"200":{"description":"registry_code: 8-digit registry code, as a string.\nname: Registered name.\nlegal_form: name (Estonian, as used in filters) and label (in lang).\nstatus: code and label: R registered, L in liquidation, N bankrupt, D deleted.\nregistered_on, deleted_on: Registration and deletion dates (YYYY-MM-DD).\nvat_number: Current VAT number, or null when not VAT registered.\naddress: full legal address and postal_code.\nurl: The company page on regia.ee.\nshare_capital: amount and currency.\nfinancial_year: start and end as MM-DD.\naccounting_required: Whether the company must file annual reports.\nprevious_names: Earlier registered names.\ncontacts: Current contacts: type is email, phone, mobile, website or other.\nactivities: Current EMTAK activities with code, title, emtak_version and main.\nvat_registrations: VAT registration periods, newest first; until is null while active.\neinvoice_providers: Operators the company receives e-invoices through.\nconsumer_blacklist_since: Date the consumer protection authority listed the company, or null.\nupdated_at: When the registry data last changed.\n<section>: Each included section, under its name with underscores.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"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"}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/companies/{registry_code}/representatives":{"get":{"operationId":"representatives","summary":"Representatives","description":"Board members and other people who may represent the company.","tags":["People & ownership"],"parameters":[{"name":"registry_code","in":"path","required":true,"description":"8-digit registry code (registrikood), e.g. 10421629.","schema":{"type":"string"}},{"name":"history","in":"query","required":false,"description":"true to include ended relations as well. Default false: current ones only.","schema":{"type":"boolean"}},{"name":"q","in":"query","required":false,"description":"Only rows whose text columns contain this (names, numbers, roles).","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Page number, from 1. Default 1.","schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"description":"Items per page, 1-100. Default 25.","schema":{"type":"integer"}},{"name":"lang","in":"query","required":false,"description":"Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.","schema":{"type":"string"}}],"responses":{"200":{"description":"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.\nrole: Role code and label, e.g. JUHL (board member). Codes: /classifiers/{type}.\nfrom, until: Start and end date. until is null while the role is current.\nmeta.pagination: page, limit, total (all matching rows) and has_more.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"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}}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/companies/{registry_code}/shareholders":{"get":{"operationId":"shareholders","summary":"Shareholders","description":"Owners with their stakes, largest first. Includes foreign and non-registry owners.","tags":["People & ownership"],"parameters":[{"name":"registry_code","in":"path","required":true,"description":"8-digit registry code (registrikood), e.g. 10421629.","schema":{"type":"string"}},{"name":"history","in":"query","required":false,"description":"true to include ended relations as well. Default false: current ones only.","schema":{"type":"boolean"}},{"name":"q","in":"query","required":false,"description":"Only rows whose text columns contain this (names, numbers, roles).","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Page number, from 1. Default 1.","schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"description":"Items per page, 1-100. Default 25.","schema":{"type":"integer"}},{"name":"lang","in":"query","required":false,"description":"Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.","schema":{"type":"string"}}],"responses":{"200":{"description":"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.\nrole: Role code and label, e.g. JUHL (board member). Codes: /classifiers/{type}.\nfrom, until: Start and end date. until is null while the role is current.\nshare: percent, amount, currency and ownership type (sole, joint, ...).\nmeta.pagination: page, limit, total (all matching rows) and has_more.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"success":true,"data":[{"party":{"type":"company","name":"Rahandusministeerium","registry_code":"70000272","person_id":null,"personal_code":null,"birth_date":null,"url":"https://regia.ee/en/entity/70000272-rahandusministeerium"},"role":{"code":"S","label":"Shareholder"},"share":{"percent":100,"amount":846645750,"currency":"EUR","ownership":{"code":"L","label":"Sole ownership"}},"from":"2025-07-14","until":null}],"meta":{"request_id":"9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f","pagination":{"page":1,"limit":25,"total":1,"has_more":false}}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/companies/{registry_code}/beneficial-owners":{"get":{"operationId":"beneficialOwners","summary":"Beneficial owners","description":"Ultimate beneficial owners as declared to the register, with how they exercise control.","tags":["People & ownership"],"parameters":[{"name":"registry_code","in":"path","required":true,"description":"8-digit registry code (registrikood), e.g. 10421629.","schema":{"type":"string"}},{"name":"history","in":"query","required":false,"description":"true to include ended relations as well. Default false: current ones only.","schema":{"type":"boolean"}},{"name":"q","in":"query","required":false,"description":"Only rows whose text columns contain this (names, numbers, roles).","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Page number, from 1. Default 1.","schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"description":"Items per page, 1-100. Default 25.","schema":{"type":"integer"}},{"name":"lang","in":"query","required":false,"description":"Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.","schema":{"type":"string"}}],"responses":{"200":{"description":"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.\nrole: Role code and label, e.g. JUHL (board member). Codes: /classifiers/{type}.\nfrom, until: Start and end date. until is null while the role is current.\nmeta.pagination: page, limit, total (all matching rows) and has_more.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"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}}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/companies/{registry_code}/other-parties":{"get":{"operationId":"otherParties","summary":"Other parties","description":"Other registered roles without a stake: supervisory board members, auditors, founders, liquidators and similar.","tags":["People & ownership"],"parameters":[{"name":"registry_code","in":"path","required":true,"description":"8-digit registry code (registrikood), e.g. 10421629.","schema":{"type":"string"}},{"name":"history","in":"query","required":false,"description":"true to include ended relations as well. Default false: current ones only.","schema":{"type":"boolean"}},{"name":"q","in":"query","required":false,"description":"Only rows whose text columns contain this (names, numbers, roles).","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Page number, from 1. Default 1.","schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"description":"Items per page, 1-100. Default 25.","schema":{"type":"integer"}},{"name":"lang","in":"query","required":false,"description":"Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.","schema":{"type":"string"}}],"responses":{"200":{"description":"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.\nrole: Role code and label, e.g. JUHL (board member). Codes: /classifiers/{type}.\nfrom, until: Start and end date. until is null while the role is current.\nmeta.pagination: page, limit, total (all matching rows) and has_more.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"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}}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/companies/{registry_code}/holdings":{"get":{"operationId":"holdings","summary":"Holdings","description":"Companies in which this company holds shares.","tags":["People & ownership"],"parameters":[{"name":"registry_code","in":"path","required":true,"description":"8-digit registry code (registrikood), e.g. 10421629.","schema":{"type":"string"}},{"name":"history","in":"query","required":false,"description":"true to include ended relations as well. Default false: current ones only.","schema":{"type":"boolean"}},{"name":"q","in":"query","required":false,"description":"Only rows whose text columns contain this (names, numbers, roles).","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Page number, from 1. Default 1.","schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"description":"Items per page, 1-100. Default 25.","schema":{"type":"integer"}},{"name":"lang","in":"query","required":false,"description":"Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.","schema":{"type":"string"}}],"responses":{"200":{"description":"company: registry_code, name and url of the company owned.\nrole, share, from, until: As in Shareholders.\nmeta.pagination: page, limit, total (all matching rows) and has_more.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"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}}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/persons":{"get":{"operationId":"searchPersons","summary":"Search people","description":"Find people (and foreign organisations) linked to Estonian companies by name, best matches first; at most 200 results.","tags":["People & ownership"],"parameters":[{"name":"q","in":"query","required":true,"description":"Name, at least 3 characters.","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Page number, from 1. Default 1.","schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"description":"Items per page, 1-100. Default 25.","schema":{"type":"integer"}},{"name":"lang","in":"query","required":false,"description":"Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.","schema":{"type":"string"}}],"responses":{"200":{"description":"id: Person id, for /persons/{id}.\ntype: person or organisation.\nname, personal_code, birth_date: As registered. Organisations have registry_code instead.\nactive_roles: Number of current roles in companies.\nmeta.pagination: page, limit, total (all matching rows) and has_more.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"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}}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/persons/{id}":{"get":{"operationId":"getPerson","summary":"Get a person","description":"A person and their roles in companies: representative, shareholder, beneficial owner or other.","tags":["People & ownership"],"parameters":[{"name":"id","in":"path","required":true,"description":"Person id from a search or a party.person_id.","schema":{"type":"integer"}},{"name":"history","in":"query","required":false,"description":"true to include ended relations as well. Default false: current ones only.","schema":{"type":"boolean"}},{"name":"lang","in":"query","required":false,"description":"Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.","schema":{"type":"string"}}],"responses":{"200":{"description":"id, type, name, personal_code, birth_date, url: The person.\nroles: Roles, current first (up to 1000): company, relation, role, share, from and until.\nroles_total: Number of roles; more than the roles returned only past 1000.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"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"}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/companies/{registry_code}/financials":{"get":{"operationId":"financials","summary":"Financials","description":"Key figures and ratios per report year from the annual reports, and revenue split by activity.","tags":["Financials"],"parameters":[{"name":"registry_code","in":"path","required":true,"description":"8-digit registry code (registrikood), e.g. 10421629.","schema":{"type":"string"}},{"name":"lang","in":"query","required":false,"description":"Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.","schema":{"type":"string"}}],"responses":{"200":{"description":"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.\nyears[].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.\nrevenue_by_activity: Revenue per EMTAK activity: code, title and values by year.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"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"}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/companies/{registry_code}/annual-reports":{"get":{"operationId":"annualReports","summary":"Annual reports","description":"Every annual report period: filed reports and the ones that are missing.","tags":["Financials"],"parameters":[{"name":"registry_code","in":"path","required":true,"description":"8-digit registry code (registrikood), e.g. 10421629.","schema":{"type":"string"}},{"name":"lang","in":"query","required":false,"description":"Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.","schema":{"type":"string"}}],"responses":{"200":{"description":"year, period_start, period_end: Report year and financial period.\nstatus: valid, superseded (replaced by a corrected filing), or for a missing report overdue / not_yet_due.\nsubmitted_on, due_on: Filing date; due date of a missing report.\nemployees: Employees stated in the report.\nhas_statements: Whether full statements are available from Get an annual report.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"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"}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/companies/{registry_code}/annual-reports/{year}":{"get":{"operationId":"annualReport","summary":"Get an annual report","description":"One report year: key figures, ratios and the full statements (balance sheet, income statement, cash flow) line by line.","tags":["Financials"],"parameters":[{"name":"registry_code","in":"path","required":true,"description":"8-digit registry code (registrikood), e.g. 10421629.","schema":{"type":"string"}},{"name":"year","in":"path","required":true,"description":"Report year.","schema":{"type":"integer"}},{"name":"lang","in":"query","required":false,"description":"Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.","schema":{"type":"string"}}],"responses":{"200":{"description":"figures, ratios: As in Financials.\nstatements: Statement forms with code, name and rows (name, value in EUR, total).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"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"}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/companies/{registry_code}/quarterly-taxes":{"get":{"operationId":"quarterlyTaxes","summary":"Quarterly taxes","description":"Taxes paid, turnover and employees per quarter, as published by the Tax and Customs Board. Newest first.","tags":["Financials"],"parameters":[{"name":"registry_code","in":"path","required":true,"description":"8-digit registry code (registrikood), e.g. 10421629.","schema":{"type":"string"}},{"name":"lang","in":"query","required":false,"description":"Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.","schema":{"type":"string"}}],"responses":{"200":{"description":"year, quarter: The quarter.\ntaxes, labour_taxes: State taxes paid and the part on labour (EUR).\nturnover: Taxable turnover (EUR).\nemployees: Employees at the end of the quarter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"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"}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/companies/{registry_code}/credit-score":{"get":{"operationId":"creditScore","summary":"Credit score","description":"Regia credit score from the nightly scoring model: probability of default within 12 months, rating and the factors behind it.","tags":["Risk"],"parameters":[{"name":"registry_code","in":"path","required":true,"description":"8-digit registry code (registrikood), e.g. 10421629.","schema":{"type":"string"}},{"name":"lang","in":"query","required":false,"description":"Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.","schema":{"type":"string"}}],"responses":{"200":{"description":"rated: false for companies that are not scored; reason is then bankrupt, liquidation, deleted or not_covered.\ndate, score, rating: Scoring date, score 0-100 and rating AAA-D.\nprobability_of_default: Estimated probability of default within 12 months, 0-1.\nrule: Set when a rule limits the score: in_default, inactive, thin_file or capital_breach.\ngroups: Score 0-100 per factor group, with its label.\nrisks, 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.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"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"}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/companies/{registry_code}/tax-debt":{"get":{"operationId":"taxDebt","summary":"Tax debt","description":"Tax arrears from the latest Tax and Customs Board list (ignored when older than 90 days) and the last three months by day.","tags":["Risk"],"parameters":[{"name":"registry_code","in":"path","required":true,"description":"8-digit registry code (registrikood), e.g. 10421629.","schema":{"type":"string"}},{"name":"lang","in":"query","required":false,"description":"Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.","schema":{"type":"string"}}],"responses":{"200":{"description":"snapshot_date, total: Date of the list and total debt (EUR); null and 0 without debt.\nclaims: Debt by claim type: debt, in_payment_schedule and contested amounts.\nhistory: Daily totals for the last three months.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"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"}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/companies/{registry_code}/tax-declarations":{"get":{"operationId":"taxDeclarations","summary":"Tax declarations","description":"Tax declarations that are overdue, and ones filed late. All of them, not paged.","tags":["Risk"],"parameters":[{"name":"registry_code","in":"path","required":true,"description":"8-digit registry code (registrikood), e.g. 10421629.","schema":{"type":"string"}},{"name":"lang","in":"query","required":false,"description":"Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.","schema":{"type":"string"}}],"responses":{"200":{"description":"missing: Declarations not filed: type, label and due_on.\nlate: Declarations filed after the due date, with submitted_on.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"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"}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/companies/{registry_code}/court-cases":{"get":{"operationId":"courtCases","summary":"Court cases","description":"Court decisions naming the company, newest first.","tags":["Risk"],"parameters":[{"name":"registry_code","in":"path","required":true,"description":"8-digit registry code (registrikood), e.g. 10421629.","schema":{"type":"string"}},{"name":"q","in":"query","required":false,"description":"Only rows whose text columns contain this (names, numbers, roles).","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Page number, from 1. Default 1.","schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"description":"Items per page, 1-100. Default 25.","schema":{"type":"integer"}},{"name":"lang","in":"query","required":false,"description":"Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.","schema":{"type":"string"}}],"responses":{"200":{"description":"case_number, date: Case number and decision date.\nproceeding_type, decision_type, category, judges, ecli: Case details where published.\nother_companies: Other companies named in the same case.\nmeta.pagination: page, limit, total (all matching rows) and has_more.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"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}}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/companies/{registry_code}/payment-orders":{"get":{"operationId":"paymentOrders","summary":"Payment orders","description":"Expedited payment order procedures against the company.","tags":["Risk"],"parameters":[{"name":"registry_code","in":"path","required":true,"description":"8-digit registry code (registrikood), e.g. 10421629.","schema":{"type":"string"}},{"name":"q","in":"query","required":false,"description":"Only rows whose text columns contain this (names, numbers, roles).","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Page number, from 1. Default 1.","schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"description":"Items per page, 1-100. Default 25.","schema":{"type":"integer"}},{"name":"lang","in":"query","required":false,"description":"Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.","schema":{"type":"string"}}],"responses":{"200":{"description":"case_number, date, court_department: The procedure.\ncreditor: name and registry_code when the creditor is an Estonian company.\namounts: total, main_claim, additional_claim, state_fee and procedure_cost (EUR).\nmeta.pagination: page, limit, total (all matching rows) and has_more.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"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}}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/companies/{registry_code}/enforcements":{"get":{"operationId":"enforcements","summary":"Enforcement proceedings","description":"Enforcement proceedings by bailiffs against the company.","tags":["Risk"],"parameters":[{"name":"registry_code","in":"path","required":true,"description":"8-digit registry code (registrikood), e.g. 10421629.","schema":{"type":"string"}},{"name":"q","in":"query","required":false,"description":"Only rows whose text columns contain this (names, numbers, roles).","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Page number, from 1. Default 1.","schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"description":"Items per page, 1-100. Default 25.","schema":{"type":"integer"}},{"name":"lang","in":"query","required":false,"description":"Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.","schema":{"type":"string"}}],"responses":{"200":{"description":"date, creditor, bailiff: The proceeding.\namounts: total, main_claim, state_fee and procedure_cost (EUR).\nmeta.pagination: page, limit, total (all matching rows) and has_more.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"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}}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/companies/{registry_code}/rulings":{"get":{"operationId":"rulings","summary":"Registry rulings","description":"Rulings of the registration department of the court on the company's entries.","tags":["Risk"],"parameters":[{"name":"registry_code","in":"path","required":true,"description":"8-digit registry code (registrikood), e.g. 10421629.","schema":{"type":"string"}},{"name":"q","in":"query","required":false,"description":"Only rows whose text columns contain this (names, numbers, roles).","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Page number, from 1. Default 1.","schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"description":"Items per page, 1-100. Default 25.","schema":{"type":"integer"}},{"name":"lang","in":"query","required":false,"description":"Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.","schema":{"type":"string"}}],"responses":{"200":{"description":"number, date, type, entry_type, status: The ruling.\ndeadline, effective_on: Additional deadline and entry into force.\nmeta.pagination: page, limit, total (all matching rows) and has_more.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"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}}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/companies/{registry_code}/announcements":{"get":{"operationId":"announcements","summary":"Official announcements","description":"Notices about the company in Ametlikud Teadaanded, newest first. Enforcement and payment order notices also appear, parsed, under Enforcement proceedings and Payment orders.","tags":["Risk"],"parameters":[{"name":"registry_code","in":"path","required":true,"description":"8-digit registry code (registrikood), e.g. 10421629.","schema":{"type":"string"}},{"name":"q","in":"query","required":false,"description":"Only rows whose text columns contain this (names, numbers, roles).","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Page number, from 1. Default 1.","schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"description":"Items per page, 1-100. Default 25.","schema":{"type":"integer"}},{"name":"lang","in":"query","required":false,"description":"Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.","schema":{"type":"string"}}],"responses":{"200":{"description":"id, date, subject: Announcement id, date and subject.\nmeta.pagination: page, limit, total (all matching rows) and has_more.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"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}}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/companies/{registry_code}/consumer-disputes":{"get":{"operationId":"consumerDisputes","summary":"Consumer disputes","description":"Decisions of the Consumer Disputes Committee.","tags":["Risk"],"parameters":[{"name":"registry_code","in":"path","required":true,"description":"8-digit registry code (registrikood), e.g. 10421629.","schema":{"type":"string"}},{"name":"q","in":"query","required":false,"description":"Only rows whose text columns contain this (names, numbers, roles).","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Page number, from 1. Default 1.","schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"description":"Items per page, 1-100. Default 25.","schema":{"type":"integer"}},{"name":"lang","in":"query","required":false,"description":"Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.","schema":{"type":"string"}}],"responses":{"200":{"description":"document_number, date, committee, decision: The decision; decision tells whose favour it was in.\nmeta.pagination: page, limit, total (all matching rows) and has_more.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"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}}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/companies/{registry_code}/properties":{"get":{"operationId":"properties","summary":"Real estate","description":"Registered immovables the company owns; for a housing association without own property, its apartments.","tags":["Assets & activity"],"parameters":[{"name":"registry_code","in":"path","required":true,"description":"8-digit registry code (registrikood), e.g. 10421629.","schema":{"type":"string"}},{"name":"q","in":"query","required":false,"description":"Only rows whose text columns contain this (names, numbers, roles).","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Page number, from 1. Default 1.","schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"description":"Items per page, 1-100. Default 25.","schema":{"type":"integer"}},{"name":"lang","in":"query","required":false,"description":"Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.","schema":{"type":"string"}}],"responses":{"200":{"description":"register_part, cadastral_number: Land register part and cadastral unit.\ntype, address, apartment: Kind of property and its address.\narea, area_unit: Area of the unit.\npurposes: Land use purposes with percent.\nhousing_association_unit: true for an apartment of a housing association.\nmeta.pagination: page, limit, total (all matching rows) and has_more.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"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}}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/companies/{registry_code}/domains":{"get":{"operationId":"domains","summary":"Domains","description":"Current .ee domains registered to the company.","tags":["Assets & activity"],"parameters":[{"name":"registry_code","in":"path","required":true,"description":"8-digit registry code (registrikood), e.g. 10421629.","schema":{"type":"string"}},{"name":"q","in":"query","required":false,"description":"Only rows whose text columns contain this (names, numbers, roles).","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Page number, from 1. Default 1.","schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"description":"Items per page, 1-100. Default 25.","schema":{"type":"integer"}},{"name":"lang","in":"query","required":false,"description":"Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.","schema":{"type":"string"}}],"responses":{"200":{"description":"domain, status, registered_on, expires_on: The domain.\nmeta.pagination: page, limit, total (all matching rows) and has_more.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"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}}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/companies/{registry_code}/permits":{"get":{"operationId":"permits","summary":"Permits","description":"Current activity licences and notices of economic activity.","tags":["Assets & activity"],"parameters":[{"name":"registry_code","in":"path","required":true,"description":"8-digit registry code (registrikood), e.g. 10421629.","schema":{"type":"string"}},{"name":"q","in":"query","required":false,"description":"Only rows whose text columns contain this (names, numbers, roles).","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Page number, from 1. Default 1.","schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"description":"Items per page, 1-100. Default 25.","schema":{"type":"integer"}},{"name":"lang","in":"query","required":false,"description":"Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.","schema":{"type":"string"}}],"responses":{"200":{"description":"type: licence or notice.\nnumber, sector, activity, status, valid_from, valid_until, url: The permit and its record in the register.\nmeta.pagination: page, limit, total (all matching rows) and has_more.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"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}}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/companies/{registry_code}/state-payments":{"get":{"operationId":"statePayments","summary":"State payments","description":"Payments between the company and state institutions, newest first.","tags":["Assets & activity"],"parameters":[{"name":"registry_code","in":"path","required":true,"description":"8-digit registry code (registrikood), e.g. 10421629.","schema":{"type":"string"}},{"name":"q","in":"query","required":false,"description":"Only rows whose text columns contain this (names, numbers, roles).","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Page number, from 1. Default 1.","schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"description":"Items per page, 1-100. Default 25.","schema":{"type":"integer"}},{"name":"lang","in":"query","required":false,"description":"Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.","schema":{"type":"string"}}],"responses":{"200":{"description":"date, amount, direction: Payment date, amount (EUR) and whether the company paid or received it.\ncounterparty: name and registry_code of the other party.\naccount_class, activity: State budget classification.\nmeta.pagination: page, limit, total (all matching rows) and has_more.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"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}}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/monitoring/lists":{"get":{"operationId":"monitoringLists","summary":"List monitoring lists","description":"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.","tags":["Monitoring"],"parameters":[],"responses":{"200":{"description":"id: List id (lst_…), used in the other monitoring endpoints and in events.\nname: Your name for the list.\ncategories: Change categories the list follows; null for all (including categories added later).\ncompanies: Companies on the list now.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"monitoringCreateList","summary":"Create a monitoring list","description":"Creates an empty list. Add companies with the batch endpoint or one by one.","tags":["Monitoring"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name"],"properties":{"name":{"type":"string","description":"1-120 characters."},"categories":{"type":"array","items":{"type":"string"},"description":"Categories to follow: registry, people, tax, court, announcements, reports, rating, assets. Omit or null for all."}}}}}},"responses":{"200":{"description":"data: The new list, as in List monitoring lists.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/monitoring/lists/{list}":{"patch":{"operationId":"monitoringUpdateList","summary":"Update a monitoring list","description":"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.","tags":["Monitoring"],"parameters":[{"name":"list","in":"path","required":true,"description":"List id (lst_…).","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"name":{"type":"string","description":"New name."},"categories":{"type":"array","items":{"type":"string"},"description":"New categories, or null for all."}}}}}},"responses":{"200":{"description":"data: The list after the change.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/monitoring/lists/{list}/companies":{"get":{"operationId":"monitoringListCompanies","summary":"List companies on a list","description":"Companies on a list, in the order they were added.","tags":["Monitoring"],"parameters":[{"name":"list","in":"path","required":true,"description":"List id (lst_…).","schema":{"type":"string"}},{"name":"page","in":"query","required":false,"description":"Page number, from 1.","schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"description":"Items per page, 1-100. Default 100.","schema":{"type":"integer"}}],"responses":{"200":{"description":"registry_code, name, status: The company.\nexternal_ref: Your own id for the company, echoed in every event.\ncategories: The company's own categories; null to follow the list.\nmeta.pagination: page, limit, total (all matching rows) and has_more.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"monitoringChangeCompanies","summary":"Add and remove companies","description":"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.","tags":["Monitoring"],"parameters":[{"name":"list","in":"path","required":true,"description":"List id (lst_…).","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"add":{"type":"array","items":{"type":"object"},"description":"Companies to add or update: registry_code (8 digits), external_ref (optional, up to 200 characters), categories (optional)."},"remove":{"type":"array","items":{"type":"string"},"description":"Registry codes to remove."},"replace":{"type":"boolean","description":"true: remove every company that is not in add. Do not send remove with it."}}}}}},"responses":{"200":{"description":"added, updated, removed: How many companies each operation changed.\nnot_found: Registry codes in add that are not in the business register; they were skipped.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/monitoring/lists/{list}/companies/{registry_code}":{"put":{"operationId":"monitoringPutCompany","summary":"Add one company","description":"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.","tags":["Monitoring"],"parameters":[{"name":"list","in":"path","required":true,"description":"List id (lst_…).","schema":{"type":"string"}},{"name":"registry_code","in":"path","required":true,"description":"8-digit registry code (registrikood), e.g. 10421629.","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"external_ref":{"type":"string","description":"Your own id for the company."},"categories":{"type":"array","items":{"type":"string"},"description":"The company's own categories; omit to follow the list."}}}}}},"responses":{"200":{"description":"monitored: true when the company is on the list; false with reason not_found for an unknown registry code.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/monitoring/events":{"get":{"operationId":"monitoringEvents","summary":"List changes","description":"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.","tags":["Monitoring"],"parameters":[{"name":"after","in":"query","required":false,"description":"Return events after this id (evt_…). Omit to start from the oldest.","schema":{"type":"string"}},{"name":"list","in":"query","required":false,"description":"Only events of this list (lst_…).","schema":{"type":"string"}},{"name":"category","in":"query","required":false,"description":"Only these categories, comma-separated.","schema":{"type":"string"}},{"name":"limit","in":"query","required":false,"description":"1-100. Default 50.","schema":{"type":"integer"}}],"responses":{"200":{"description":"id, type, created_at: Event id (evt_…, increasing), monitoring.change, and when it was detected.\ndata.company: registry_code and name.\ndata.lists: Your lists the company is on: id, name, external_ref.\ndata.category, data.kind: Category and the kind of change, e.g. tax / tax_debt, people / person_added, court / payment_order.\ndata.tone: bad, good or neutral for the company.\ndata.details: What changed; depends on kind (often old and new).\nmeta.next_after, meta.has_more: Cursor for the next request, and whether more events are waiting.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/webhook":{"put":{"operationId":"webhookSettings","summary":"Set up the webhook","description":"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.","tags":["Monitoring"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["url","enabled"],"properties":{"url":{"type":"string","description":"Public HTTPS URL on port 443."},"enabled":{"type":"boolean","description":"Deliver events."},"rotate_secret":{"type":"boolean","description":"true to create a new signing secret."}}}}}},"responses":{"200":{"description":"url, enabled, updated_at: The settings.\nsigning_secret: whsec_…, only when just created.\ndeliveries: 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.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/searches":{"get":{"operationId":"searchesList","summary":"List saved searches","description":"Your organisation's saved searches. An organisation can have up to 20.","tags":["Saved searches"],"parameters":[],"responses":{"200":{"description":"id: Search id (srch_…), used in the other search endpoints and in events.\nname, filters: Your name for the search and its filters, as saved.\nmatches: Companies matching now.\nnew_matches_7d: Companies that started to match in the last 7 days.\nlast_run_on: The day the search was last run (Europe/Tallinn).","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}},"post":{"operationId":"searchesCreate","summary":"Create a saved search","description":"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.","tags":["Saved searches"],"parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":["name","filters"],"properties":{"name":{"type":"string","description":"1-120 characters."},"filters":{"type":"string","description":"At least one of the filters below."},"filters.status":{"type":"array","items":{"type":"string"},"description":"R (registered), L (in liquidation), N (in bankruptcy), D (deleted)."},"filters.legal_form":{"type":"array","items":{"type":"string"},"description":"Legal forms, e.g. OÜ, AS, MTÜ."},"filters.activity":{"type":"array","items":{"type":"string"},"description":"EMTAK code prefixes of 1-5 digits, e.g. 41 for construction of buildings."},"filters.county":{"type":"array","items":{"type":"string"},"description":"Counties of the registered address, e.g. Harju, Tartu."},"filters.registered_within_days":{"type":"integer","description":"Registered in the last N days: new companies."},"filters.employees_min":{"type":"string","description":"Employees, from the latest tax data."},"filters.employees_max":{"type":"string","description":"Employees, from the latest tax data."},"filters.revenue_min":{"type":"string","description":"Revenue of the last four quarters, euros."},"filters.revenue_max":{"type":"string","description":"Revenue of the last four quarters, euros."},"filters.tax_debt_min":{"type":"string","description":"Tax debt of at least this many euros; 0 for any tax debt."},"filters.missing_declarations":{"type":"boolean","description":"true: has unfiled tax returns."},"filters.enforcement":{"type":"boolean","description":"true: has enforcement proceedings or payment orders."},"filters.rating":{"type":"array","items":{"type":"string"},"description":"Credit ratings: AAA, AA, A, BBB, BB, B, CCC, CC, C, D."}}}}}},"responses":{"200":{"description":"data: The new search, as in List saved searches.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/searches/{search}":{"patch":{"operationId":"searchesUpdate","summary":"Update a saved search","description":"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.","tags":["Saved searches"],"parameters":[{"name":"search","in":"path","required":true,"description":"Search id (srch_…).","schema":{"type":"string"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","required":[],"properties":{"name":{"type":"string","description":"New name."},"filters":{"type":"string","description":"New filters, as when creating; they replace the old ones."}}}}}},"responses":{"200":{"description":"data: The search after the change.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/searches/{search}/matches":{"get":{"operationId":"searchesMatches","summary":"List new matches","description":"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.","tags":["Saved searches"],"parameters":[{"name":"search","in":"path","required":true,"description":"Search id (srch_…).","schema":{"type":"string"}},{"name":"since","in":"query","required":false,"description":"Only companies that started to match on or after this day, YYYY-MM-DD.","schema":{"type":"string","format":"date"}},{"name":"page","in":"query","required":false,"description":"Page number, from 1.","schema":{"type":"integer"}},{"name":"limit","in":"query","required":false,"description":"Items per page, 1-100. Default 100.","schema":{"type":"integer"}}],"responses":{"200":{"description":"registry_code: 8-digit registry code, as a string.\nname: Registered name.\nlegal_form: name (Estonian, as used in filters) and label (in lang).\nstatus: code and label: R registered, L in liquidation, N bankrupt, D deleted.\nregistered_on, deleted_on: Registration and deletion dates (YYYY-MM-DD).\nvat_number: Current VAT number, or null when not VAT registered.\naddress: full legal address and postal_code.\nurl: The company page on regia.ee.\nmatched_at: When the company started to match.\nmeta.pagination: page, limit, total (all matching rows) and has_more.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/classifiers/{type}":{"get":{"operationId":"classifiers","summary":"Classifiers","description":"Codes and labels used in responses and filters.","tags":["Reference"],"parameters":[{"name":"type","in":"path","required":true,"description":"legal-forms, statuses, representative-roles, shareholder-roles, beneficial-owner-roles or ownership-types.","schema":{"type":"string"}},{"name":"lang","in":"query","required":false,"description":"Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.","schema":{"type":"string"}}],"responses":{"200":{"description":"data: code (name for legal forms) and label; legal forms also count companies.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"success":true,"data":[{"code":"R","label":"Registered"},{"code":"D","label":"Deleted"}],"meta":{"request_id":"9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f"}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/emtak":{"get":{"operationId":"searchEmtak","summary":"EMTAK activity codes","description":"Top-level sections of the Estonian activity classifier, or codes and titles matching q.","tags":["Reference"],"parameters":[{"name":"q","in":"query","required":false,"description":"Code prefix or words of the title, at least 2 characters.","schema":{"type":"string"}},{"name":"version","in":"query","required":false,"description":"2025 (default) or 2008.","schema":{"type":"integer"}},{"name":"lang","in":"query","required":false,"description":"Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.","schema":{"type":"string"}}],"responses":{"200":{"description":"code, parent_code, title: Up to 200 codes.\nmeta.version: Classifier version.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"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}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/emtak/{code}":{"get":{"operationId":"getEmtak","summary":"Get an EMTAK code","description":"One activity code with the path to its section and its sub-codes.","tags":["Reference"],"parameters":[{"name":"code","in":"path","required":true,"description":"EMTAK code, e.g. 62101 or K.","schema":{"type":"string"}},{"name":"version","in":"query","required":false,"description":"2025 (default) or 2008.","schema":{"type":"integer"}},{"name":"lang","in":"query","required":false,"description":"Language of labels and classifier values: et (default), en or ru. Names and free text stay as registered.","schema":{"type":"string"}}],"responses":{"200":{"description":"code, parent_code, title, version: The code.\nparents, children: Section and groups above it, codes below it.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"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"}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/usage":{"get":{"operationId":"usage","summary":"Usage","description":"Requests made with your key per day and endpoint. Calls to this endpoint are not billed.","tags":["Reference"],"parameters":[{"name":"from","in":"query","required":false,"description":"First day, YYYY-MM-DD. Default: the first day of this month (Europe/Tallinn).","schema":{"type":"string","format":"date"}},{"name":"to","in":"query","required":false,"description":"Last day. Default: today.","schema":{"type":"string","format":"date"}}],"responses":{"200":{"description":"requests, errors: All requests and the failed ones.\nbilled_units: Billed units: successful requests, and one per query in lookups.\ndays: Per day and endpoint.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"},"example":{"success":true,"data":{"key":"Example OÜ","requests":0,"errors":0,"billed_units":0,"days":[]},"meta":{"request_id":"9d2f6c1e-5b7a-4e0c-8f3d-2a1b0c9e8d7f"}}}}},"400":{"description":"Invalid parameter.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"401":{"description":"Missing or invalid API key.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"404":{"description":"Not found.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded; retry after the Retry-After seconds.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}}}},"/openapi.json":{"get":{"operationId":"openapi","summary":"OpenAPI description","description":"This reference as an OpenAPI 3.1 document, for code generators and API clients. No key needed.","tags":["Reference"],"security":[],"parameters":[],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Success"}}}}}}}},"components":{"securitySchemes":{"ApiKey":{"type":"apiKey","in":"header","name":"X-API-Key"}},"schemas":{"Success":{"type":"object","required":["success","data","meta"],"properties":{"success":{"const":true},"data":{},"meta":{"type":"object","required":["request_id"],"additionalProperties":true,"properties":{"request_id":{"type":"string"},"pagination":{"type":"object","properties":{"page":{"type":"integer"},"limit":{"type":"integer"},"total":{"type":"integer"},"has_more":{"type":"boolean"}}}}}}},"Error":{"type":"object","required":["success","error"],"properties":{"success":{"const":false},"error":{"type":"object","required":["code","message"],"properties":{"code":{"type":"string"},"message":{"type":"string"},"details":{"type":"object"}}},"meta":{"type":"object","properties":{"request_id":{"type":"string"}}}}}}}}