Overview
This guide covers the complete flow for company entity management (Know Your Business), from creation through enrichment, shareholder discovery, and risk analysis. The flow supports automatic shareholder creation and recursive enrichment of the entire ownership structure.Flow Diagram
Step 1: Create Company Entity
Option A: Automatic Creation (Recommended)
Automatic creation handles enrichment, shareholder discovery, and risk analysis in a single operation, including recursive shareholder creation. Endpoint:POST /entities/automatic
Request:
- Basic Data Enrichment: Executes providers from
basiclist (company registry, sanctions, etc.) - Company Creation: Maps normalized data to company entity structure
- Additional Enrichment: Executes providers from
additionallist - Shareholder Discovery: Extracts shareholders from enrichment data
- Recursive Shareholder Creation:
- Creates person entity for individual shareholders
- Creates company entity for corporate shareholders
- Enriches each shareholder
- Continues recursively up to
maxShareholderDepth
- Risk Matrix Assignment: Assigns the provided risk matrix (or default)
- Risk Analysis: Executes risk matrix rules automatically (unless
skipRulesExecution: true)
Option B: Manual Creation
Create a company entity with basic information only, then enrich and analyze separately. Endpoint:POST /entities
Request:
Step 2: Enrich and Analyze (Manual Flow)
If you created the entity manually, you need to enrich it and execute risk analysis. Endpoint:POST /entities/:entityId/analyze
Request:
- Enrichment: Runs specified providers to gather company data
- Shareholder Discovery: Identifies shareholders from provider data (but doesn’t auto-create)
- Risk Analysis: Executes risk matrix rules on the company
- Score Update: Updates company risk score and status
Step 3: Shareholder Discovery and Creation
Automatic Shareholder Creation (via /entities/automatic)
When using automatic creation withcreateShareholders: true, the system:
- Extracts Shareholders: From enrichment provider data (e.g., company registry, beneficial ownership databases)
- Creates Entities: For each shareholder (person or company)
- Enriches Shareholders: Runs enrichment on each shareholder entity
- Recursive Processing: For company shareholders, repeats the process up to
maxShareholderDepth - Links Relationships: Creates ownership relationships in the entity graph
Manual Shareholder Creation
If you need to create shareholders manually: Step 1: Create the shareholder entity usingPOST /entities or POST /entities/automatic
Step 2: Link the shareholder to the parent company:
Step 4: Enrichment Process (Company-Specific)
Company Enrichment Providers
Common providers for company enrichment:- company_registry_us: Company registration data, officers, shareholders
- company_registry_uk: UK Companies House data
- company_registry_eu: European company registries
- sanctions_api: Sanctions screening for companies
- adverse_media: News and media mentions
- financial_records: Financial statements, credit ratings
- beneficial_ownership: Ultimate beneficial ownership (UBO) data
- legal_filings: Court cases, legal proceedings
- esg_ratings: Environmental, social, governance ratings
Enrichment Result (Company)
Step 5: Risk Analysis (Company-Specific)
Company Risk Rules Examples
Common risk rules for companies:- Sanctions Screening: Check if company or shareholders on sanctions lists
- High-Risk Jurisdiction: Check if incorporated or operating in high-risk countries
- Adverse Media: Count negative news articles
- Financial Health: Evaluate credit rating and financial ratios
- ESG Risk: Check ESG scores and controversies
- Ownership Structure: Analyze shareholder risk (complex structures, offshore entities)
- Legal Proceedings: Count active lawsuits and regulatory actions
- PEP Connections: Check if directors/shareholders are PEPs
Risk Analysis with Shareholder Risk
The risk analysis considers:- Company Direct Risk: Based on company’s own data
- Shareholder Risk: Aggregated risk from all shareholders
- Ownership Complexity: Risk from complex or opaque ownership structures
Step 6: Shareholder Risk Aggregation
How Shareholder Risk Affects Company Risk
Companies can configure rules that evaluate shareholder risk: Example Rule: “High-Risk Shareholder Alert”Querying Company with Shareholders
Endpoint:GET /entities/:companyId?include=shareholders
Response:
Step 7: Update by External ID
For companies created via external systems, you can update using external ID: Endpoint:PATCH /entities/by-external-id/:externalId
Request:
- Sync company data from CRM
- Update financial data from accounting system
- Update status from business registry
Best Practices
-
Use Automatic Creation with Shareholders: Enable
createShareholders: trueto build complete ownership structure automatically. -
Set Appropriate Depth: Use
maxShareholderDepth: 3to prevent excessive recursion while capturing important ownership layers. -
Provider Selection: For companies, prioritize:
- Company registry (must-have)
- Beneficial ownership databases (for UBO discovery)
- Sanctions screening
- Adverse media
- Financial data providers
-
Risk Matrix Configuration: Configure company-specific rules that evaluate:
- Direct company risk factors
- Shareholder risk (individual and aggregate)
- Ownership complexity
- Jurisdictional risk
- Shareholder Monitoring: Set up rules to monitor shareholder changes and trigger re-analysis.
-
Cost Management: Shareholder creation with enrichment can be expensive. Monitor provider costs and set
maxCostCentslimits. - Periodic Re-enrichment: Company data changes over time. Schedule periodic re-enrichment for active companies.
-
External ID Mapping: Always set
externalIdwhen creating companies from external systems for easy updates.
Error Handling
Shareholder Creation Failures
If shareholder creation fails during automatic creation:- Main company entity is still created
- Partial shareholder data may be stored
- Error details in response
Incomplete Ownership Data
If enrichment providers don’t return shareholder data:- Manually add shareholders using
POST /entities+POST /entity-relationships - Try additional beneficial ownership providers
Recursive Depth Limit
If ownership structure exceedsmaxShareholderDepth: