Endpoint
Authentication
None — public endpoint. It is designed to stay reachable during outages: on any internal error it still returns HTTP200 with an empty list. A query parameter that is not a UUID is
your error and answers 422.
Query parameters
Scoping: a notice with no building/area targets is global and is always returned.
Targeted notices are only returned when your
building_id / service_area_id matches one
of the notice’s targets — without context you only see global notices. Only active notices
inside their display window (starts_at <= now <= ends_at, nulls open-ended) are returned.
Response — 200 OK
body and resolved_at are derived aliases: body mirrors message; resolved_at is
null while the notice is active and equals ends_at once it isn’t. service_provider_id
is null for a network-wide notice. A notice does not list its targets: which buildings or
areas it covers is decided on kurnl’s side by the scoping above.
On an internal error the endpoint degrades gracefully to { "notices": [] } with HTTP 200.