{"openapi":"3.1.0","info":{"title":"Regmio Business API","version":"1.0.0","description":"Company data from official Latvian, Estonian and Lithuanian registers: search, full company profile, VAT (VIES) check, watchlist and change feed. Available with the Regmio Business plan. Docs: https://regmio.eu/en/api/docs","contact":{"name":"Regmio","email":"hello@regmio.eu","url":"https://regmio.eu/en/api"},"termsOfService":"https://regmio.eu/en/terms"},"servers":[{"url":"https://api.regmio.eu/v1"}],"security":[{"bearer":[]}],"tags":[{"name":"Account"},{"name":"Companies"},{"name":"Watchlist"}],"paths":{"/me":{"get":{"tags":["Account"],"summary":"Account and limits","description":"Plan validity, daily profile limit and usage, watchlist size, rate limit.","parameters":[{"name":"lang","in":"query","required":false,"description":"Language of texts (status labels, change titles, error messages). Default: en.","schema":{"type":"string","enum":["en","lv","ru","et","lt","fi"],"default":"en"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Object"}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}}}},"/search":{"get":{"tags":["Companies"],"summary":"Search companies","description":"Search by name, registration number or VAT number across LV, EE and LT. Does not count towards the profile limit. Returns up to ~20 best matches.","parameters":[{"name":"q","in":"query","required":true,"schema":{"type":"string","minLength":2,"maxLength":120},"example":"Latvenergo"},{"name":"country","in":"query","required":false,"description":"Country hint when a number could belong to several registers.","schema":{"type":"string","enum":["LV","EE","LT"]}},{"name":"lang","in":"query","required":false,"description":"Language of texts (status labels, change titles, error messages). Default: en.","schema":{"type":"string","enum":["en","lv","ru","et","lt","fi"],"default":"en"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/SearchResponse"}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"422":{"$ref":"#/components/responses/Error"}}}},"/companies/{id}":{"get":{"tags":["Companies"],"summary":"Company profile","description":"Full profile: status, basic data, officers, shareholders, beneficial owners, financials, tax data, insolvency, sanctions and PEP screening, risk index, timeline of changes. Each distinct company per day counts as one profile view (daily safety limit, see /me).","parameters":[{"name":"id","in":"path","required":true,"description":"Registration number: LV 11 digits, EE 8 digits, LT 9 digits.","schema":{"type":"string","pattern":"^[0-9]{8,11}$"},"example":"40003032949"},{"name":"country","in":"query","required":false,"description":"Country hint when a number could belong to several registers.","schema":{"type":"string","enum":["LV","EE","LT"]}},{"name":"lang","in":"query","required":false,"description":"Language of texts (status labels, change titles, error messages). Default: en.","schema":{"type":"string","enum":["en","lv","ru","et","lt","fi"],"default":"en"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/CompanyResponse"}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"},"422":{"$ref":"#/components/responses/Error"},"503":{"$ref":"#/components/responses/Error"}}}},"/companies/{id}/vat":{"get":{"tags":["Companies"],"summary":"VAT check (VIES)","description":"Real-time check of the company's VAT number in the European Commission VIES system.","parameters":[{"name":"id","in":"path","required":true,"description":"Registration number: LV 11 digits, EE 8 digits, LT 9 digits.","schema":{"type":"string","pattern":"^[0-9]{8,11}$"},"example":"40003032949"},{"name":"country","in":"query","required":false,"description":"Country hint when a number could belong to several registers.","schema":{"type":"string","enum":["LV","EE","LT"]}},{"name":"lang","in":"query","required":false,"description":"Language of texts (status labels, change titles, error messages). Default: en.","schema":{"type":"string","enum":["en","lv","ru","et","lt","fi"],"default":"en"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/VatResponse"}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}}},"/watchlist":{"get":{"tags":["Watchlist"],"summary":"List watched companies","description":"Companies on your watchlist with the date of the last detected change.","parameters":[{"name":"lang","in":"query","required":false,"description":"Language of texts (status labels, change titles, error messages). Default: en.","schema":{"type":"string","enum":["en","lv","ru","et","lt","fi"],"default":"en"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchlistResponse"}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"}}},"post":{"tags":["Watchlist"],"summary":"Add to watchlist","description":"Add one company ({\"id\": \"...\"}) or up to 300 at once ({\"ids\": [...]}). Changes are checked every morning; e-mail notifications follow your account settings.","parameters":[{"name":"lang","in":"query","required":false,"description":"Language of texts (status labels, change titles, error messages). Default: en.","schema":{"type":"string","enum":["en","lv","ru","et","lt","fi"],"default":"en"}}],"responses":{"201":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchAddResponse"}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"200":{"description":"Nothing new added (already watched, not found or over limit)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/WatchAddResponse"}}}},"422":{"description":"Validation error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ValidationError"}}}}},"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object","properties":{"id":{"type":"string","example":"40003032949"},"ids":{"type":"array","maxItems":300,"items":{"type":"string"}},"country":{"type":"string","enum":["LV","EE","LT"]}}}}}}}},"/watchlist/{country}/{id}":{"delete":{"tags":["Watchlist"],"summary":"Remove from watchlist","description":"Stop watching a company.","parameters":[{"name":"country","in":"path","required":true,"schema":{"type":"string","enum":["LV","EE","LT"]}},{"name":"id","in":"path","required":true,"description":"Registration number: LV 11 digits, EE 8 digits, LT 9 digits.","schema":{"type":"string","pattern":"^[0-9]{8,11}$"},"example":"40003032949"}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Object"}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"404":{"$ref":"#/components/responses/Error"}}}},"/changes":{"get":{"tags":["Watchlist"],"summary":"Change feed","description":"Changes detected in watched companies, newest first. Poll with ?since= set to the detected_at of the newest change you already have.","parameters":[{"name":"since","in":"query","required":false,"description":"ISO 8601 date-time; return only newer changes.","schema":{"type":"string","format":"date-time"},"example":"2026-11-01T00:00:00Z"},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":500,"default":100}},{"name":"lang","in":"query","required":false,"description":"Language of texts (status labels, change titles, error messages). Default: en.","schema":{"type":"string","enum":["en","lv","ru","et","lt","fi"],"default":"en"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"$ref":"#/components/schemas/ChangesResponse"}}}},"401":{"$ref":"#/components/responses/Error"},"403":{"$ref":"#/components/responses/Error"},"429":{"$ref":"#/components/responses/Error"},"422":{"$ref":"#/components/responses/Error"}}}}},"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"API key from Regmio → Account → API keys (format rg_live_…). Header X-Api-Key is also accepted."}},"responses":{"Error":{"description":"Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}},"headers":{"Retry-After":{"description":"Seconds to wait (429 only)","schema":{"type":"integer"}}}}},"schemas":{"Object":{"type":"object","properties":{"data":{"type":"object"}}},"Error":{"type":"object","properties":{"error":{"type":"object","properties":{"code":{"type":"string","enum":["unauthorized","business_required","rate_limited","daily_limit","invalid_query","invalid_id","invalid_since","not_found","unavailable"]},"message":{"type":"string"}}}}},"ValidationError":{"type":"object","properties":{"message":{"type":"string"},"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}}}}},"SearchItem":{"type":"object","properties":{"country":{"type":"string"},"regcode":{"type":"string"},"name":{"type":"string"},"type":{"type":["string","null"]},"address":{"type":["string","null"]},"registered":{"type":["string","null"],"format":"date"},"status":{"type":"string","enum":["active","closed","warn"],"description":"active — registered; closed — liquidated, reorganised or terminated; warn — e.g. liquidation or insolvency in progress"},"status_label":{"type":"string"}}},"SearchResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/SearchItem"}},"count":{"type":"integer"}}},"CompanyResponse":{"type":"object","properties":{"data":{"type":"object","description":"Full profile. Main keys: country, regcode, name, status{code,label}, basic{type,register,registered,terminated,address,vat_number,nace,activity,equity}, officers[], members[], stockholders[], beneficial_owners[], holdings[], financials[] (by year: turnover, net_income, total_assets, equity, employees …), tax{rating,vat,vat_active,…}, insolvency[], liquidations[], sanctions[], risk{score,level,flags[]}, timeline[], sources, checked_at. Lists may be empty where the register does not publish the data.","additionalProperties":true}}},"VatResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"country":{"type":"string"},"regcode":{"type":"string"},"vat_number":{"type":["string","null"]},"valid":{"type":"boolean"},"name":{"type":["string","null"]},"address":{"type":["string","null"]},"service_available":{"type":"boolean"},"checked_at":{"type":"string","format":"date-time"}}}}},"WatchItem":{"type":"object","properties":{"country":{"type":"string"},"regcode":{"type":"string"},"name":{"type":"string"},"watching_since":{"type":"string","format":"date-time"},"last_change":{"type":["string","null"],"format":"date-time"}}},"WatchlistResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/WatchItem"}},"count":{"type":"integer"},"limit":{"type":"integer"}}},"WatchAddResponse":{"type":"object","properties":{"data":{"type":"object","properties":{"added":{"type":"array","items":{"type":"string"}},"already":{"type":"array","items":{"type":"string"}},"not_found":{"type":"array","items":{"type":"string"}},"over_limit":{"type":"array","items":{"type":"string"}}}}}},"Change":{"type":"object","properties":{"country":{"type":"string"},"regcode":{"type":"string"},"name":{"type":"string"},"kind":{"type":"string","enum":["name","status","address","officer_added","officer_removed","owner_added","owner_removed","risk","flag_added","flag_removed","vat_on","vat_off","debt","report","removed"],"description":"Machine-readable change type"},"title":{"type":"string"},"detail":{"type":["string","null"]},"level":{"type":"string","enum":["high","medium","info","ok"]},"detected_at":{"type":"string","format":"date-time"}}},"ChangesResponse":{"type":"object","properties":{"data":{"type":"array","items":{"$ref":"#/components/schemas/Change"}},"count":{"type":"integer"}}}}}}