Who this is for. This endpoint feeds a provider’s NOC dashboard or a monitoring
integration — “which of my buildings are down right now, and how flaky has this one
been this week.” It is deliberately not an incident feed: there is no cause, no
operator notes, no estimated restore time, no switch/interface identity, and no
subscriber/affected counts. A provider reads where, never how or whose.
These fields are absent on purpose, not omitted by oversight.
Endpoint
X-API-Key: krnl_... with the provisioning:read scope. A key scoped
provisioning:write also passes — write implies read.
Scope of the answer
Every live building in your coverage footprint is reported, whether or not you have subscribers there — this is a coverage-scoped read, not a subscription-scoped one. A building your account covers but currently has no customers in still shows up. Buildings still in planning, provisioning or testing are not listed — only buildings whose pipeline status islive are included.
Only building-level and NOC-level outages are reflected. A single-line (per-customer
loop) fault never appears here, however long it has been open.
An empty buildings array with next_cursor: null means you have no live covered
buildings right now — not that something failed. If that is unexpected, coverage has
not been configured for your provider yet.
Query parameters
Results are sorted by
building_id ascending. That fixed order is what makes
cursor stable and resumable — paging through does not skip or repeat a building
relative to where you left off.
An out-of-range limit or an unrecognized status value returns 422.
Response — 200 OK
Polling
Poll no faster than every 15 seconds. The status fold behind this endpoint is cached per provider for 15 s; a tighter loop just replays the same cached result against your own rate-limit budget — which is exactly what an unchangedgenerated_at between two calls tells you. Polling faster than every 15 seconds
gains nothing.