info.version in the OpenAPI spec. See Versioning.
Entries start at release 1.0.0, the first numbered release. Changes made during the earlier beta were not tracked.
Conventions
Entries are tagged so you can scan for the kind of change that affects you:- Breaking: you must change your integration. Always listed first.
- Added: new endpoint, field, or capability. Safe to ignore if you don’t use it.
- Changed: non-breaking change to existing behaviour.
- Deprecated: still works but scheduled for removal. Start migrating.
- Removed: no longer available.
- Fixed: bug fix bringing actual behaviour in line with documented behaviour.
History
2026-09-30: release 1.2.0
- Added:
company_statuson every match result: the matched company’s status as Companies House reports it, such asActive,Active - but in an unusual state (Active with Dormant Accounts)orStruck off (Dissolved). The response reference lists the values. - Deprecated:
active. It still says whether the matched company is not dissolved ("True"or"False"), butcompany_statussays more, andactivewill be removed in the next API version. - Fixed:
activewas"False"on most matches and missing on exact-name matches, whatever the company’s status. It is now correct on every match. - Changed: an exact registered name is now resolved against our own daily copy of the Companies House register, so such a match returns without waiting on an upstream lookup. Where several registered companies share the name, the one in the healthiest status is preferred: active before dormant, dormant before dissolved. Matching of names that are not an exact registered name is unchanged.
2026-09-25: release 1.1.2
- Fixed: a batch that was running while we deployed an update could report more rows completed than it contains, because a few rows were matched twice. Progress now stays exact across updates. The results themselves were not affected.
2026-09-25: release 1.1.1
- Changed: batch jobs now match several companies at once, so a large batch finishes sooner. Each batch returns the same results as before, and the API contract is unchanged.
2026-09-09: release 1.1.0
- Changed: the match endpoints now declare
404,409and500in the OpenAPI spec, so the Endpoints pages and any client generated from the spec list every status a route can return. What the endpoints do is unchanged. - Changed: submitted request bodies are cleared from usage records 30 days after the call. The usage metadata for that call is kept: the endpoint, the number of companies, the response status and the processing time.
- Changed: cached responses from upstream company-data sources are deleted after 180 days. Before this release they stopped being used at that age but were not removed.
- Changed: submitted company fields and match results are no longer written to application log records. A log entry identifies a request by the
idyou supply and by our own job and row identifiers.
route and rigorous_match derive the confidence band. That behaviour has not changed; it was undocumented.
2026-09-04: release 1.0.1
- Fixed: deployment fix only. No change to the API contract.
2026-09-04: release 1.0.0
First numbered release. The URL prefix stays/api/v1.
- Breaking: request field
postcoderenamed toinput_postcode. - Breaking: response field
matched_postcoderenamed tomatched_registered_postcode. It holds the registered office postcode of the matched company.