AML API reference
Create and review AML screening cases with an existing flow.
The AML API creates persistent screening cases with a status and audit trail.
AML routes use the unversioned API origin. Sandbox requests start with https://api.voveid.net/aml; Production requests start with https://api.voveid.com/aml. Send your private API key in the x-api-key header from your backend.
A screening result is evidence, not a final compliance decision. Review possible matches according to your organization's policy.
Configure AML flows
AML flows define which watchlists to search, whether the subject is an individual or entity, and the matching sensitivity. Create and manage flows in the VOVE ID dashboard under AML Screening → Screening Flows.
Use clear names such as “Standard individual screening” or “High-risk entity screening.” Before using a flow in Production, test it with approved sample data and confirm that its sources and matching settings meet your compliance requirements.
Create an AML case
POST /aml/case
Creates a persistent AML case and runs the screening with an existing active flow. Use this workflow when you need to review matches, track the case status, or receive status webhooks.
Request body
flowId
string
Yes
ID of the active AML flow used for screening.
screeningData
object
Yes
Person or entity data to screen.
screeningData.name
string
Yes
Full name of the person or entity.
screeningData.dob
string
No
Date of birth in DD.MM.YYYY format.
screeningData.gender
enum
No
male or female.
refId
string
Yes
Your internal reference ID for tracking this case.
Example request
Example response
The initial status is:
NO_MATCHwhen the configured screening returns no matches.IN_REVIEWwhen a possible match requires manual review.
The response does not include sensitive hit details. Review possible matches in the dashboard.
List AML cases
GET /aml/case
Returns a paginated list of your organization's AML cases. Filter by status or creation date to support review queues and reconciliation jobs.
Query parameters
page
number
No
1
One-indexed page number.
limit
number
No
10
Number of cases per page.
status
enum
No
—
NO_MATCH, IN_REVIEW, CLEARED, or REJECTED.
startDate
ISO 8601 string
No
—
Include cases created at or after this time.
endDate
ISO 8601 string
No
—
Include cases created at or before this time.
Example request
Example response
To filter by date range:
Get an AML case by reference ID
GET /aml/case/{refId}
Retrieves one case using the refId you supplied when creating it.
refId
string
Yes
Your internal case reference.
The response uses the AmlCase shape shown above. A 404 Not Found response means the reference does not exist or does not belong to your organization.
Webhook events
VOVE ID sends AML webhooks when a case is created or its status changes. Webhooks are sent only when the case has a refId.
user.aml.no_match
NO_MATCH
user.aml.in_review
IN_REVIEW
user.aml.cleared
CLEARED
user.aml.rejected
REJECTED
Case creation with POST /aml/case can trigger a webhook when the case has a refId.
Verify the Svix signature, deduplicate events using svix-id, and retrieve the current case before applying a consequential decision. See Webhooks.
Errors
400
Invalid request data or an inactive flow.
Correct the request before trying again.
401
Missing or invalid API key.
Check the environment and private key.
404
Flow or case not found.
Check the identifier and environment.
429
Rate limit exceeded.
Retry with bounded backoff.
500
Unexpected server error.
Retry safely with backoff and reconcile before repeating a write.
Integration guidance
Keep the private API key on your backend.
Use a stable, non-sensitive
refIdfor each subject.Use AML cases when you need review history or webhooks.
Review names, aliases, dates, citizenship, positions, and source details. Do not decide from a score alone.
Treat unknown statuses as pending review.
Do not log full screening payloads or watchlist records.
Continue with the AML operations guide for the analyst and reviewer workflow.
Last updated