Getting Started Guide
This guide walks you through everything you need to start screening entities against US Federal sanctions lists.
Prerequisites​
Before you begin, you'll need:
- An AWS account (for AWS Marketplace subscription)
- Basic familiarity with REST APIs
- A programming language/HTTP client of your choice
Step 1: Subscribe to SanctionsWise API​
Via AWS Marketplace​
- Visit AWS Marketplace
- Search for "SanctionsWise"
- Select your pricing tier:
- Free: 500 calls/month (ideal for evaluation)
- Starter: 5,000 calls/month ($99/month)
- Professional: 25,000 calls/month ($299/month)
- Enterprise: Custom pricing
- Click "Subscribe"
- Complete the subscription process
Direct Access​
Contact sales@orchestraprime.ai for:
- Volume discounts
- Custom contracts
- Enterprise features
Step 2: Get Your API Key​
After subscribing:
- Go to app.orchestraprime.ai
- Sign in with your AWS credentials
- Navigate to API Keys section
- Click Create API Key
- Copy and securely store your API key
Important
Keep your API key secure. Never commit it to source control or expose it in client-side code.
Step 3: Make Your First API Call​
Using cURL​
curl -X POST https://api.orchestraprime.ai/sanctionswise/screen/entity \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"name": "John Smith",
"entity_type": "individual"
}'
Using Python​
import requests
response = requests.post(
"https://api.orchestraprime.ai/sanctionswise/screen/entity",
headers={
"x-api-key": "YOUR_API_KEY",
"Content-Type": "application/json"
},
json={
"name": "John Smith",
"entity_type": "individual"
}
)
result = response.json()
print(f"Status: {result['status']}")
Using JavaScript​
const response = await fetch(
'https://api.orchestraprime.ai/sanctionswise/screen/entity',
{
method: 'POST',
headers: {
'x-api-key': 'YOUR_API_KEY',
'Content-Type': 'application/json'
},
body: JSON.stringify({
name: 'John Smith',
entity_type: 'individual'
})
}
);
const result = await response.json();
console.log(`Status: ${result.status}`);
Step 4: Understand the Response​
A successful screening response looks like:
{
"status": "clear",
"matches": [],
"audit_token": "at_abc123...",
"data_freshness": {
"ofac_sdn": "2025-12-11T08:00:00Z",
"bis_entity": "2025-12-08T00:00:00Z"
},
"request_id": "req_xyz789"
}
Response Status Values​
| Status | Meaning | Action |
|---|---|---|
clear | No matches found | Safe to proceed |
match | High confidence match | Review required |
potential_match | Lower confidence | Manual review recommended |
Step 5: Handle Matches​
When matches are found:
{
"status": "match",
"matches": [
{
"entity_id": "sdn_12345",
"name": "SMITH, John",
"score": 0.95,
"match_types": ["exact", "fuzzy"],
"list_id": "ofac_sdn",
"programs": ["SDGT"],
"source": {
"authority": "US Treasury OFAC",
"list_name": "Specially Designated Nationals",
"entry_id": "12345"
}
}
],
"audit_token": "at_abc123..."
}
Recommended Workflow​
- Store the audit token for compliance records
- Review match details including score and match types
- Escalate to compliance team for final decision
- Document the decision with the audit token
Step 6: Set Up Production Integration​
Environment Variables​
# Set in your environment
export SANCTIONSWISE_API_KEY=your-api-key
export SANCTIONSWISE_BASE_URL=https://api.orchestraprime.ai/sanctionswise
Error Handling​
Always implement proper error handling:
import requests
def screen_entity(name, entity_type="individual"):
try:
response = requests.post(
f"{BASE_URL}/screen/entity",
headers={"x-api-key": API_KEY},
json={"name": name, "entity_type": entity_type},
timeout=30
)
response.raise_for_status()
return response.json()
except requests.exceptions.Timeout:
# Handle timeout
raise Exception("Request timed out")
except requests.exceptions.HTTPError as e:
if response.status_code == 429:
# Handle rate limiting
retry_after = response.headers.get("Retry-After", 60)
raise Exception(f"Rate limited. Retry after {retry_after}s")
elif response.status_code == 401:
raise Exception("Invalid API key")
else:
raise Exception(f"API error: {e}")
Logging​
Log all screening requests for audit purposes:
import logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger("sanctionswise")
def screen_with_logging(name, entity_type):
logger.info(f"Screening: {name} ({entity_type})")
result = screen_entity(name, entity_type)
logger.info(f"Result: {result['status']}, audit_token: {result['audit_token']}")
return result
Next Steps​
Now that you're set up:
-
Explore the API Reference - Learn about all available endpoints
-
Understand Matching - Learn how our 5-layer matching works
-
Review Best Practices - Optimize your integration
-
Use SDKs - Simplify your integration
Getting Help​
- Documentation: You're in the right place!
- Dashboard: app.orchestraprime.ai
- Support: support@orchestraprime.ai
- Sales: sales@orchestraprime.ai
SanctionsWise API is a product of OrchestraPrime LLC