# Get alert totals **GET /alerts/totals** Returns active alert counts by severity (from Mimir, per-tenant) and total resolved alert history count (from DB). Requires `read:systems` permission. **Three scope modes** (selected by query params): | `organization_id` | `include` | Result | |---|---|---| | omitted | — | Caller's full hierarchy (recursive). For Customer it's just self. | | `X` | omitted | Single tenant `X` only. Resellers/Distributors hold no alerts on their own tenant — those live on their customer tenants — so single-tenant queries on a non-leaf org typically return zero. | | `X` | `descendants` | `X` plus everything under `X` (drill-down). Use this to view a sub-tree. | Active counts are aggregated across the resolved scope by fanning out to Mimir, one request per tenant, with bounded concurrency and a global timeout. Per-tenant failures (timeout, 5xx, parse error) are non-fatal: their counts simply don't contribute, and the failure is reported in the `warnings` array. The `history` total comes from a single SQL query scoped to the same set of organization IDs. Customer callers are always pinned to their own organization regardless of `organization_id`/`include` (Mimir tenant is fixed to `user.organization_id`). ## Servers - Backend API server (port 8080): https://api.your-domain.com/api (Backend API server (port 8080)) - Collect API server (port 8081): https://collect.your-domain.com/api (Collect API server (port 8081)) ## Authentication methods - Bearer auth ## Parameters ### Query parameters - **organization_id** (string) Target organization ID. Optional for all roles except Customer (where it is ignored). Distributors/Resellers receive `403` if `X` is not in their hierarchy. - **include** (string) Set to `descendants` together with `organization_id` to aggregate over the target org's full sub-tree. Ignored when `organization_id` is omitted (the caller's own hierarchy is already used) and when caller is a Customer. ## Responses ### 200 Alert totals retrieved #### Body: application/json (object) - **code** (integer) - **message** (string) - **data** (object) ### 401 Unauthorized - invalid or missing token #### Body: application/json (object) - **code** (integer) - **message** (string) - **data** (object | null) ### 403 Forbidden - insufficient permissions #### Body: application/json (object) - **code** (integer) - **message** (string) - **data** (object | null) [Powered by Bump.sh](https://bump.sh)