API Schema Documentation
Complete reference for our API response structures
Two Response Types: Our API returns different schemas depending on the operation:
EntitySearchResult- Returned when searching for entities (lightweight, optimized for lists)EntityDetailsResponse- Returned when fetching full entity details (comprehensive, includes enrichment data)
Search EntitySearchResult
Returned by: GET /api/v1/entities?name=... (search endpoint)
Purpose: Lightweight entity records optimized for search results and list views. Contains core identification fields and basic risk information.
person,
organization, vessel, aircraft
["US", "GB"]). Combines data from countries, locations, and nationality fields.
Fraud,
Money Laundering, Terrorism, Corruption,
Sanctions
admedia (Adverse Media),
sanctions, pep
"1975-05-15 - 1975"). Multiple date formats joined by " - ".
"IMO-9876543")."Financial Services", "Manufacturing").{
"id": "eb83d4c4-9ecf-463e-acdb-64e1978ce107",
"name": "JOHN MICHAEL DOE",
"entity_type": "person",
"countries": ["US", "GB"],
"risk": ["Money Laundering", "Fraud"],
"data_source": "admedia",
"match_score": 95.5,
"birth_information": "1975-05-15 - 1975",
"original_name": "João Miguel Silva"
}
Details EntityDetailsResponse
Returned by:
GET /api/v1/entities?id=...&include=summary,risk_timeline,notes,graph
Purpose: Comprehensive entity profile with enrichment data. Includes summaries, risk timelines with source citations, relationship graphs, and extracted metadata.
Core Fields
person,
organization, vessel, aircraft
Enrichment Fields
occurred_at(string): Event date in ISO 8601 formatrisk_status(string): Status label (e.g.,arrested,convicted,investigated)summary(string): Event descriptionprovenance(array[object]): Source citations withurl,publisher,snippet,publishdate
role,
occupation, crime_status, location). Dynamic fields
based on available data. Omitted if empty.
source_name(string): Name of the source entitytarget_name(string): Name of the related entityrelation_type(string): Relationship type (e.g.,PROSECUTING,TRANSPORTED_FROM,VIOLATED_SANCTIONS_BY)relation_description(string): Human-readable description
{
"id": "a11bf442-7a95-4470-aa94-41a1863276ed",
"name": "BELLA 1",
"entity_type": "vessel",
"aliases": ["Marinera"],
"countries": ["BY"],
"risk": ["Sanctions Connect", "Terrorist Related", "Sanctions violation"],
"data_source": "admedia",
"summary": "Oil tanker involved in sanctions evasion activities...",
"risk_timeline": [
{
"occurred_at": "2020-08-14",
"risk_status": "seized",
"summary": "Seized by U.S. authorities for sanctions violations",
"provenance": [
{
"url": "https://news.example.com/bella-seized",
"publisher": "Reuters",
"snippet": "U.S. seizes Iranian fuel cargo from vessel Bella 1...",
"publishdate": "2020-08-14"
}
]
}
],
"notes": {
"vessel_type": "Oil Tanker",
"flag": "Belarus"
},
"graph": [
{
"source_name": "BELLA 1",
"target_name": "U.S. DEPARTMENT OF JUSTICE",
"relation_type": "PROSECUTING",
"relation_description": "Subject of DOJ sanctions enforcement"
},
{
"source_name": "BELLA 1",
"target_name": "IRAN",
"relation_type": "TRANSPORTED_FROM",
"relation_description": "Transported petroleum products from Iran"
},
{
"source_name": "BELLA 1",
"target_name": "U.S. COAST GUARD",
"relation_type": "VIOLATED_SANCTIONS_BY",
"relation_description": "Violated OFAC sanctions regulations"
}
]
}
Note: All optional fields are omitted from the response if they are empty, null, or contain no data. This keeps responses lean and focused on available information.