The Economic Crime and Corporate Transparency Act 2023 requires all UK company directors and individual PSCs to verify their identity with Companies House. Enforcement begins 18 November 2026. Registrum surfaces verification status in a single API call.
Enter a company number for an instant sample report - no signup. Add your email afterwards to unlock a live verification snapshot from the Companies House register.
Free instant preview uses a sample report. Add your email after searching to unlock a live check for the company you enter.
ECCTA 2023 introduced mandatory identity verification via the Companies House digital portal. Directors must photograph their face and identity document; CH issues an 11-character personal code (UVID) on success. Verified status is publicly visible on the CH register.
All directors of UK limited companies, PLCs, and LLPs. All individual PSCs (Persons with Significant Control) who are natural persons. Corporate entity and legal person PSCs are exempt. Sole traders are not affected.
GET /v1/company/{number}/compliance
{
"status": "success",
"data": {
"company_number": "00445790",
"compliance_cache_schema_version": 1,
"directors_total": 10,
"directors_verified": 3,
"directors_pending": 7,
"directors_overdue": 0,
"directors_unverified": 0,
"directors_unknown": 0,
"pscs_total": 0,
"pscs_verified": 0,
"pscs_pending": 0,
"pscs_overdue": 0,
"pscs_unverified": 0,
"pscs_unknown": 0,
"verification_rate": 0.3,
"verification_risk": "partial",
"risk_score": 0.7,
"unverified_persons": [
{
"name": "BODSON, Bertrand Jean Francois",
"role": "director",
"kind": "director",
"status": "pending",
"deadline": null
},
{
"name": "FAIRBAIRN, Carolyn Julie",
"role": "director",
"kind": "director",
"status": "pending",
"deadline": null
},
{
"name": "GILLILAND, Stewart Charles",
"role": "director",
"kind": "director",
"status": "pending",
"deadline": null
},
{
"name": "MURPHY, Gerard Martin",
"role": "director",
"kind": "director",
"status": "pending",
"deadline": null
},
{
"name": "MURPHY, Ken",
"role": "director",
"kind": "director",
"status": "pending",
"deadline": null
},
{
"name": "NAWAZ, Imran",
"role": "director",
"kind": "director",
"status": "pending",
"deadline": null
},
{
"name": "SILVER, Caroline Louise",
"role": "director",
"kind": "director",
"status": "pending",
"deadline": null
}
],
"eccta_enforcement_deadline": "2026-11-18"
},
"cached": false,
"credits_used": 1
}| Field | Type | Description |
|---|---|---|
| verification_risk | string | "compliant" | "pending" | "partial" | "high_risk" | "unknown" |
| verification_rate | float | Directors and PSCs combined: verified / (verified + pending + overdue). Unknowns are excluded from both the numerator and the denominator. |
| directors_verified | int | Current directors with a confirmed identity_verified_on date at Companies House. |
| directors_pending | int | Current directors with verification outstanding but not yet past their individual deadline. |
| directors_overdue | int | Current directors with verification outstanding and past their individual deadline. |
| directors_unverified | int | Deprecated alias for directors_overdue — OVERDUE ONLY, kept for backward compatibility. It is NOT directors_pending + directors_overdue, and it is NOT the same count as unverified_persons.length (which lists both pending and overdue people). See the callout below. |
| directors_unknown | int | identity_verification_details entirely absent from CH API — pre-ECCTA data. |
| unverified_persons | array | Every director or PSC not yet verified — both pending and overdue. Each entry has a status ("pending" | "overdue") and a deadline (ISO date, or null when not yet computable). |
| eccta_enforcement_deadline | string | Always 2026-11-18 — the date Companies House begins enforcement action. |
directors_unverified is a deprecated field that counts overdue directors only. It does not include directors who are still pending (outstanding but not yet past their deadline). A company can have every director unverified and directors_unverified: 0 at the same time — the example above is exactly that case. To find everyone who still needs to verify, read unverified_persons (both pending and overdue people, each with its own status), or read directors_pending and directors_overdue directly.
The /compliance endpoint requires a Pro or Enterprise plan. The identity_verified and identity_verified_on fields on the existing directors and PSC endpoints are available on all plans. Watching a whole client book? The Compliance Monitoring add-on raises your watch cap to 100 companies and unlocks compliance risk-change webhooks.
Get a free API key and check verification status on your first call. No credit card required.