Per-group health rollup for the site-matrix / region-rollup / geo-map widgets.
const url = 'https://example.com/api/v1/fleet/group-summary';const options = {method: 'GET', headers: {Authorization: 'Bearer <token>'}};
try { const response = await fetch(url, options); const data = await response.json(); console.log(data);} catch (error) { console.error(error);}curl --request GET \ --url https://example.com/api/v1/fleet/group-summary \ --header 'Authorization: Bearer <token>'View-gated and works without the admin store — the node→group map comes from the shared
NodeListing. The client joins these counts to the bounded group tree for names and geo, and
sums descendants for the region rollup.
Authorizations
Section titled “Authorizations”Responses
Section titled “Responses”Per-group direct-member state tallies, keyed by group id
The per-group rollup response: group_id → direct-member state counts.
object
object
Per-group direct-member state tally. All six keys are always present (a missing state is 0)
and they sum to the group’s direct-member count.
object
Examplegenerated
{ "groups": { "additionalProperty": { "critical": 1, "maintenance": 1, "ok": 1, "unknown": 1, "unreachable": 1, "warning": 1 } }}No valid bearer token
The ADR-019 envelope every failure renders as. pub(crate) and schema-bearing so the OpenAPI
document can name one error shape for every endpoint (ADR-035) instead of leaving 4xx/5xx bodies
undescribed — a client that has to guess the failure shape ends up parsing the success shape and
reading undefined.
object
object
Stable machine-readable code. Clients branch on this, never on the message.
Operator-facing sentence. Safe to display; never carries an internal error’s own text.
Examplegenerated
{ "error": { "code": "example", "message": "example" }}Role lacks the view permission
The ADR-019 envelope every failure renders as. pub(crate) and schema-bearing so the OpenAPI
document can name one error shape for every endpoint (ADR-035) instead of leaving 4xx/5xx bodies
undescribed — a client that has to guess the failure shape ends up parsing the success shape and
reading undefined.
object
object
Stable machine-readable code. Clients branch on this, never on the message.
Operator-facing sentence. Safe to display; never carries an internal error’s own text.
Examplegenerated
{ "error": { "code": "example", "message": "example" }}