Skip to main content

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 typeStatus
Sanctions (OFAC, EU, UN, UK)Enabled (KGC required)
Politically Exposed Persons (PEP)Off — can enable later
Adverse mediaOff — can enable later
Crypto address screeningOut of scope

Endpoints

MethodPathDescription
POST/v1/sanctions/screenScreen a user at signup. Idempotent on (tenant, external_user_id).
GET/v1/sanctions/statusRead 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"
StatusMeaning
clearNo hits. Transactions allowed.
hit_review_pendingHit, under review. All transactions held.
clearedReviewer dismissed as false positive. Holds lifted.
confirmedReviewer confirmed real match. Account terminated, funds frozen.

Webhooks

EventFires when
sanctions.hitScreening returned a hit; transactions auto-held.
sanctions.clearedReviewer dismissed the hit; resume transactions.
sanctions.confirmedReviewer confirmed real match; terminate account, freeze funds.
sanctions.account_frozenAuxiliary 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)

IdentityResult
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 elseclear.

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

StatusCode
400missing_fields
401unauthorized
409already_screened (use GET /status instead)
429rate_limited
503vendor_unavailable (retry with backoff)