Company Verification
Verify a company end-to-end with registry checks, director screening, and UBO screening. This guide covers submitting company data, retrieving results, and interpreting the compliance report.What Company Verification checks
When you submit a company for verification, Zenoo orchestrates four check types:- Company Registry Verification. Legal name, registration number, incorporation status, registered address, directors, and shareholders from official registries.
- Company Screening (WorldCheck). PEP, sanctions, and adverse media screening on the company entity itself.
- Director Screening (WorldCheck). Individual screening for each director you provide or that the registry returns.
- UBO Screening (WorldCheck). Individual screening for each beneficial owner.
Data tiers
You can submit three levels of data. More data produces better matching and richer risk scoring.Tier 1: Minimum
Tier 1: Minimum
The bare minimum to run a registry check and company screening.
Tier 2: Standard (recommended)
Tier 2: Standard (recommended)
Adds directors, UBOs, and company details. This is the recommended minimum for production.
Tier 3: Full
Tier 3: Full
Adds external reference for idempotency, financial data, and entity identifiers.
Field reference
| Field | Type | Required | Description |
|---|---|---|---|
company_name | string | Yes | Legal name of the company |
registration_number | string | Yes | Official registration or incorporation number |
country | string | Yes | ISO 3166-1 alpha-2 country code (e.g. GB, US, DE) |
company_type | string | No | Legal entity type (e.g. Private Limited Company (Ltd)) |
incorporation_date | string | No | Date of incorporation in YYYY-MM-DD format |
industry | string | No | Industry classification or description |
address_line_1 | string | No | Registered office street address |
city | string | No | Registered office city |
postcode | string | No | Registered office postal code |
external_reference | string | No | Your internal reference ID. Enables idempotency. |
annual_revenue | number | No | Annual revenue in base currency units |
employee_count | number | No | Number of employees |
sic_codes | string[] | No | Standard Industrial Classification codes |
status | string | No | Company status (e.g. Active, Dissolved) |
entity_id | string | No | Your internal entity identifier |
directors | object[] | No | Array of director objects (see below) |
ubos | object[] | No | Array of beneficial owner objects (see below) |
| Field | Type | Required | Description |
|---|---|---|---|
first_name | string | Yes | First name |
last_name | string | Yes | Last name |
date_of_birth | string | No | Date of birth in YYYY-MM-DD format. Strongly recommended for screening accuracy. |
nationality | string | No | ISO 3166-1 alpha-2 country code |
role | string | No | Role in the company (e.g. Director, UBO, Secretary) |
ownership_percentage | number | No | Beneficial ownership percentage (UBOs only) |
entity_id | string | No | Your internal entity identifier |
Submit company data
Retrieve results
Sync mode
Results are returned directly in the response body. Skip to the next step.Async mode: poll for results
| Status | Meaning |
|---|---|
200 with JSON body | Results are ready |
204 No Content | Still processing, retry after a delay |
404 | Invalid or expired token |
- First 2 minutes: poll every 10 seconds
- After 2 minutes: poll every 30 seconds
- Typical completion time: 30 seconds to 5 minutes
Async mode: webhook notification
Configure a webhook endpoint to receive averification.completed event when processing finishes. See Webhooks Guide for setup instructions.You can use both strategies together: webhooks for real-time notification, polling as a fallback.Interpret the compliance report
A complete Company Verification response contains six sections: company details, screening results, beneficial owners, directors, risk assessment, and checks summary.Key fields to check:
overall_verdict. The top-level recommendation:Pass,Refer, orFail.risk_tier. Risk classification:Low,Medium, orHigh.screening.*_status. Whether any screening category returned a match.checks_summary.checks[]. Status of each individual check.
case_reference in your database. You will need it for support queries, audit trails, and linking future updates.Decision logic
Use the
overall_verdict and risk_tier together to drive your onboarding workflow.| Verdict | Risk Tier | Recommended Action |
|---|---|---|
Pass | Low | Auto-approve. Proceed with onboarding. |
Pass | Medium | Auto-approve with enhanced monitoring. |
Refer | Medium | Route to compliance analyst for manual review. |
Refer | High | Route to senior compliance officer. Consider EDD. |
Fail | Any | Reject. Escalate to compliance team. |
How checks are orchestrated
When you submit a company for verification, the check framework automatically creates, executes, and tracks every verification requirement. Here is the orchestration flow: For Company Verification, all four check types (registry, company screening, director screening, UBO screening) are API-based and auto-execute immediately after case creation. You do not need to trigger them manually. Checks that returnRefer or Fail automatically generate alerts in the case management system. Alerts for sanctions hits are always marked Critical priority.
Verdict mapping
The full Company Verification verdict mapping combinesoverall_verdict and risk_tier to determine the appropriate action across all scenarios:
| Verdict | Risk Tier | Recommended Action |
|---|---|---|
| Pass | Low | Auto-approve. Proceed with onboarding. |
| Pass | Medium | Auto-approve with enhanced monitoring. Schedule periodic re-screening. |
| Refer | Low | Quick manual review. Likely a minor data issue. |
| Refer | Medium | Manual review required. Assign to a compliance analyst. |
| Refer | High | Senior compliance review. Consider enhanced due diligence (EDD). |
| Fail | Low | Investigate the specific failure. May be a data quality issue. |
| Fail | Medium | Reject or request corrected information. |
| Fail | High | Reject. Escalate to compliance team for review. |
Auto-approve criteria
You can safely auto-approve a Company Verification when ALL of the following are true:overall_verdictis"Pass".risk_tieris"Low".sanctions_statusis"No Hit"on ALL entities (company, directors, UBOs).pep_statusis"No Hit"on ALL entities.adverse_media_statusis"No Hit".
decision-handler.js
Any other combination should go to manual review. Do not attempt to auto-approve verifications that do not meet every criterion above.
Idempotency
Country codes
Use ISO 3166-1 alpha-2 codes for all country fields. Common codes:| Country | Code |
|---|---|
| United Kingdom | GB (not UK) |
| United States | US |
| Ireland | IE |
| Germany | DE |
| France | FR |
| Netherlands | NL |
| Switzerland | CH |
country field determines which registry Zenoo queries and which screening jurisdiction applies.
Using
UK instead of GB will return an error. Always use the ISO 3166-1 alpha-2 standard code GB for United Kingdom.Next steps
- Person Verification. Verify directors and UBOs individually with document and biometric checks.
- Screening. Run standalone screening for ongoing monitoring.
- Sync vs Async. Choose the right execution model for your integration.