AI-driven AML data and screening — sanctions, PEPs, watchlists, and adverse media for KYC/KYB onboarding and ongoing monitoring via a single REST API.
- 01sanctions screening
- 02PEP screening
- 03adverse media
- 04ongoing monitoring
- 05KYB customer screening
| Variable | Scope | Description |
|---|---|---|
| COMPLYADVANTAGE_API_KEY | Server | API token from the ComplyAdvantage dashboard (Token auth scheme). |
Use ComplyAdvantage for AML screening of customers, beneficial owners, and counterparties. Server-side, call `POST https://api.complyadvantage.com/searches` with `Authorization: Token <COMPLYADVANTAGE_API_KEY>` and a JSON body containing `search_term`, `client_ref`, `fuzziness`, and `filters` (sanction/pep/warning/adverse-media types, plus birth_year and country filters) to create a screening search. Persist the returned `search_id` against the customer record, surface `total_hits` and `match_status` to the analyst queue, and resolve hits via `PATCH /searches/{id}` with `match_status: true_positive | false_positive`. For ongoing monitoring, set `monitored: true` on the search and subscribe to the matches webhook so reviewers see new alerts as data sources update. Use `POST /users/{id}/monitored_searches` to bulk-toggle monitoring during periodic re-screening.
- ⚑Fuzziness above ~0.6 produces large false-positive volumes on common names — calibrate per jurisdiction and combine with date-of-birth and country filters before lowering it.
- ⚑Adverse media categories (financial crime vs general) overlap heavily — pick the categories you'll act on, otherwise reviewers drown in low-signal articles.
- ⚑Sanction lists update on different cadences (OFAC near-real-time, UN/EU daily) — `monitored: true` is required to catch newly added entities, otherwise yesterday's clean search is stale today.
- ⚑Sandbox returns deterministic test fixtures, not the live data set — never tune thresholds or false-positive rates against sandbox.
- ⚑Data retention obligations vary (5y EU AMLD, 7y FinCEN) — archive `search_id` payloads on your side because the API only retains the latest snapshot per search.
- ⚑Webhook delivery uses Basic auth with credentials you configure — rotate them and verify on every request.