---
title: "Get misconfigured alerts for a room"
method: POST
path: "/api/v2/spaces/{spaceID}/rooms/{roomID}/alerts:misconfigured"
tags: ["alerts"]
---

# Get misconfigured alerts for a room

`POST /api/v2/spaces/{spaceID}/rooms/{roomID}/alerts:misconfigured`

## Request

- Base URL: `https://api.netdata.cloud` (the document declares no server; this is the origin it was published from)
- URL: `https://api.netdata.cloud/api/v2/spaces/{spaceID}/rooms/{roomID}/alerts:misconfigured`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/netdata/apis/netdata-cloud-api/docs/api/v2/spaces/:spaceID/rooms/:roomID/alerts:misconfigured/post.ts> (a function with typed inputs; its response is checked against the schema)

Retrieve alerts that are firing too often, stuck in a raised state, silenced for too long, or never dispatched for a given room

## Path parameters

- `spaceID` string, uuid, required
- `roomID` string, uuid, required

## Request body

- ApiMisconfiguredAlertsRequest
  - `categories` string[]: Filter results to specific misconfiguration categories; empty means all categories
  - `thresholds` ApiMisconfiguredAlertsThresholds
    - `dispatch_none` ApiDispatchNoneThresholds
      - `count` integer: Minimum non-dispatched event count to flag an alert (default 10, max 5000)
      - `window_seconds` integer: Lookback window in seconds for dispatch-none detection (default 2592000, max 7776000)
    - `firing_often` ApiFiringOftenThresholds
      - `transitions` integer: Minimum number of transitions to flag an alert (default 30, max 5000)
      - `window_seconds` integer: Lookback window in seconds for counting transitions (default 259200, max 7776000)
    - `silenced_long` ApiSilencedLongThresholds
      - `count` integer: Minimum silenced dispatch count to flag an alert (default 20, max 5000)
      - `window_seconds` integer: Lookback window in seconds for silenced-long detection (default 2592000, max 7776000)
    - `stuck_raised` ApiStuckRaisedThresholds
      - `duration_seconds` integer: Minimum raised duration in seconds to flag an alert (default 1209600, max 7776000)

## Response `200`

The misconfigured alerts results

