CDD-AI
ActiveAggregated Customer Due Diligence report pulling results from prior KYC, KYB, AML and Sanctions checks. Synthesises a single compliance report covering identity, corporate structure, transaction behaviour and sanctions exposure. Applies jurisdiction-specific EDD trigger logic and generates a regulatory-ready narrative.
Endpoint
/api/cdd/generateHow CDD-AI aggregates
Pass request IDs from prior plugin runs and CDD-AI pulls the full context automatically. You do not need to re-submit document data or transaction details.
| Plugin | Request ID field | Data pulled |
|---|---|---|
| KYC-AI | kyc_request_id | Identity decision, extracted fields, face match, risk level |
| KYB-AI | kyb_request_id | Company verification, director and UBO screening results |
| AML-AI | aml_request_id | Transaction risk score, typologies detected, reporting obligations |
| Sanctions-AI | sanctions_request_id | List matches, PEP status, match scores |
Request parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
customer_id | string | Yes | Your unique customer identifier. |
jurisdiction | string | Yes | One of: CA, AE, SA, GB. Determines CDD standard and EDD thresholds. |
customer_type | string | No | One of: individual, business, trust, pep, high_risk (default: individual). PEP and high_risk trigger EDD automatically. |
risk_tier | string | No | One of: standard, enhanced, simplified — overrides automatic tier calculation. |
kyc_request_id | string | No | KYC-AI request ID. Identity verification details are pulled automatically. |
kyb_request_id | string | No | KYB-AI request ID. Corporate due diligence details are pulled automatically. |
aml_request_id | string | No | AML-AI request ID. Transaction risk details are pulled automatically. |
sanctions_request_id | string | No | Sanctions-AI request ID. Screening details are pulled automatically. |
business_purpose | string | No | Stated purpose of the business relationship. |
source_of_funds | string | No | Stated source of funds. |
estimated_monthly_volume | number | No | Estimated monthly transaction volume. Used in risk calibration. |
Response fields
| Parameter | Type | Required | Description |
|---|---|---|---|
success | boolean | Yes | Whether the API call succeeded. |
data.status | string | Yes | CDD decision: approved, rejected, or review_required. |
data.overall_risk_level | string | Yes | Aggregate risk across all checked dimensions: low, medium, high, or critical. |
data.edd_required | boolean | Yes | Whether Enhanced Due Diligence is required before onboarding. |
data.edd_triggers | array | No | Specific EDD trigger reasons, e.g. pep_connection, high_risk_jurisdiction, complex_ownership. |
data.risk_summary | object | Yes | Key-value breakdown: identity_risk, transaction_risk, sanctions_risk, pep_exposure, adverse_media. |
data.report_narrative | string | Yes | Full CDD report narrative suitable for regulatory submission or audit file. |
data.ai_recommendation | string | Yes | Next steps for onboarding, monitoring, or EDD completion. |
data.compliance_flags | array | Yes | Structured flags with rule_id, severity, message, suggestion. |
data.requires_human_review | boolean | Yes | True when EDD or manual review is required. |
processing_time_ms | integer | Yes | Total processing time in milliseconds. |
EDD triggers
EDD is automatically triggered when customer_type is pep or high_risk, when UBOs are in high-risk jurisdictions, when sanctions matches exist at any confidence level, or when AML risk score exceeds the jurisdiction threshold. EDD cases are flagged requires_human_review: true and added to the compliance queue.
Code example
Example response