Skip to content

Get risk performance metrics for an organization

GET
/v1/organizations/{id}/risk-performance
curl --request GET \
--url 'https://api.adversarial.com/api/v1/organizations/123e4567-e89b-12d3-a456-426614174000/risk-performance?start_date=2026-01-01&end_date=2026-12-31'
id
required
string format: uuid

The UUID of the organization

Example
123e4567-e89b-12d3-a456-426614174000
start_date
string | null format: date-time

Inclusive lower bound on the window. RFC 3339 timestamp or bare YYYY-MM-DD; either way the window starts at 00:00:00Z of the UTC day it falls on. Defaults to 90 days before today.

Example
2026-01-01
end_date
string | null format: date-time

Inclusive upper bound on the window. RFC 3339 timestamp or bare YYYY-MM-DD; either way the window ends at 23:59:59.999999Z of the UTC day it falls on. Defaults to end-of-day today.

Example
2026-12-31

Risk performance metrics

Media typeapplication/json

Standalone risk SLA-performance summary (the /risk-performance endpoint). The sla block of the risk metrics response without the counts, evaluated over every urgency band — this endpoint takes no band selection, so a band-filtered dashboard card reports a different percentage over a different population.

object
average_performance_percentage
required

Mean SLA-window consumption across evaluated risks, as a percentage (elapsed ÷ SLA window, averaged over risks, rounded). Clamped to ≥0 but NOT capped at 100 — values over 100 mean risks are past their SLA deadline. 0 when no risks are evaluable.

integer format: int32
org_id
required

Organization the metrics are scoped to.

string format: uuid
performance_series
required

The percentage sampled across the look-back, oldest→newest, starting at the first boundary with an evaluable population — earlier boundaries are omitted rather than reported as a fabricated 0%. Up to 2–13 points by period_days; empty when no risks are evaluable. When non-empty, the final point equals average_performance_percentage.

Array<integer>
period_days
required

Span of the requested window in whole days (end_date − start_date), echoed back so the client can confirm the bounds it was served.

integer format: int32
total_risks_evaluated
required

Number of risks contributing to the percentage: scored, with an SLA configured, and either closed inside the window or still open at its end — whenever they were discovered.

integer format: int32
Examplegenerated
{
"average_performance_percentage": 1,
"org_id": "2489E9AD-2EE2-8E00-8EC9-32D5F69181C0",
"performance_series": [
1
],
"period_days": 1,
"total_risks_evaluated": 1
}

Organization not found