Compliance infrastructure
AML, KYC & fraud screening
as a simple API.
Ten production-grade endpoints, backed by real government sanctions data and Didit-powered identity verification. Integrate in minutes, bill per usage.
How it works
From sign-up to screening in 5 steps
Create your workspace
Sign up free — your organisation gets a 14-day trial on the Free plan. No card required.
Generate an API key
From your dashboard, create a live or test key. It is shown once and stored hashed — treat it like a password.
Integrate in minutes
Call any endpoint over HTTPS with your key in the X-API-Key header. JSON in, JSON out.
Screen & decide
Each call returns a risk score, match details and a clear decision: approve, review or reject.
Verify with Didit
For real identity assurance, kick off a Didit verification session — ID scan, liveness, face match — with results delivered by webhook.
One request. One answer.
Send a name (plus optional date of birth and country) and we screen it against real, government-sourced sanctions lists (OFAC, UN, EU, UK) using fuzzy name-matching that catches spelling and transliteration variants. You get back a match count, a 0–100 risk score, and the full evidence for every hit — ready to drive your onboarding decision or open a compliance case.
- ✓ Sub-second responses with request tracing
- ✓ Test keys for sandbox integration
- ✓ Quota headers on every response
# Request
curl https://api.yourdomain.com/api/v1/aml/screen \
-H "X-API-Key: amlk_..." \
-d '{"name":"Viktor Petrov","country":"RU"}'
# Response
{"success":true,"status":"potential_match",
"risk_score":96,"match_count":1,
"matches":[{"name":"Viktor Petrov","score":96,
"list_type":"sanction","source":"OFAC_SDN"}]}
The toolkit
Eleven compliance APIs, one key
Click any API to see what you send, what you get back, and when to use it.
1
Identity Verification
Fast local structural validation of identity attributes.
▾
Identity Verification
Fast local structural validation of identity attributes.
POST /api/v1/identity/verify
You send
first_name, last_name, date_of_birth, plus optional email, id_number and country.
You get back
A verified / review / rejected status with a 0-100 confidence score and the result of every individual check.
When to use it
Use as an instant first-pass filter before committing to a full Didit verification session.
2
Didit Verification Session
Real identity verification: ID document scan, liveness, face match.
▾
Didit Verification Session
Real identity verification: ID document scan, liveness, face match.
POST /api/v1/identity/didit/sessions
You send
Either a customer_reference, or a name to create one. Optional callback_url.
You get back
A session_id and verification_url to redirect your end-user to. Results (ID scan, liveness, face match, and any AML/PEP checks your workflow includes) are delivered by webhook once they finish.
When to use it
Use for real, defensible identity assurance — not a local approximation. Powered by Didit.
3
KYC Verification
Full onboarding: local checks + AML screening + risk decision, with an optional Didit session.
▾
KYC Verification
Full onboarding: local checks + AML screening + risk decision, with an optional Didit session.
POST /api/v1/kyc/verify
You send
first_name, last_name, date_of_birth, optional email, country, id_number, and request_didit_session to also start a real Didit session.
You get back
An approve / review / reject decision, the AML screening result, a risk score, and — if requested — a Didit verification_url alongside it.
When to use it
Use as your one-call onboarding endpoint that bridges fast local checks with real Didit-backed verification.
4
AML Screening
Sanctions, PEP and adverse-media in one call.
▾
AML Screening
Sanctions, PEP and adverse-media in one call.
POST /api/v1/aml/screen
You send
name, plus optional date_of_birth, country, list_types, and persist_customer.
You get back
Status (clear / potential_match), 0-100 risk score, match count, and the full evidence for every hit against real OFAC/UN/EU/UK data.
When to use it
Use for periodic re-screening of your customer base.
5
PEP Screening
Politically exposed person detection.
▾
PEP Screening
Politically exposed person detection.
POST /api/v1/pep/screen
You send
name, plus optional date_of_birth and country for corroboration.
You get back
An is_pep boolean, match details with the political role, similarity score and risk score.
When to use it
Use when regulation requires enhanced due diligence for public officials and their associates.
6
Sanctions Screening
OFAC, UN, EU and UK list matching — real, government-sourced data.
▾
Sanctions Screening
OFAC, UN, EU and UK list matching — real, government-sourced data.
POST /api/v1/sanctions/screen
You send
name, plus optional date_of_birth and country.
You get back
Clear or potential_match status with every matching sanctions entry: source list, program, similarity % and derived risk level.
When to use it
Use before any payment, payout or onboarding where dealing with a sanctioned party would be a breach.
7
Transaction Monitoring
Structuring, velocity and high-risk geo rules.
▾
Transaction Monitoring
Structuring, velocity and high-risk geo rules.
POST /api/v1/transactions/monitor
You send
amount and currency, plus optional counterparty details and a customer_reference to build velocity history.
You get back
A pass / review recommendation with the exact rules triggered, plus a risk score.
When to use it
Wire into your payment flow to catch smurfing, unusual volumes and high-risk corridors in real time.
8
Fraud Detection
Heuristic signals with accept/review/decline.
▾
Fraud Detection
Heuristic signals with accept/review/decline.
POST /api/v1/fraud/assess
You send
Any of: email, ip_address, ip_country, billing_country, device_id, amount, recent_attempts.
You get back
A fraud score 0-100, the signals fired, and a decision: accept, review or decline.
When to use it
Use at checkout or signup to stop obvious fraud patterns before they cost you a chargeback.
9
Risk Scoring
Weighted, explainable customer risk scores.
▾
Risk Scoring
Weighted, explainable customer risk scores.
POST /api/v1/risk/score
You send
Boolean/numeric factors: sanctions_hit, pep_hit, adverse_media, country, document_failed, identity_failed, flagged_transactions.
You get back
A 0-100 score, a low/medium/high/critical band, and the exact points contributed by each factor.
When to use it
Use to combine results from other endpoints into one number that drives your risk-based approach.
10
Document Verification
Fast local metadata checks — type, expiry, number present.
▾
Document Verification
Fast local metadata checks — type, expiry, number present.
POST /api/v1/documents/verify
You send
type, document_number, country and expiry_date.
You get back
A verified / review / rejected status and an authenticity score based on structural checks.
When to use it
Use as a quick first-pass filter; for real OCR/tamper detection, use a Didit session with an ID-scan workflow step.
11
Continuous Monitoring
Ongoing re-screening with webhooks.
▾
Continuous Monitoring
Ongoing re-screening with webhooks.
POST /api/v1/monitoring/enroll
You send
A customer_reference, optional monitored_types, a frequency (daily/weekly/monthly) and an optional webhook_url.
You get back
A subscription that automatically re-screens the customer on schedule. New matches fire a signed monitoring.match webhook.
When to use it
Use so a customer who was clean at onboarding does not stay unnoticed when they appear on a list next month.
Start screening in the next five minutes.
Free plan · 500 calls/month · no card required
Create your workspace →© 2026 EKEDOS LTD. All rights reserved.