Integration Guide

A complete, step-by-step guide to integrating AML Name Screening and managing Cases, Alerts, and Ongoing Monitoring.

INTEGRATION FLOW

Account
Setup

Step 1

Dashboard
Config

Step 2

API
Integration

Steps 3–5

Review
Alerts

Step 6

Ongoing
Monitoring

Step 7

1

Contact Advance AI to provision your account

Before any configuration or API call, your Advance AI account manager must provision your account. During onboarding, confirm the following:

ItemWhat to confirm
Dashboard accessConfirm login credentials and role assignments (Admin, Reviewer, etc.) for your compliance team.
API credentialsReceive your clientId and clientSecret for calling openapi.advance.ai. Both production and test environments share the same domain — environment is distinguished by account credentials.
Dashboard rolesEnsure team members are assigned appropriate roles: Super Admin / Workspace Admin (manage config) / Reviewer (review alerts) / Operator (view only).
💡
Multiple Levels
You can create multiple Levels for different risk tiers — e.g. a Basic Screening Level and an Enhanced Screening Level — and call each by its levelId. After saving the Level, note its Level ID from the Level list page. You will use this ID in the API call below.



2

Configure your AML settings in the Dashboard

💡
Dashboard-only configuration
All AML configuration is done through the AdvanGuard Dashboard. There are two scopes you can configure:
  • Global AML Settings — Applies to all Levels by default. Set at Dashboard → Settings → Global AML Settings.
  • Level AML Settings — Overrides Global settings for a specific Level. Set at Dashboard → Configuration → Levels → [Level] → AML Step.
Priority rule: Level settings take precedence. If a Level has "Use Global AML screening settings" enabled, it inherits the Global values.

2.1 — Create a Level with an AML Step

1

Go to Configuration → Levels

Navigate to Verification Levels → Individual. Click + Create Level or select an existing one. Give it a descriptive name such as "AML Only — Standard" or "KYC + AML — Premium".

2

Add an AML Step to the Level

In the Level editor, select the AML template to add AML Step. This Step is what triggers screening when an Application runs through this Level. You can also customise the Step combination (optional), e.g. place AML last in an eKYC + AML flow.

3

Configure AML settings for this Level

Click the AML Step to expand its configuration panel. Set the parameters described in section 2.2 below.

4

Save and Activate the Level

Click + Create Level to make the Level available for new Applications. Copy the levelId — you will need it in the API integration step.


2.2 — AML configuration parameters

ParameterDescriptionVendor
Enable Name ScreeningWhether to enable AML watchlist screening for this LevelEnabled
Ongoing Monitoring StateSet to Enabled, Disabled, or Default (inherits Global setting)Enabled
Auto RenewAutomatically renew Ongoing Monitoring at the end of each 365-day cycle to prevent gapstrue
Rescreening Interval DaysPeriodic re-screening interval in days (1–365). Only effective when Ongoing Monitoring is Disabled.Not set

3

API integration

3.1 — Authentication

POST https://openapi.advance.ai/v1/auth/token
{
"clientId": "YOUR_CLIENT_ID",
"clientSecret": "YOUR_CLIENT_SECRET"
}
Response: Contains accessToken. Include in all subsequent requests as Authorization: Bearer <accessToken>. Tokens expire periodically — implement a refresh mechanism in your integration.

3.2 — Submit an AML Screening Application

POST https://openapi.advance.ai/v1/individual/applications
View API reference →
{
"externalUserId": "your-system-user-id-001",
"levelId": "YOUR_AML_LEVEL_ID"
}
⚠️ Duplicate submission prevention: Each externalUserId may only have one Initial Screening. If an active session already exists for that user, the API returns an error.
4

3.2a — Manual screening via the Dashboard (no API needed)

For one-off screenings, compliance team members can create Applications directly in the Dashboard without any API integration:

1

Go to Manage → Applications (Individuals)

Navigate to the Applications list in the Dashboard.

2

Click "+ Create Application"

Click the button to open the creation form.

3

Select a Level

Choose the Level that contains the AML Step.

4

Fill in identity information

The form fields are determined by the selected Level. Fill in name, date of birth, nationality, and any other required fields.

5

Submit and view results

Click Create to submit. The AML Step runs asynchronously. Results appear in the Application detail view.


4

Check Application status and retrieve AML results

4.1 — Application status Lifecycle

StatusMeaningWhat happens next
initApplication created; AML screening initializingApplication created and initialize the AML screening.
pendingApplication submitted; AML Step runningWait for async processing. Use Webhook (recommended) or poll.
onHoldAML Step found a potential matchA Case and Alert have been created. A compliance reviewer must resolve the Alert.
completedNo match found, or all Alerts resolved as false positivesApplication result = GREEN. Profile is updated with verified data.
terminatedApplication was cancelled, or AML Step encountered a technical failureRetry the Application. A retry button is visible in the Application detail view.

4.2 — Retrieve the AML Step Result from the Application

FieldDescription
caseIdAML Case ID (prefix amlc-) — use this to query Case details
alertTypeSCREENING / UPDATE_SCREENING / RE_SCREENING / MONITORING
alertStatusOPEN / CLOSE / EXPIRED
totalMatchesNumber of matching records detected
ongoingMonitoringStatusenabled or disabled
POST https://openapi.advance.ai/v1/individual/applications/
View API reference →

4.3 — Register a Webhook (recommended)

🔔 Avoid polling — use Webhooks

Register a Webhook endpoint at Dashboard → Settings → Webhooks and subscribe to these events:

Application Events

