Sanction
Screening History

Screening History

Returns screenings already performed. This is the answer to the audit question "when did we screen this subject, in which mode, and what did we decide".

GET /api/v1/sanction/screening/history

Authentication: Sanctions Screening API. Required scope: sanction:view_results.

ParameterTypeNotes
limitnumberMaximum records to return

Response

{
  "success": true,
  "runsToday": 128,
  "reviewDecisions": 4,
  "blockedCount": 1,
  "avgLatencyMs": 142,
  "items": [
    {
      "runId": "run_01J9…",
      "screeningType": "name",
      "subject": "Mehmet Öz",
      "status": "completed",
      "decision": "review",
      "hits": 2,
      "duration": "128ms",
      "createdAt": "2026-08-14T09:12:00Z",
      "source": "api",
      "summary": "…",
      "tags": ["pep"],
      "timeline": ["…"],
      "requestPayloadJson": "{…}",
      "resultJson": "{…}"
    }
  ]
}
FieldMeaning
runIdRun id — identifies a single screening
screeningTypename · wallet · account · transaction
decisionThe decision made on that run
hitsHow many matches came back
sourceWhat triggered it (API call, ongoing monitoring…)
requestPayloadJsonThe request you sent — what was screened
resultJsonThe result returned — what was decided
timeline · tagsEvent timeline and tags

Summary counters (runsToday, reviewDecisions, blockedCount, avgLatencyMs) are returned alongside the list.

⚠️

For a defensible audit trail, fill customerReference when you screen. Otherwise you cannot tie a row here back to your own customer record — subject is just the text that was screened, not your identifier.

requestPayloadJson and resultJson preserve what your decision rested on at the time. When the lists change later your past decision does not; these fields let you say "this is what we had that day".