Skip to main content

Check Compliance

POST/compliance/checkOpen in the API playground →
Info

Internal endpoint called by Gateway services to verify if a transaction is permissible under current rules.

Request

Authorizationstringheaderrequired

Bearer olive_default_xxx (Internal Service Token)

Body Parameters

subscriber_idstringbodyrequired

Subscriber UUID

amountintegerbodyrequired

Amount in cents

transaction_typestringbodyrequired

Type: P2P, CASH_OUT, PAYMENT

recent_transaction_countintegerbody

Velocity check (last 24h count)

is_new_locationbooleanbody

Geo-velocity check


Response

allowedboolean

Transaction allowed?

risk_levelstring

LOW, MEDIUM, HIGH, CRITICAL

violationstring

Rule violated (if allowed=false)


Examples

Request
cURL
curl -X POST "https://demo.api.vultlocal.com/api/v1/compliance/check" \
-H "Authorization: Bearer olive_internal_xxx" \
-H "Content-Type: application/json" \
-d '{
"subscriber_id": "sub_abc123",
"amount": 5000000,
"transaction_type": "CASH_OUT",
"recent_transaction_count": 5
}'
Response
200 Allowed
{
"allowed": true,
"risk_level": "LOW"
}
200 Blocked
{
"allowed": false,
"risk_level": "CRITICAL",
"violation": "DAILY_LIMIT_EXCEEDED",
"limit": 1000000,
"current": 1500000
}

Checks Performed

CheckDescription
Limit CheckIs amount within daily/single limits?
Balance CheckDoes wallet max balance exceed tier?
VelocityToo many transactions in short time?
WatchlistIs user on sanctions list?

Errors

StatusCodeDescription
400INVALID_INPUTBad request parameters
500rule_errorrule evaluation failed