API reference
Decisions
GET /v1/decisions/{id} returns a decision with its score and the rules that fired.
GET /v1/decisions/{id}
Returns one decision with its score and reasons. Use it to look up a decision you were sent by ID, for example from an alert's decision_id.
Path parameters
id
string, uuid required
The decision's ID.
Example
Terminal
curl "$SENTINEL_URL/v1/decisions/5f0c2b7e-3a41-4c1d-9b6e-1f2a3b4c5d6e" \
-H "Authorization: Bearer $SENTINEL_KEY"
Response · 200
{
"id": "5f0c2b7e-3a41-4c1d-9b6e-1f2a3b4c5d6e",
"event_id": "9b21d4c8-7e5f-4a3b-8c2d-6e7f8a9b0c1d",
"decision": "block",
"risk_score": 90,
"alert_id": "c7d4e1a2-5b6c-4d7e-8f9a-0b1c2d3e4f5a",
"decided_in_ms": 41,
"reasons": [
{
"rule": "high_velocity_24h",
"version": 1,
"detail": "20 or more transactions from the same source within 24h"
},
{
"rule": "structuring_below_threshold",
"version": 1,
"detail": "repeated transfers just below the reporting threshold within 24h"
}
],
"created_at": "2026-10-15T11:02:41.041Z"
}
Response fields
| Field | Type | Meaning |
|---|---|---|
id | string, uuid | The decision's ID |
event_id | string, uuid | The event it decides |
decision | string | allow, review or block |
risk_score | integer | 0 to 100. The sum of the weights of the rules that fired, capped at 100. |
alert_id | string, uuid | The alert this decision is on. Set only when the decision is review or block. Several decisions from one source can share an alert. |
decided_in_ms | integer | How long Sentinel took, in milliseconds, from receiving the event to making the decision. Absent on decisions made before this was recorded. |
reasons | array | One entry per rule that fired. Empty when nothing fired. |
reasons[].rule | string | The rule's ID |
reasons[].version | integer | The rule version that fired |
reasons[].detail | string | A plain description of why it fired |
created_at | string, date-time | When the decision was made |
Decision bands
| Score | Decision |
|---|---|
| Under 50 | allow |
| 50 to 89 | review |
| 90 and above | block |
The thresholds are fixed in the current release.
Errors
| Code | error |
|---|---|
401 | missing or invalid API key |
404 | decision not found |