Changelog
What changed in /v1, newest first. Breaking changes link to the migration guide.
/v1 changes in place. A breaking change is marked breaking, and the
migration guide has every one of them, old next to new. An old name that
keeps working for a while says so on every response with Deprecation and Sunset headers.
October 2026: one model
Breaking. /v1 uses one word for each thing the register holds, the same in every path,
field, id and page of these docs. The glossary lists the words; the
migration guide lists every change.
- Ids say what they name:
cmp_…for a company,per_…for a person, and so on for every kind. A raw UUID is still accepted until 31 December 2026. An id of the wrong kind answers400 validation_failedinstead of404. - The workspace id on
GET /accountis awsp_…id derived one way from the app's id (org_personal_…), which it was before: it no longer matches anything the app shows. No request takes a workspace id. - One page envelope for every list and search:
{object: "page", data, next_cursor}, paged withcursor.starting_after,ending_before,page,has_moreandnext_pageare gone. - One reference shape for a company or person:
party,{object, id, name}. - Roles:
/companies/{company_id}/rolesand/persons/{person_id}/rolesreplace/companies/{id}/officersand/persons/{id}/positions, with oneroleobject. Every list that narrows by role takesrole_type; the role's own field istype. - Holdings of a person:
/persons/{person_id}/holdings, the person's shareholdings. - Ownership tree:
/companies/{company_id}/ownership-treereplacesdepthon/shareholders. A shareholding names itsholder(wasowner), and a page of shareholders carriesextract(wasavailability). - Events:
/eventswithobject: "event", asubject,datashaped by the event type, and the register entry it was read from assource. Its previous path,/company-events, keeps answering until 31 December 2026. - Monitoring:
/destinations(was/notification-endpoints, withaddressfor the address),/deliveries,/event-typesand/event-groups(was/monitor-event-types)./alertsis gone: read what a monitor matched at/events?monitor_id=(free), and what was sent at/deliveries. A webhook body is adeliveryholding its events. A destination has acadence: instant, or a daily, weekly or monthly digest at 07:00 Europe/Berlin, and can be a Slack channel. - Role events:
company.officer.appointed,.changedand.removedarecompany.role.added,company.role.changedandcompany.role.removed. - Lists:
/listswithlistandlist_item(was/collections). - Search answers
summaryobjects with atype(companyorperson);citymoved toaddress.city, so a summary is a strict subset of its full record. - The filter's role criteria are named
roles(wereofficers), and a condition's role type isrole_type(wasrole).namematches a person's first, last or full name as well as a company holder's name, andfirst_nameandlast_namematch one of a person's names. - Errors: a field that fails validation is always
400 validation_failedwitherrors[];invalid_requestis left for a body that cannot be parsed. Renamed paths answer410 endpoint_retirednaming the replacement. - Credits:
Registercheck-Credits-Chargedis on every response to a call made with a key. Prices did not change. nameis the search term onGET /formationsandGET /eventstoo;qkeeps working on/formationsuntil 31 December 2026.- The reference is grouped by the first segment of the path, and lists only what is served. What is planned and not served is on the roadmap.
October 2026: before the one-model release
- Search takes
name.GET /search/companies,/search/personsand/search/suggestionsread the search term fromname.qkeeps working until 31 December 2026. GET /eventslists register events across all companies, andGET /events/{event_id}reads one. The previous path,/company-events, keeps working until 31 December 2026.- One
statusrule. The company record, search results, suggestions and the filter derivestatusthe same way, always lowercase:active,liquidation,terminatedorunknown. - Event types renamed (breaking for monitors that name them):
company.shareholder.changediscompany.shareholding.changed, andcompany.shareholders.changediscompany.shareholder_list.changed. The old names answer400naming the new one. - Insolvency and other register entries are monitorable, in the groups
insolvency,conversionandother_entries.
2 October 2026
legal_formreplaceslegal_form_codeonGET /formations.
1 October 2026
- The
/v1naming revision: the formations feed (/formations) replaces/search/new-registrations.
17 September 2026
- The
/v1reference replaces the reference of the earlier API.