@getpeppr/sdk 3.1.0 is a type-only release. It declares one field that your
API responses have already been carrying:
LegalEntity.verificationDetail.registryStatus?: "inactive"
Nothing changes at runtime. The SDK passes verificationDetail through
whole, so a JavaScript caller could already read registryStatus the day the
gateway shipped it. What was missing was the declaration: a TypeScript caller
writing le.verificationDetail?.registryStatus got a TS2339 on a field our own
documentation told them to read. This release closes that gap.
What the field means
registryStatus: "inactive" means the national business registry knows this
company and does not consider it active — struck off, in liquidation, or not yet
active. It is not a lookup failure and not a typo. Re-submitting the same details
will not change the outcome until the registry itself changes its answer, so this
is the one verification failure worth surfacing to your end user as "this company
cannot be onboarded as it stands" rather than "try again".
Two registries produce it today: the Belgian KBO/BCE and the French Sirene.
The part worth reading twice
Treat this field as a positive signal only. Never infer anything from its absence.
The field is absent whenever we have no such finding to show for the current state — which covers several unrelated situations that look identical from the outside:
- the registry has no entry for that identifier (check for a typo, and that the scheme matches the number);
- the registry could not be reached when the check ran;
- our team has since reviewed the identity, so an earlier finding is no longer current;
- the supporting evidence has aged out of retention;
- no
inactivefinding was ever recorded — verification can succeed on the VAT registration alone, so the national registry is not always consulted, and where it is, it is not always the source that decides.
An absent registryStatus is therefore not evidence about the company, least of
all that the registry does not know it.
Why it is a separate field
The neighbouring reason field ("name_mismatch" | "not_found") is frozen — no
value will ever be added to it. Anything you switch on there stays exhaustive.
registryStatus carries what reason structurally cannot express, which is why
it arrived alongside rather than inside.
Upgrading
npm install @getpeppr/sdk@3.1.0
Purely additive: no breaking change, no removals, no new exports. The CLI is unchanged at 0.5.4 — it does not use this type.