Transactions & monitoring
Two related workflows: real-time transaction screening for in-flight payments, and event-driven continuous monitoring for ongoing customer due diligence.
Transaction screening
Endpoint: workflow.apply.submit with eventType: TRANSACTION_EVENT. Sub-100ms decisions, sync or async depending on the workflow configuration.
Request
{
"eventType": "TRANSACTION_EVENT",
"source": "API",
"data": {
"clientTransactionId": "TXN-20260416-001",
"transactionType": "WITHDRAW",
"amount": 199999.98,
"transactionCurrencyId": "SGD",
"altCurrencyId": "SGD",
"amountInAltCurrency": 199999.99,
"customerId": "C_abc123",
"customerType": 1,
"cpAId": "SENDER_001",
"cpABank": "Standard Chartered",
"cpACountry": "SINGAPORE",
"cpBId": null,
"cpBBank": null,
"cpBCountry": null,
"transactionTimestamp": "2026-04-16T10:30:00Z"
}
}
Response (sync)
{
"apiCode": 200,
"data": {
"executionId": "exec-7a3f1b2c4d5e6f78",
"status": "COMPLETED",
"durationMs": 12,
"output": {
"action": "approve",
"code": 100000
}
}
}
Possible output.action values: approve, hold, escalate, reject. The full output includes the rules that fired and matched signals.
Continuous monitoring
Endpoint: workflow.apply.submit with eventType: PERIODIC_FLOW_EVENT. Use this to re-screen a customer on demand or on a scheduled basis.
Field reference
| Field | Type | Description |
|---|---|---|
customerId | String | Customer identifier |
customerType | String | INDIVIDUAL / CORPORATE |
name | String | Full or company name |
phone | String | E.164 format |
email | String | Customer email |
dateOfBirth | String | YYYY-MM-DD |
countryOfNationality | String | ISO 2-letter |
countryOfResidence | String | ISO 2-letter |
idType | String | Document type |
idNumber | String | Document number |
companyName | String | Corporate only |
entityType | String | From config |
incorporationNumber | String | Corporate only |
riskLevel | String | LOW / MEDIUM / HIGH |
startTime | Long | Epoch ms — current window start |
lastStartTime | Long | Epoch ms — previous window start |
Event-driven re-screen. Trigger monitoring on real signals: sanctions update, address change, behavioural anomaly. Calendar-based periodic review is supported but discouraged — risk changes faster than any review cycle.