Screen individuals against global sanctions lists, PEP registries, and adverse media databases. The Dossiers API provides two complementary endpoints:
- Screening Requests — Submit an individual for asynchronous background screening and ongoing monitoring. Matches create Screening Alerts for your compliance team to review.
- PEP & High-Risk Search — Search for Politically Exposed Persons and high-risk individuals by name. Returns detailed dossiers with risk scores in real time.
Screening Requests
Creating a Request
Costs 10 credits per request.
Submit a POST /screening/request with the individual's name and optional details:
Code
Request Fields
| Field | Required | Description |
|---|---|---|
fullName | Yes | Full name of the individual to screen |
externalId | No | Your own reference ID (e.g. customer ID, case number) for correlating results with your systems |
dateOfBirth | No | Date of birth in YYYY-MM-DD format |
country | No | ISO 3166-1 alpha-2 country code |
identificationDocument | No | ID document details (type, number, optional country) to improve match accuracy |
Providing additional details like dateOfBirth, country, and identificationDocument helps the screening engine reduce false positives.
Response
Code
The requestId identifies the screening request. Screening runs asynchronously — when processing completes, you'll receive webhook events and any matches will appear as Screening Alerts in the Dossiers Dashboard.
Screening Workflow
- Request created —
amlScreening.screeningRequest.createdwebhook fires - Request queued — Checked against sanctions lists, PEP registries, and adverse media
- Request completed —
amlScreening.screeningRequest.completedwebhook fires - Alerts triggered — If matches are found,
amlScreening.screeningAlert.triggeredfires for each alert
Data Sources
The screening engine checks against:
| Source | Coverage |
|---|---|
| OFAC | U.S. Office of Foreign Assets Control sanctions |
| UN | United Nations Security Council consolidated list |
| FCDO | UK Foreign, Commonwealth & Development Office sanctions |
| DFAT | Australian Department of Foreign Affairs and Trade sanctions |
| CASL | Canadian Autonomous Sanctions List |
| INTERPOL | International Criminal Police Organization notices |
| PEP Registries | Politically Exposed Persons databases |
| Adverse Media | News and media sources flagging financial crime, corruption, etc. |
PEP & High-Risk Individual Search
Searching for Individuals
Costs 3 credits per request.
Search for PEPs and high-risk individuals by name using POST /high-risk/search:
Code
Request Fields
| Field | Required | Description |
|---|---|---|
fullName | Yes | Full name of the individual to search for |
noCache | No | Default false. Set to true to bypass cached results and run a fresh search |
onlyShowHighRiskProfiles | No | Default true. Set to false to include all matching profiles, not just high-risk ones |
Response
Returns an array of IndividualDossier objects. Each dossier contains:
Code
Risk Scorecard
Each dossier includes an AI-generated risk scorecard:
| Field | Description |
|---|---|
overallRiskScore | Risk score from 0.0 (low risk) to 1.0 (high risk) |
riskCategory | Classification: "high", "medium", or "low" |
riskReasoning | Narrative explanation of the risk assessment |
pepScorecard.pepLikelihoodScore | PEP likelihood from 0.0 to 1.0 |
pepScorecard.category | PEP category (e.g. "Head of State", "Senior Government Official") |
pepScorecard.reasoningSteps | Step-by-step reasoning for the PEP score |
Caching
Search results are cached to reduce latency and credit usage on repeated queries. To force a fresh search against all data sources, set noCache: true in the request body. Cached results include "cachedResult": true in the response.
Webhook Events
Screening Request Events
| Event | When it fires |
|---|---|
amlScreening.screeningRequest.created | Fires immediately when a new screening request is submitted. Use this to confirm receipt and track processing in your system |
amlScreening.screeningRequest.completed | Fires when the screening engine has finished processing the request against all data sources. Check for associated alerts after receiving this event |
Example: amlScreening.screeningRequest.completed payload
Code
Screening Alert Events
| Event | When it fires |
|---|---|
amlScreening.screeningAlert.triggered | Fires when a positive match is found against sanctions lists or high-risk individual dossiers. An alert is only triggered when at least one match is not marked as a false positive. The payload includes the full alert with all matches and scoring criteria |
amlScreening.screeningAlert.statusChanged | Fires when an alert's status transitions between TRIGGERED, INVESTIGATING, DISMISSED, or ACTIONED. Use this to sync alert status with your compliance workflow |
amlScreening.screeningAlert.commentAdded | Fires when a compliance team member adds a comment to an alert. Useful for audit trail integration |
amlScreening.screeningAlert.commentDeleted | Fires when a comment is removed from an alert |
amlScreening.screeningAlert.deleted | Fires when an alert is permanently deleted |
Example: amlScreening.screeningAlert.triggered payload
Code
Alert Match Scoring
Each match (dossier or watchlist) includes a scoring object with the criteria used to evaluate the match:
| Field | Description |
|---|---|
nameMatch.aggregateScore | Overall name similarity score (0.0–1.0) |
nameMatch.abbreviatedMatch | Whether the match was based on an abbreviated name |
nameMatch.nameCommonalityScore | How common the name is (higher = more common, so less distinctive) |
idDocMatch | Whether the identification document matched |
dobMatch.exactMatch | Whether the date of birth matched exactly |
dobMatch.approxAgeDelta | Approximate age difference in years |
countryMatch | Whether the country matched |
matchConfidence | Overall confidence score for the match (0.0–1.0) |
reasoning | AI-generated explanation of why this was flagged as a match |
Alert Lifecycle
Alerts move through these statuses as your compliance team reviews them:
| Status | Meaning |
|---|---|
TRIGGERED | New match found, pending review |
INVESTIGATING | Compliance team is actively reviewing the alert |
DISMISSED | Alert reviewed and determined to be a false positive or non-issue |
ACTIONED | Alert confirmed and appropriate action has been taken |
See the Webhooks guide for setup and signature verification details.

