Didit’s Business Verification (KYB) lets you verify companies and legal entities before onboarding them to your platform. The system automates company registry lookups, identifies beneficial owners and officers, screens all parties against AML watchlists, and collects supporting documents — all within a single workflow. Each verified company is tracked as a business profile, aggregating results across sessions. New to Didit KYB? Start with the quickstart for a 10-minute end-to-end walkthrough, then read the integration guide for production patterns. For the underlying Business entity model (linking to Users, blocklists, import/export), see Businesses.Documentation Index
Fetch the complete documentation index at: https://docs.didit.me/llms.txt
Use this file to discover all available pages before exploring further.
How it works
Create a business session
Start a business verification by creating a session with a KYB workflow. When the workflow type is KYB, Didit automatically creates a business session:The session type is determined by the workflow — no extra fields needed. KYB workflows automatically create business sessions with business-specific features enabled.
Company registry lookup
Didit queries official company registries to retrieve:
Registry data is cross-referenced with the information provided to detect inconsistencies.
| Data | Description |
|---|---|
| Company name | Legal name as registered |
| Registration number | Official company registration number |
| Country | Country of incorporation |
| Status | Active, dissolved, struck off, etc. |
| Company type | Ltd, LLC, PLC, SA, GmbH, etc. |
| Incorporation date | Date the company was registered |
| Registered address | Official registered office address |
| Tax number | Tax identification number (where available) |
Key people — UBOs, shareholders, directors & representatives
The system identifies every person and corporate entity tied to the business under the unified Key People model:
- UBOs — individuals who ultimately own or control the company, with ownership and voting percentages
- Shareholders (individual and corporate) — each with their ownership percentage
- Directors, representatives, secretaries, authorized signatories, and other officer roles — with their specific role tag
- Corporate ownership layers — parent companies in the ownership chain, with optional nested KYB
AML screening
All identified parties are automatically screened against global AML watchlists:
- Company AML — screens the company entity against sanctions, adverse media, and regulatory enforcement lists
- Person AML — screens each key person (UBO, shareholder, director, representative, etc.) individually
- Uses the same two-score risk system (match score + risk score) as user verification
Document collection
Collect and verify supporting documents:
Analysts can request additional documents from the business during the review process.
| Document type | Examples |
|---|---|
| Certificate of incorporation | Company formation certificate |
| Articles of association | Bylaws, memorandum of association |
| Proof of address | Utility bills, bank statements for the registered address |
| Shareholder register | Official register of shareholders |
| Financial statements | Annual accounts, audit reports |
| Tax certificates | Tax registration or compliance certificates |
| Custom documents | Any additional documents required by your compliance process |
Review and decide
The business session receives an overall status based on all checks:
Analysts can review all collected data in the Business Console, add comments, request additional documents, and make a final decision.
| Status | Meaning |
|---|---|
| Approved | All checks passed — company is verified |
| In Review | One or more checks require manual review |
| Declined | A critical check failed (e.g., dissolved company, sanctioned entity) |
Business session lifecycle
Each business verification runs within a business session that tracks progress through the following statuses:| Status | Description |
|---|---|
NOT_STARTED | Session created but verification has not begun |
IN_PROGRESS | Verification is underway — registry lookups, AML screening, or document collection in progress |
APPROVED | All checks passed — company is verified |
DECLINED | A critical check failed (e.g., dissolved company, sanctioned entity) |
IN_REVIEW | One or more checks require manual analyst review |
RESUBMITTED | Previously declined session resubmitted with updated data |
session_id, a sequential session_number, and a session_token for the hosted verification link. When a session is created with a vendor_data identifier, Didit automatically links it to the corresponding business profile.
Feature statuses
Business verification tracks the status of each component independently:| Feature | Description |
|---|---|
| Registry check | Company registry lookup and data extraction |
| Company AML | Company-level AML screening against sanctions and watchlists |
| Documents | Document collection, OCR, and cross-referencing |
| Key people | Beneficial owner and officer identification, AML, and KYC |
NOT_FINISHED, APPROVED, DECLINED, IN_REVIEW, or RESUB_REQUESTED. The overall session status aggregates the individual feature statuses — the session is only APPROVED when all required features pass.
Webhook events
Business sessions generate the following webhook events:| Event | Trigger |
|---|---|
status.updated | Session status changed. Payload carries session_kind: "business" for KYB sessions. |
data.updated | Session data changed (registry, key people, documents, AML). Payload carries session_kind: "business". |
business.status.updated | The linked Business entity’s status changed (ACTIVE / FLAGGED / BLOCKED). |
business.data.updated | The linked Business entity’s profile fields or aggregate counters changed. |
session_kind: "business" and the business_session_id to distinguish them from user verification events. See Webhooks for signature verification and delivery details.
Key capabilities
| Capability | Description |
|---|---|
| Automated registry lookups | Query official company registries in supported countries |
| UBO identification | Automatically extract beneficial ownership structures with percentages |
| Officer screening | Identify and verify directors, secretaries, and other officers |
| Company AML | Screen the company entity against sanctions and watchlists |
| Person AML | Screen all identified UBOs and officers individually |
| KYC linking | Link each identified person to a User Verification (KYC) session for identity verification |
| Document collection | Structured document requests with upload tracking |
| OCR cross-checking | Extract data from uploaded documents and cross-reference with registry data |
| Business profiles | Automatic profile creation and session aggregation for each verified company |
| Feature-level statuses | Independent status tracking for registry, AML, documents, and key people |
| Risk assessment | Overall risk level based on company status, AML results, and ownership complexity |
| Webhooks | Receive session lifecycle and data update events in real time via webhooks |
Business sessions vs. user sessions
| Feature | User session | Business session |
|---|---|---|
| Target | Individual person | Company or legal entity |
| Session kind | user (default) | business |
| Core checks | ID, liveness, face match, AML | Registry lookup, UBO, officers, company AML |
| Additional checks | Phone, email, proof of address, NFC | Document collection, person AML, KYC linking |
| Webhook payloads | Standard session events | Include session_kind: "business" and business_session_id |
Next steps
Business profiles
Track companies across sessions with profiles, tags, and bulk operations.
Company data
Registry lookups, company status, and data cross-referencing.
Ownership structure
UBO identification, corporate shareholders, and ownership chains.
Officers & directors
Director identification, roles, and KYC linking.
AML screening
Company and person-level AML checks.
Documents
Document collection, requests, and OCR verification.