Company Verification
Company verification results come from registry lookups and include the verified legal entity, extracted directors, and discovered beneficial owners. These fields appear in the company, directors[], and beneficial_owners[] sections of the compliance report.
Company Object
The company object contains registry-verified data about the legal entity.
| Field | Type | Description |
|---|
legal_name | string | Verified legal name from the company registry |
registration_number | string | Verified registration number |
jurisdiction | string | Country of incorporation (ISO 3166-1 alpha-2) |
company_status | string | Current status: Active, Dissolved, Struck Off |
company_type | string | Legal entity type: Private Limited Company, PLC, LLP, etc. |
incorporation_date | string (date) | Date of formation, ISO 8601 |
registered_address | string | Official registered address as a single formatted string |
sic_codes | string | Industry classification codes, comma-separated |
verification_status | string | Verified, Failed, or Pending |
verified_at | string (datetime) | ISO 8601 timestamp of when registry verification completed |
Example
{
"company": {
"legal_name": "Acme Holdings Limited",
"registration_number": "12345678",
"jurisdiction": "GB",
"company_status": "Active",
"company_type": "Private Limited Company",
"incorporation_date": "2015-03-15",
"registered_address": "123 High Street, London, EC1A 1BB",
"sic_codes": "64110,64191",
"verification_status": "Verified",
"verified_at": "2026-01-15T14:30:15Z"
}
}
Director Results
The directors[] array contains individuals extracted from the company registry and screened for PEP/sanctions exposure. Directors may include those you submitted in the request plus additional directors discovered from the registry.
| Field | Type | Description |
|---|
name | string | Full name |
date_of_birth | string (date) | Date of birth, if available from registry or input |
role | string | Role: Director, Secretary, Chair, etc. |
pep_status | string | No Hit or Hit |
sanctions_status | string | No Hit or Hit |
screening_completed_at | string (datetime) | Timestamp of when screening finished |
Example
{
"directors": [
{
"name": "Jane Smith",
"date_of_birth": "1980-05-20",
"role": "Director",
"pep_status": "No Hit",
"sanctions_status": "No Hit",
"screening_completed_at": "2026-01-15T14:30:25Z"
},
{
"name": "Robert Williams",
"date_of_birth": "1972-08-03",
"role": "Secretary",
"pep_status": "Hit",
"sanctions_status": "No Hit",
"screening_completed_at": "2026-01-15T14:30:26Z"
}
]
}
A
pep_status of
Hit means the individual matched a PEP record in the screening database. Check the
screening results for match details including score, category, and positions held.
Beneficial Owner Results
The beneficial_owners[] array contains UBOs extracted from the company registry or provided in your request. Each UBO is screened for PEP/sanctions exposure.
| Field | Type | Description |
|---|
name | string | Full name |
date_of_birth | string (date) | Date of birth, if available |
nationality | string | ISO 3166-1 alpha-2 country code |
ownership_percentage | number | Ownership stake as a percentage (0-100) |
pep_status | string | No Hit or Hit |
sanctions_status | string | No Hit or Hit |
identity_verified | boolean | Whether identity verification (Person Verification) has been completed for this individual |
verification_date | string (datetime) | Timestamp of identity verification, if completed |
Example
{
"beneficial_owners": [
{
"name": "John Doe",
"date_of_birth": "1975-11-10",
"nationality": "GB",
"ownership_percentage": 75,
"pep_status": "No Hit",
"sanctions_status": "No Hit",
"identity_verified": false
},
{
"name": "Maria Garcia",
"date_of_birth": "1983-02-28",
"nationality": "ES",
"ownership_percentage": 25,
"pep_status": "No Hit",
"sanctions_status": "No Hit",
"identity_verified": true,
"verification_date": "2026-01-10T09:15:00Z"
}
]
}
Registry Source
Company data is sourced from official government company registries via the provider configured for your project. Coverage includes:
- United Kingdom (Companies House)
- Ireland (CRO)
- EU member states
- United States (state-level registries)
- 120+ additional jurisdictions
Registry data reflects the latest filing at the time of the check. If a company’s registry record has not been updated recently, some fields (like director appointments or address changes) may be outdated.
Data Reconciliation
When you provide company data in the request and Zenoo retrieves data from the registry, both versions are available. The company object in the response always contains the registry-verified data. If there are discrepancies between your input and the registry (e.g., different address, mismatched company name), these are flagged as risk factors in the risk assessment.
Person Verification for Directors and UBOs
Company Verification automatically screens all directors and beneficial owners for PEP/sanctions/adverse media. However, if your compliance policy requires identity verification (document check + biometric liveness) for specific individuals — typically UBOs above a certain ownership threshold — you must initiate separate Person Verification flows.
When to trigger Person Verification
| Individual | Trigger Condition | Verification Type |
|---|
| UBO ≥25% ownership | Always recommended | /kyc/init (async, user-facing) |
| UBO with PEP/sanctions hit | Required | /kyc/init (async, user-facing) |
| Director (high-risk jurisdiction) | Policy-dependent | /kyc/init or /kyc/api |
| Director (standard) | Optional | /kyc/api (sync, database only) |
Example flow
# 1. Company Verification returns UBO needing identity check
# beneficial_owners[0].identity_verified = false
# 2. Initiate Person Verification for that UBO
curl -X POST \
"https://instance.prod.onboardapp.io/api/gateway/execute/{project_hash}/kyc/init" \
-H "Content-Type: application/json" \
-H "X-API-KEY: your-api-key" \
-d '{
"first_name": "John",
"last_name": "Doe",
"date_of_birth": "1975-11-10",
"country": "GB",
"external_reference": "ONBOARD-2026-0042-UBO-001"
}'
# 3. Send the verification URL to the UBO
# https://instance.prod.onboardapp.io/{project_hash}/?t={start_token}
Use the external_reference field to link the Person Verification back to the original Company Verification. A recommended pattern: {company_external_ref}-UBO-{index} or {company_external_ref}-DIR-{index}.
See Company-to-Person Verification Flow for the full end-to-end flow.