Skip to main content

Use Cases & Integration Patterns

Discover how organizations integrate SanctionsWise API into their compliance workflows.

Manual to API Migration​

The Problem: Manual Screening​

Many organizations still rely on manual screening processes:

StepManual ProcessTime
1Download OFAC list5 min
2Open in Excel2 min
3Ctrl+F search3 min
4Manual logging5 min

Issues with manual screening:

  • ❌ Stale data (lists update frequently)
  • ❌ Miss spelling variations
  • ❌ No audit trail
  • ❌ ~60% accuracy
  • ❌ 5+ minutes per entity

The Solution: SanctionsWise API​

MetricManualAPI
Time per entity5 min0.2 sec
Accuracy~60%99%+
AutomationNoneFull
Audit trailManualAutomatic

Why Manual Screening Misses Matches​

ScenarioManual SearchOFAC HasManual ResultAPI Result
Spelling Variation"Mohammed""Muhammad", "Mohamad"❌ MISSβœ… Phonetic Match
Entity Structure"Bank Rossiya""JOINT STOCK BANK 'ROSSIYA'"❌ MISSβœ… Fuzzy 0.78
Transliteration"Vladimir Putin""Π’Π»Π°Π΄ΠΈΠΌΠΈΡ€ ΠŸΡƒΡ‚ΠΈΠ½" (Cyrillic)❌ MISSβœ… Alias Match
Name Order"Kim Jong Un""Jong Un Kim"❌ MISSβœ… Token Match

Integration Patterns​

Pattern 1: Real-Time Transaction Screening​

Best for: Wire transfers, payment processing, customer onboarding

Wire Request β†’ SanctionsWise API β†’ Decision
↓
β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”
↓ ↓ ↓
CLEAR POTENTIAL MATCH
↓ ↓ ↓
Process Queue for Block &
Transfer Review Alert

Implementation:

import requests

def screen_wire_transfer(beneficiary_name, beneficiary_country=None):
response = requests.post(
"https://api.sanctionswise.orchestraprime.ai/v1/screen/entity",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"name": beneficiary_name,
"country": beneficiary_country,
"threshold": 0.85
}
)

result = response.json()

if result["status"] == "clear":
return {"action": "process", "screening_id": result["screening_id"]}
elif result["status"] == "potential_match":
return {"action": "review", "matches": result["matches"]}
else: # match
return {"action": "block", "matches": result["matches"]}

Pattern 2: Nightly Batch Screening​

Best for: Portfolio screening, periodic customer review, large migrations

Scheduled    Export         Chunk into        Parallel
Trigger β†’ Customer β†’ Batches of β†’ API Calls β†’ Morning
(2AM) List 100 Report

Implementation:

import requests
from concurrent.futures import ThreadPoolExecutor

def screen_batch(entities):
"""Screen up to 100 entities in a single batch"""
response = requests.post(
"https://api.sanctionswise.orchestraprime.ai/v1/screen/batch",
headers={"Authorization": f"Bearer {API_KEY}"},
json={"entities": entities, "threshold": 0.85}
)
return response.json()

def nightly_portfolio_screen(customers):
# Chunk into batches of 100
batches = [customers[i:i+100] for i in range(0, len(customers), 100)]

results = {"clear": 0, "review": 0, "match": 0}

# Process batches in parallel
with ThreadPoolExecutor(max_workers=5) as executor:
futures = [executor.submit(screen_batch, batch) for batch in batches]

for future in futures:
batch_result = future.result()
for result in batch_result["results"]:
results[result["status"]] += 1

return results

Pattern 3: Event-Driven Microservices​

Best for: Modern architectures, real-time triggers, serverless

# AWS Lambda handler for EventBridge events
import json
import requests

def lambda_handler(event, context):
# Extract entity from event
entity = event["detail"]

# Screen against sanctions lists
response = requests.post(
"https://api.sanctionswise.orchestraprime.ai/v1/screen/entity",
headers={"Authorization": f"Bearer {API_KEY}"},
json={
"name": entity["name"],
"entity_type": entity.get("type", "individual"),
"threshold": 0.85
}
)

result = response.json()

