Documentation Index
Fetch the complete documentation index at: https://ventra.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Every new signup is screened against OFAC, EU, UN, and UK sanctions lists. False positives are common, so a hit does not block signup — instead the user’s transactions are held until Anunnaki compliance reviews the case. This balances safety with user experience.
Production cutover will use ComplyAdvantage; sandbox runs against a deterministic stub.
Tipping-off is prohibited. Never tell a user they were flagged for sanctions. Use generic language only (“Account under review”). This is a criminal offence in many jurisdictions under FATF guidance. Currents response shapes and webhooks intentionally omit matched-entity details from the operator-facing surface — matched names live only in admin tooling.
Scope at launch
| Screen type | Status |
|---|
| Sanctions (OFAC, EU, UN, UK) | Enabled (KGC required) |
| Politically Exposed Persons (PEP) | Off — can enable later |
| Adverse media | Off — can enable later |
| Crypto address screening | Out of scope |
Endpoints
| Method | Path | Description |
|---|
POST | /v1/sanctions/screen | Screen a user at signup. Idempotent on (tenant, external_user_id). |
GET | /v1/sanctions/status | Read current screening status for a user. |
POST /v1/sanctions/screen
curl https://sandbox.api.anunnakielite.com/v1/sanctions/screen \
-H "Authorization: Bearer cur_sk_test_EXAMPLEKEY123456789012345678901234" \
-H "Content-Type: application/json" \
-d '{
"user_id": "rt_usr_8a2f1c",
"first_name": "Jane",
"last_name": "Doe",
"date_of_birth": "1992-04-17",
"nationality": "FR",
"email": "jane.doe@example.com"
}'
Clear:
{
"screen_id": "scr_a1b2c3",
"user_id": "rt_usr_8a2f1c",
"status": "clear",
"checked_at": "2026-05-24T15:02:00Z",
"transactions_held": false
}
Hit (signup still allowed; transactions auto-held):
{
"screen_id": "scr_a1b2c3",
"user_id": "rt_usr_8a2f1c",
"status": "hit_review_pending",
"match_count": 1,
"highest_match_score": 0.92,
"case_id": "case_99f02a",
"checked_at": "2026-05-24T15:02:00Z",
"transactions_held": true,
"signup_allowed": true,
"estimated_review_time": "24-48h"
}
Matched-entity names are never returned at this endpoint. They are visible only to Anunnaki compliance via admin tooling.
GET /v1/sanctions/status
curl "https://sandbox.api.anunnakielite.com/v1/sanctions/status?user_id=rt_usr_8a2f1c" \
-H "Authorization: Bearer cur_sk_test_EXAMPLEKEY123456789012345678901234"
| Status | Meaning |
|---|
clear | No hits. Transactions allowed. |
hit_review_pending | Hit, under review. All transactions held. |
cleared | Reviewer dismissed as false positive. Holds lifted. |
confirmed | Reviewer confirmed real match. Account terminated, funds frozen. |
Webhooks
| Event | Fires when |
|---|
sanctions.hit | Screening returned a hit; transactions auto-held. |
sanctions.cleared | Reviewer dismissed the hit; resume transactions. |
sanctions.confirmed | Reviewer confirmed real match; terminate account, freeze funds. |
sanctions.account_frozen | Auxiliary event fired alongside sanctions.confirmed for an unambiguous freeze signal. |
{
"event": "sanctions.cleared",
"event_id": "evt_san_a1b2c3",
"timestamp": "2026-05-25T09:14:00Z",
"data": {
"case_id": "case_99f02a",
"user_id": "rt_usr_8a2f1c",
"reviewer": "anunnaki_compliance",
"transactions_held": false
}
}
Sandbox triggers (stub vendor)
| Identity | Result |
|---|
first_name: "SanctionedSam" | hit_review_pending, score ≥ 0.95 (OFAC SDN). |
first_name starts with "Maybe" | hit_review_pending, borderline score ~0.85. |
last_name: "TestHit" | hit_review_pending, 2 matches (OFAC + EU). |
| Anything else | clear. |
Policy
- Vendor: ComplyAdvantage at production cutover.
- Scope: sanctions only at launch — no PEP, no adverse media.
- Review SLA: 48 hours from signup.
- Re-screening: quarterly bulk re-screen of active users; on-demand if needed.
Error codes
| Status | Code |
|---|
| 400 | missing_fields |
| 401 | unauthorized |
| 409 | already_screened (use GET /status instead) |
| 429 | rate_limited |
| 503 | vendor_unavailable (retry with backoff) |