Skip to content

AML Rail

Anti-money laundering screening and monitoring endpoints.

Overview

The AML rail provides:

  • Sanctions screening
  • Transaction monitoring
  • Suspicious activity detection
  • Regulatory reporting

Endpoints

Screen Entity

http
POST /v1/aml/screen
typescript
const screening = await iof.aml.screen({
  entity: {
    type: "individual",
    name: "John Doe",
    dateOfBirth: "1980-01-15",
    nationality: "US",
  },
  lists: ["ofac", "eu", "un"],
});

Response:

json
{
  "id": "screen_abc",
  "status": "clear",
  "matches": [],
  "riskScore": 5,
  "screenedAt": "2024-01-15T10:30:00Z"
}

Monitor Transaction

http
POST /v1/aml/transactions
typescript
const result = await iof.aml.monitorTransaction({
  transactionId: "txn_123",
  type: "transfer",
  amount: 50000,
  currency: "USD",
  sender: { id: "cust_abc" },
  receiver: { id: "cust_def" },
});

Response:

json
{
  "id": "mon_xyz",
  "transactionId": "txn_123",
  "riskLevel": "low",
  "alerts": [],
  "recommendation": "allow"
}

Get Screening

http
GET /v1/aml/screenings/:id
typescript
const screening = await iof.aml.getScreening("screen_abc");

List Alerts

http
GET /v1/aml/alerts
typescript
const alerts = await iof.aml.listAlerts({
  status: "open",
  riskLevel: "high",
  limit: 20,
});

File SAR

http
POST /v1/aml/reports/sar
typescript
const sar = await iof.aml.fileSAR({
  alertId: "alert_123",
  narrative: "Suspicious pattern detected...",
  filingType: "initial",
});

Sanctions Lists

ListDescription
ofacUS OFAC SDN List
euEU Consolidated List
unUN Security Council
ukUK HMT Sanctions
localJurisdiction-specific

Risk Levels

LevelScoreAction
low0-30Auto-approve
medium31-60Enhanced monitoring
high61-80Manual review
critical81-100Block and investigate

Alert Types

TypeDescription
sanctions_hitSanctions match found
unusual_patternUnusual transaction pattern
velocityHigh transaction velocity
structuringPotential structuring
geographicHigh-risk geography

Webhooks

EventDescription
aml.screening.completedScreening completed
aml.alert.createdNew alert created
aml.alert.escalatedAlert escalated

Next Steps

Licensed under the Apache License 2.0