Reading events
GET /api/bng/events read_only
Synthesises the live set, reconciles it against history, and returns the current
console.
{
"events": [
{
"id": "sensor:FAN2",
"kind": "sensor_status",
"severity": "critical",
"sensor": "FAN2",
"value": 0.0,
"unit": "RPM",
"summary": "FAN2 reported lcr",
"detail": "ipmitool flagged FAN2 as lcr (value 0.0 RPM).",
"ts": 1753000000.0,
"source": "ipmi",
"link": "/bng/health",
"link_label": "Health",
"condition_state": "active",
"first_seen_ts": 1752999000.0,
"resolved_at": null
}
],
"count": 3,
"active_count": 2,
"recovered_count": 1
}
condition_state is active or recovered. severity is critical,
warning, or info. Acknowledged identifiers are filtered out entirely.
Sort order is deliberate: recovered entries first, then active, each group
ordered by first_seen_ts descending. Recovered entries lead because they are the
ones requiring an operator decision — an active fault is still visible on the
health endpoint, whereas a recovered one will vanish the moment it is
acknowledged and is the item at risk of being missed.
For a recovered entry the payload is rewritten: the summary is prefixed
"RESOLVED — " and the detail is replaced with the incident window and duration,
followed by a note that acknowledgement is awaited.
Recall that this call has write side effects, and that a single collector should
own it.