Skip to content

AML Rail

Anti-money laundering screening and monitoring endpoints.

The AML rail provides:

  • Sanctions screening
  • Transaction monitoring
  • Suspicious activity detection
  • Regulatory reporting
POST /v1/aml/screen
const screening = await iof.aml.screen({
entity: {
type: "individual",
name: "John Doe",
dateOfBirth: "1980-01-15",
nationality: "US",
},
lists: ["ofac", "eu", "un"],
});

Response:

{
"id": "screen_abc",
"status": "clear",
"matches": [],
"riskScore": 5,
"screenedAt": "2024-01-15T10:30:00Z"
}
POST /v1/aml/transactions
const result = await iof.aml.monitorTransaction({
transactionId: "txn_123",
type: "transfer",
amount: 50000,
currency: "USD",
sender: { id: "cust_abc" },
receiver: { id: "cust_def" },
});

Response:

{
"id": "mon_xyz",
"transactionId": "txn_123",
"riskLevel": "low",
"alerts": [],
"recommendation": "allow"
}
GET /v1/aml/screenings/:id
const screening = await iof.aml.getScreening("screen_abc");
GET /v1/aml/alerts
const alerts = await iof.aml.listAlerts({
status: "open",
riskLevel: "high",
limit: 20,
});
POST /v1/aml/reports/sar
const sar = await iof.aml.fileSAR({
alertId: "alert_123",
narrative: "Suspicious pattern detected...",
filingType: "initial",
});
ListDescription
ofacUS OFAC SDN List
euEU Consolidated List
unUN Security Council
ukUK HMT Sanctions
localJurisdiction-specific
LevelScoreAction
low0-30Auto-approve
medium31-60Enhanced monitoring
high61-80Manual review
critical81-100Block and investigate
TypeDescription
sanctions_hitSanctions match found
unusual_patternUnusual transaction pattern
velocityHigh transaction velocity
structuringPotential structuring
geographicHigh-risk geography
EventDescription
aml.screening.completedScreening completed
aml.alert.createdNew alert created
aml.alert.escalatedAlert escalated