# Route based on result
if result["status"] == "match":
# Publish to blocking queue
return {"statusCode": 200, "action": "block"}
elif result["status"] == "potential_match":
# Publish to review queue
return {"statusCode": 200, "action": "review"}
else:
# Continue normal flow
return {"statusCode": 200, "action": "continue"}

Pattern 4: Hybrid Caching Strategy​

Best for: High-volume applications (50,000+ screens/day)

StatusCache TTLRationale
CLEAR24 hoursLow risk, reduce API calls
POTENTIAL_MATCH1 hourMay be resolved by analyst
MATCHNever cacheAlways escalate immediately

Benefits:

  • 80%+ cache hit rate
  • Under 50ms cached responses
  • 70% cost reduction

Industry Solutions​

Banking & Finance​

TouchpointAPI UsageTrigger
Account OpeningPOST /v1/screen/entityKYC submission
Wire TransferPOST /v1/screen/entityBefore execution
Loan OriginationPOST /v1/screen/batchApplication review
Trade FinancePOST /v1/screen/batchLC/BG issuance
Portfolio ReviewPOST /v1/screen/batchNightly batch

Cryptocurrency Exchanges​

EventScreeningAction
User RegistrationReal-time screeningCLEAR β†’ Approve / MATCH β†’ Reject
Withdrawal > $10KRe-screen userCheck for list updates since signup
High-risk jurisdictionLower threshold (0.60)Enhanced due diligence

E-Commerce & Export Control​

CheckEntities ScreenedLists
Order ScreeningCustomer name, shipping addressOFAC SDN
Export ControlEnd-user organizationBIS Entity List
Seller VerificationMarketplace sellersOFAC SDN

Shipping & Logistics​

FunctionEntitiesFrequency
Freight ForwardingShippers, consigneesPer shipment
Vessel CharteringVessels, owners (IMO #)Per charter
Customs BrokerageImporters, exportersPer declaration

Compliance Workflows​

Compliance Officer Daily Workflow​

TimeActivityAPI Usage
08:00Review overnight batchDashboard summary
09:00Process potential matchesGET /v1/entities/{id} for details
11:00Handle real-time escalationsApprove/reject with audit trail
14:00Respond to audit requestsRetrieve by screening_id
16:00Generate daily reportCoverage, false positive rate

AML Analyst Investigation Workflow​

  1. Alert Received - Initial screening hit notification
  2. Comprehensive Screening - Lower threshold (0.60), include identifiers
  3. Relationship Screening - Batch screen associates, employers, family
  4. Evidence Collection - GET /v1/entities/{id} for source authority, programs
  5. Decision - True Match β†’ File SAR / False Positive β†’ Document

Threshold Configuration Guide​

Risk ProfileThresholdFalse PositivesBest For
Conservative0.60HigherHigh-risk regions, crypto, sanctions-heavy corridors
Balanced0.85MediumStandard banking, payment processing
Aggressive0.95LowerHigh-volume, low-risk transactions

ROI Calculator​

Manual vs. API Comparison (100 screens/day)​

MetricManualAPISavings
Time per screen5 min0.2 sec99.9%
Daily time8.3 hours20 sec8.3 hours
Annual time2,166 hours1.4 hours2,165 hours
Cost @ $50/hr$108,300$3,588$104,712
Accuracy60%99%+39% gain
Audit coveragePartial100%Complete

Pricing Tiers​

TierPriceScreens/MonthRate LimitBest For
Free$0/mo5001/secTesting & POC
Starter$99/mo5,0005/secSmall business
Professional$299/mo25,00025/secMid-market
Enterprise$999+/mo100,000+50/secHigh volume

Migration Timeline​

4-Week Transition Plan​

WeekPhaseActivities
1-2Parallel RunningSign up for Free tier, run both manual AND API on same names, compare results, tune threshold
3-4Primary APIAPI becomes primary screening method, manual only for spot-checks
5+OptimizedIntegrate with core systems, automate batch screening, upgrade tier as volume grows

Next Steps​

  1. Sign up for free tier
  2. Review API documentation
  3. Explore SDK examples
  4. Contact sales for Enterprise pricing