- ApiMisconfiguredAlertsResponse
  - `dispatch_none` ApiDispatchNoneResponse
    - `items` ApiDispatchNoneItem[]: Individual alerts that exceeded the non-dispatched event threshold
      - `alert` ApiDispatchNoneAlert
        - `chart` string: Chart the alert belongs to
        - `context` string: Chart context
        - `name` string: Alert name
      - `count` integer: Number of dispatch events where no notification was sent within the lookback window
      - `first` integer: Timestamp of the first non-dispatched event, in unix milliseconds
      - `last` integer: Timestamp of the last non-dispatched event, in unix milliseconds
      - `node` ApiMisconfiguredNode
        - `id` string: Node unique identifier
        - `name` string: Node hostname
    - `totals` ApiDispatchNoneTotals
      - `count` integer: Sum of non-dispatched event counts across all flagged alerts
      - `items` integer: Number of alerts flagged as never dispatched
  - `firing_often` ApiFiringOftenResponse
    - `items` ApiFiringOftenItem[]: Individual alerts that exceeded the transition threshold
      - `alert` ApiFiringOftenAlert
        - `chart` string: Chart the alert belongs to
        - `context` string: Chart context
        - `name` string: Alert name
      - `node` ApiMisconfiguredNode
        - `id` string: Node unique identifier
        - `name` string: Node hostname
      - `transitions` integer: Number of transitions within the lookback window
    - `totals` ApiFiringOftenTotals
      - `items` integer: Number of alerts flagged as firing too often
      - `transitions` integer: Sum of transitions across all flagged alerts
  - `silenced_long` ApiSilencedLongResponse
    - `items` ApiSilencedLongItem[]: Individual alerts that exceeded the silenced dispatch threshold
      - `alert` ApiSilencedLongAlert
        - `chart` string: Chart the alert belongs to
        - `context` string: Chart context
        - `name` string: Alert name
      - `count` integer: Number of dispatch events where the alert was silenced within the lookback window
      - `first_silenced` integer: Timestamp of the first silenced dispatch event, in unix milliseconds
      - `last_silenced` integer: Timestamp of the last silenced dispatch event, in unix milliseconds
      - `node` ApiMisconfiguredNode
        - `id` string: Node unique identifier
        - `name` string: Node hostname
    - `totals` ApiSilencedLongTotals
      - `count` integer: Sum of silenced dispatch counts across all flagged alerts
      - `items` integer: Number of alerts flagged as silenced for too long
  - `stuck_raised` ApiStuckRaisedResponse
    - `items` ApiStuckRaisedItem[]: Individual alerts stuck in a raised state, sorted by duration descending
      - `alert` ApiStuckRaisedAlert
        - `chart` string: Chart the alert belongs to
        - `context` string: Chart context
        - `duration_seconds` integer: How long the alert has been raised in seconds
        - `name` string: Alert name
        - `status` 'critical' | 'warning': Current alert status
        - `triggered_at` integer: When the alert was triggered, in unix milliseconds
        - `units` string: Unit of the alert value (e.g. "%", "MB/s"); empty when the alert config has no units
        - `value` number: Current alert value
      - `node` ApiMisconfiguredNode
        - `id` string: Node unique identifier
        - `name` string: Node hostname
    - `totals` ApiStuckRaisedTotals
      - `critical` ApiStuckRaisedStatusTotal
        - `duration_seconds` integer: Sum of raised durations in seconds for this status
        - `items` integer: Number of alerts with this status
      - `duration_seconds` integer: Sum of raised durations in seconds across all items
      - `items` integer: Number of stuck alerts
      - `warning` ApiStuckRaisedStatusTotal
        - `duration_seconds` integer: Sum of raised durations in seconds for this status
        - `items` integer: Number of alerts with this status
  - `thresholds` ApiMisconfiguredAlertsThresholds
    - `dispatch_none` ApiDispatchNoneThresholds
      - `count` integer: Minimum non-dispatched event count to flag an alert (default 10, max 5000)
      - `window_seconds` integer: Lookback window in seconds for dispatch-none detection (default 2592000, max 7776000)
    - `firing_often` ApiFiringOftenThresholds
      - `transitions` integer: Minimum number of transitions to flag an alert (default 30, max 5000)
      - `window_seconds` integer: Lookback window in seconds for counting transitions (default 259200, max 7776000)
    - `silenced_long` ApiSilencedLongThresholds
      - `count` integer: Minimum silenced dispatch count to flag an alert (default 20, max 5000)
      - `window_seconds` integer: Lookback window in seconds for silenced-long detection (default 2592000, max 7776000)
    - `stuck_raised` ApiStuckRaisedThresholds
      - `duration_seconds` integer: Minimum raised duration in seconds to flag an alert (default 1209600, max 7776000)

## Other responses

- `400`: `\"errorCode\": \"ErrBadRequest\"`: when the request payload is invalid
- `401`: `\"errorCode\": \"ErrUnauthorized\"`: when the provided user token/cookie cannot be matched with an account
- `403`: `\"errorCode\": \"ErrForbidden\"`: when caller is not authorized to access the space or room
- `422`: `\"errorCode\": \"ErrUnprocessableEntity\"`: when invalid spaceID or roomID is provided
- `500`: `\"errorCode\": \"ErrInternal\"`: when some Internal Server Error has occurred

---

[API](https://skmtc.dev/netdata/apis/netdata-cloud-api.md) - [All operations](https://skmtc.dev/netdata/apis/netdata-cloud-api/llms.txt) - [OpenAPI document](https://skmtc.dev/netdata/apis/netdata-cloud-api/revisions/902a6689b462?raw)
