API Reference
Complete reference documentation for the SanctionsWise Screening API.
Base URL: https://api.sanctionswise.orchestraprime.ai/v1
API Version: v1.0.0
Authentication​
All API requests require an API key passed in the x-api-key header:
curl -X POST "https://api.sanctionswise.orchestraprime.ai/v1/screen/entity" \
-H "x-api-key: YOUR_API_KEY" \
-H "Content-Type: application/json"
Get your API key from AWS Marketplace or app.orchestraprime.ai.
Endpoints Overview​
| Endpoint | Method | Description |
|---|---|---|
/v1/screen/entity | POST | Screen a single entity |
/v1/screen/batch | POST | Screen up to 100 entities |
/v1/entities/{id} | GET | Get entity details |
/v1/lists | GET | List available sanctions lists |
/v1/health | GET | Service health check |
Response Objects​
Screening Response​
{
"screening_id": "SCR-20251210185252-2FFDC8AE",
"status": "potential_match",
"query": {
"name": "Vladimir Putin",
"entity_type": "individual",
"threshold": 0.60,
"lists_screened": ["ofac_sdn"]
},
"matches": [...],
"match_count": 10,
"timestamp": "2025-12-10T18:52:52.527387Z",
"processing_time_ms": 378,
"data_freshness": {
"last_update": "2025-12-10T17:26:38Z"
}
}
Match Object​
| Field | Type | Description |
|---|---|---|
| entity_id | string | Unique SanctionsWise entity identifier |
| matched_name | string | Name that matched the query |
| confidence_score | number | Match confidence (0.0-1.0) |
| match_type | string | How the match was found |
| semantic_score | number | Semantic similarity (if used) |
| entity_details | object | Entity information |
| source_evidence | object | Audit trail information |
| identifier_evidence | object | Document match details (if applicable) |
Match Types​
| Type | Description |
|---|---|
exact | Direct normalized name match |
fuzzy | Fuzzy string similarity match |
fuzzy+semantic | Fuzzy match enhanced by semantic similarity |
semantic | Found primarily via semantic search |
identifier_confirmed | Match confirmed by document number |
Source Evidence Object​
| Field | Type | Description |
|---|---|---|
| source_authority | string | Issuing authority (e.g., "US Treasury OFAC") |
| source_list_id | string | List identifier (e.g., "ofac_sdn") |
| source_entry_uid | string | Original entry ID in source list |
| last_updated | string | ISO 8601 timestamp of last data update |
Status Values​
| Status | Description | Action Required |
|---|---|---|
clear | No matches above threshold | None - proceed with transaction |
match | High-confidence match (≥95%) | Block transaction, escalate |
potential_match | Matches found requiring review | Manual review required |
Error Responses​
400 Bad Request​
{
"error": "Field \"name\" is required and must be a string"
}
401 Unauthorized​
{
"message": "Unauthorized"
}
403 Forbidden​
{
"message": "Forbidden - Invalid API key"
}
429 Too Many Requests​
{
"message": "Rate limit exceeded",
"retry_after_seconds": 60
}
500 Internal Server Error​
{
"error": "Internal server error",
"message": "An error occurred processing your request"
}
Rate Limits​
| Tier | Rate Limit | Burst Limit | Daily Quota |
|---|---|---|---|
| Free | 1/sec | 5 | 500 |
| Starter | 5/sec | 20 | 5,000 |
| Professional | 25/sec | 100 | 25,000 |
| Enterprise | 50/sec | 200 | 100,000+ |
See Rate Limits for detailed information.