Skip to main content
A successful match returns a JSON object with the fields below.

Response fields

These fields are returned on POST /match and on each row in batch results. A 200 with matched_company_number: null means the engine finished without a confident match. That is not an error. In that case confidence is none and route is null.

Confidence

confidence tells you how strong the match evidence is. It is not a percentage probability. If part of the pipeline was unavailable for that row (for example a website lookup), the band may drop one notch (e.g. highmedium). Use confidence to triage results — for example auto-accept high, review medium or low. Always check matched_company_number to see whether a CRN was returned.

Route

route records which stage produced the match:

Rigorous match

rigorous_match is true when the slow path cleared the stricter scoring check for the chosen company.
  • A fast-path match does not need that check, so it can be confidence: high with rigorous_match: false.
  • On the slow path, rigorous_match: true is what lifts a result to confidence: high, subject to the band reduction noted above.
Treat rigorous_match as a technical signal; prefer confidence for product decisions unless you are debugging match quality.

Example (matched)

Example (unmatched)

Example (with address)

Request body fields

Null optional fields may be omitted from the request; the API does not require them.
Last modified on September 8, 2026