Get System Health
Fleet-wide detection-pipeline health — the Analytics → System Health tab.
OWNER + SUPPORT (require_diagnostics_reader; support since the owner ask of 2026-10-14) and NOT the monitoring manager — note that /summary beside it was relaxed to require_ops_lead by owner decision 2026-09-15 while this route deliberately was not (the decision's "Out of scope" list names GET /analytics/system-health alongside Training and logs/*). The two no longer share a dependency, and that divergence is the point: every block here is a cross-tenant fleet aggregate (fail-open share across the whole fleet, per-camera accept-rate outliers naming cameras under every parent). There is deliberately no scoped variant — one would leak fleet facts by construction — so there are no filter parameters and nothing for ensure_analytics_filter_in_scope to check. Adding a filter later is therefore a deliberate act, not a default.
No query parameters in v1: the windows are fixed (1h / 24h / 7-day band per block, each block self-describing), and the service serves the whole payload from a ~5-minute in-process cache, so polling it is cheap by construction.
Request
- Base URLhttps://api.verdun.ai (the document declares no server; this is the origin it was published from)
- URLhttps://api.verdun.ai/analytics/system-health
- AuthHTTP bearer
Response
Successful Response
Example response
{
"cache_age_seconds": 42,
"fail_open": {
"window_1h": {
"fail_open": 12,
"total": 1004,
"pct": 1.2
},
"window_24h": {
"fail_open": 12,
"total": 1004,
"pct": 1.2
},
"legacy_validator_24h": {
"fail_open": 12,
"total": 1004,
"pct": 1.2
},
"band_7d_pct": {
"p50": 0.8,
"p90": 2.1,
"days": 7
}
},
"gate": {
"window_24h": {
"stopped": 310,
"total": 990,
"stop_pct": 31.3,
"fire_screens": 118,
"fire_screen_cost_usd": 4.91
},
"band_7d_stop_pct": {
"p50": 0.8,
"p90": 2.1,
"days": 7
}
},
"queue": {
"depth": 41,
"age_p95_minutes": 122,
"oldest_unreviewed_minutes": 611,
"expiry_horizon_hours": 24
},
"heightened": {
"window_24h": {
"heightened_evals": 420,
"ai_escalated": 356,
"ai_escalate_pct": 84.8,
"operator_graded": 190,
"operator_false_alarm": 155,
"benign_pct": 81.6
},
"band_7d_benign_pct": {
"p50": 0.8,
"p90": 2.1,
"days": 7
}
},
"camera_accept": {
"window_days": 7,
"cameras": 65,
"fleet_accept_pct": 68.5,
"band": {
"p25": 61,
"p75": 74,
"eligible_cameras": 58,
"min_cameras": 4
},
"band_rule": "fleet p25/p75 ± 1.5 × IQR over cameras with total >= min_volume",
"min_volume": 50,
"outliers": [
{
"camera_label": "18 - SW Exterior Quad - SW",
"total": 412,
"accept_pct": 99.3,
"fail_open": 2,
"direction": "high"
}
]
},
"second_look": {
"window_24h": {
"low_band_rows": 130,
"traces": 126,
"trace_pct": 96.9,
"status_mix": {
"ran": 96,
"skipped": 30
},
"skipped_reasons": {
"not_gated": 8,
"timeout": 22
},
"decision_mix": {
"defer_to_2b": 65,
"would_conclude_benign": 61
}
}
},
"policy": {
"window_24h": {
"version_mix": {
"boundary-live-v2": 980,
"preboundary-v2": 24
},
"fallback_nonzero": 24
}
}
}Changes
No recorded changes to this operation across all 2 revisions of this API.