eventTypeStatusTrigger
APPLICATION_PENDINGinit -> pendingData submitted; verification in progress
APPLICATION_ON_HOLDpending -> onHoldAwaiting manual review
APPLICATION_COMPLETED-> completedVerification complete; check reviewAnswer
APPLICATION_TERMINATED-> terminatedApplication cancelled

AML Events

eventTypeTriggerDescription
AML_OGS_UPDATEOngoing Monitoring detects a changeNew or updated screening result found; review the new Alert

5

AML Case & Alert management

⚠️ Webhook delivery is not guaranteed

Implement polling as a fallback (recommended interval: every 10 minutes or more). On failure, the system automatically retries 3 times (5s / 10s / 20s intervals).

5.1 — Case structure

Each Profile
has exactly

one
AML
Case

. All Alerts — from the initial screening and from Ongoing Monitoring — are aggregated into this single Case. All Alerts must be closed before the Case status can change.

5.2 — Match resolution workflow (Dashboard)

1

Find the flagged Application or Case

Navigate to Manage → Applications and filter by status onHold. Or go to AML → Cases and filter by status Open.

2

Review the Match details

Open the Alert and examine each Match: list name, match strength (WEAK / MEDIUM / STRONG), entity details (nationality, date of birth, positions held, sanctions sources).

3

Set the Resolution Status for each Match

For each Match in the Alert, set the Resolution Status:

  • False — False Positive. The match is not the same person. Add a comment explaining why.
  • Positive — True Positive. The match is confirmed. This will result in the Application being rejected (RED).
Note: Once a Resolution Status is set, you can switch between False and Positive before closing the Alert, but you cannot revert to "Unresolved".
4

Close the Alert

Once all Matches have a Resolution Status, close the Alert. Enter a mandatory comment (required for audit trail). The Alert status changes to Closed.

5

Application result is updated automatically

  • All Matches = False Positive → Application: completed (GREEN)
  • Any Match = True Positive → Application: rejected (RED)

Case state machine

When a match is found, an AML Case is created with an OPEN parent state. The Case must be resolved by your compliance team before the Application can complete:

OPEN: PENDING
Created, unassigned
OPEN: ASSIGNED
Assigned to officer
OPEN: IN_REVIEW
Actively reviewing
CLOSED: Approved
All matches = False
→ Application GREEN
CLOSED: Rejected
≥1 match = Positive
→ Application RED

Reassignment rule:

Case can only be reassigned to a different compliance officer while in OPEN state. Once a Case is CLOSED (Approved or Rejected), it is a terminal state and cannot be manually reopened.

Match status classification

Each Match within an Alert must be individually classified. Classification is irreversible — once set, it cannot be changed:

StatusMeaningEffect
UnresolvedDefault — match not yet reviewedCase remains OPEN
FalseConfirmed as a false positive. Entity is NOT the same as the watchlist entryDoes not contribute to rejection; cannot be reverted
PositiveConfirmed as a true positive. Entity IS confirmed to be on the watchlistTriggers Application rejection; cannot be reverted

Mandatory audit notes:

Every Match status change requires the operator to add a comment. This is enforced by the platform and contributes to the immutable audit log (records operator, timestamp, before/after state, and comment for every action).

Case Operations via Dashboard

ScenarioNavigation Path
Pick up a new Case from the queueCase List → Check-in → Enter detail view
Dispatch a Case directly to a colleagueCase List → Select PENDING Case → Reassign → Select target → Add comment
Hand off mid-review to someone elseCase detail → Reassign → Select target → Add comment → Confirm
Submit final conclusionCase detail → Submit → Select Approve / Reject → Add comment → Confirm
View your own CasesCase List → My Cases tab → Filter by ASSIGNED status

Case Audit Log

The system records every key event in the Case lifecycle. Navigate to Case Details → View Activity Log.

Event TypeRecorded Information
CreationCase source (Screening / Ongoing Monitoring)
Check-inOfficer who claimed the Case
ReassignPrevious assignee, new assignee, dispatcher, comment
DecisionApprove / Reject conclusion, submitter, comment
Status ChangeBefore and after state values

Permission Reference

PermissionDescription
case.viewView Case list and detail
case.checkinCheck-in a PENDING Case
case.submitSubmit a Case conclusion (Approve / Reject)
case.reassignDispatch or re-assign a Case to another officer
6

Activate the Profile and enable Ongoing Monitoring

When Ongoing Monitoring is enabled in the Level configuration, Profiles that complete AML screening are automatically enrolled in continuous watchlist monitoring.

POST https://openapi.advance.ai/v1/individual/profiles/{profileId}/activate
View API reference →
Upon activation (init → active): If the Level has Ongoing Monitoring enabled, the Profile is enrolled in a 365-day AML monitoring subscription. AdvanGuard will automatically alert you if any list changes affect this Profile during the monitoring period.

6.1 — Ongoing Monitoring Alert flow

1

AML database is updated

A change in the Database is detected that affects a monitored Profile and related matches.

2

New Alert created automatically

AdvanGuard creates a new Open Alert (Type: AML Ongoing Monitoring). If an existing Open Alert exists, it is moved to Expired. All prior resolution notes are inherited by the new Alert.

3

Case reverts to Open

The AML Case status automatically reverts to Open.

4

Compliance team reviews the new Alert

Follow the same Match resolution workflow as Step 5 above.

💡

Profile-level Ongoing Monitoring toggle: A compliance team member can manually disable Ongoing Monitoring for an individual Profile from the Profile's AML tab in the Dashboard. Toggling OGS on and off within the same subscription period does not incur additional charges.

Irreversible:  
Once an Alert reaches Reviewed status, it cannot be reverted to Pending Review or None.

AML APIs used in this guide

Click any endpoint to jump directly to its API reference documentation:




Did this page help you?