Skip to main content
PATCH
curl

What this does

AML screening returns a list of hits — potential matches against sanction lists, PEP databases, watchlists, and adverse media. Each hit has a review_status (its disposition) that starts as Unreviewed or False Positive depending on the match score. This endpoint lets your team (or your automation) record a decision on each hit — without changing the overall session decision. Find the hits and their IDs in the session decision — the AML check’s hits array, where each hit’s id is the hit_id you pass here.

Review statuses

Reviewer decisions are preserved across ongoing-monitoring re-screens — a hit you mark False Positive keeps that status when the provider re-screens the entity.

Update a single hit

PATCH /v3/session/{sessionId}/update-aml-hit-status/
For a session with multiple AML checks (graph workflows), add ?node_id=feature_aml_1 to the URL or include "node_id" in the body to target a specific check.

Update many hits at once

PATCH /v3/session/{sessionId}/bulk-update-aml-hit-status/ Pass hit_updates, a list of { hit_id, review_status } pairs. The operation is all-or-nothing: if any hit_id is not found, the request returns 404 and no hit is changed.
A successful bulk call fires a single data.updated webhook and records one activity entry covering all the changes.

What happens after an update

  • Webhook — a data.updated event fires on the session.
  • Audit trail — the change is recorded on the session’s review trail with the actor (API key or user), visible in the console’s activity timeline.
  • Overall AML step status is untouched — changing a hit’s disposition does not, by itself, change the AML step status or the session decision. To change the AML step status (Approved / Declined / In Review), use update-feature-status. To change the session decision, use update-status.

KYC and KYB support

Works for both User Verification (KYC) and Business Verification (KYB) sessions — Didit resolves the sessionId across both. For KYB, AML screening runs on the company and its key people; each AML check exposes its own hits.

Permission

Requires the write:sessions privilege, with either a client API key (x-api-key) or a user authorization header.

Errors

Authorizations

x-api-key
string
header
required

Path Parameters

sessionId
string<uuid>
required

UUID of the verification session. Accepts both user (KYC) and business (KYB) session IDs — the service resolves the ID across both session types.

Example:

"11111111-2222-3333-4444-555555555555"

Query Parameters

node_id
string

Workflow graph node ID. Required only when the session has multiple AML checks (one per node); omit it for single-AML sessions.

Example:

"feature_aml_1"

Body

application/json
hit_id
string
required

The id of the hit in the AML check's hits array.

Example:

"abc123"

review_status
enum<string>
required

The new review status for the hit.

Available options:
Unreviewed,
Confirmed Match,
False Positive,
Inconclusive
Example:

"False Positive"

node_id
string

Optional graph node ID. Use it (here or as a query parameter) when the session has multiple AML checks.

Example:

"feature_aml_1"

Response

Hit review status updated.