---
title: "getNotificationStatus"
method: GET
path: "/v2/integrations/{integrationId}/notifications/status"
tags: ["integrations"]
---

# getNotificationStatus

`GET /v2/integrations/{integrationId}/notifications/status`

Returns the live per-rule alert state and (for 'auto' rules) the current
hour-of-week baseline band for an integration's notification monitoring.
Reflects the latest 5-minute sweep — near-real-time, not live.
Requires the `integration:view` permission on the integration's organization.

## Path parameters

- `integrationId` string, uuid, required

## Query parameters

- `include` 'baseline_series'

## Response `200`

Live notification status

- NotificationStatusResponse
  - `health` 'healthy' | 'alerting' | 'muted', required — Rolled-up live status: `muted` when muteUntil is in the future; else `alerting` if any rule is currently ALERTING; else `healthy`.
  - `evaluated_at` string, date-time, nullable — Most recent per-rule evaluation instant (max lastEvaluatedAt), or null when no rule has been evaluated. Updates on the 5-minute sweep tick.
  - `rules` NotificationRuleStatus[], required — Per-rule status, one entry per configured rule.
    - `rule_id` string, required — The rule's stable id (matches the configured rule id).
    - `state` 'ok' | 'alerting' | 'recovered', required — The rule's live AlertState (defaults to `ok` when never evaluated).
    - `last_fired_at` string, date-time, nullable — ISO instant the rule last entered ALERTING.
    - `last_cleared_at` string, date-time, nullable — ISO instant the rule last cleared back to OK.
    - `baseline` RuleBaselineStatus
      - `is_mature` boolean, required — False during cold start; the sweeper uses the static fallbackThreshold until the baseline's history span is mature.
      - `computed_at` string, date-time, nullable — ISO instant the baseline was last computed.
      - `median` number, nullable — Typical in-scope event volume for the current hour-of-week bucket.
      - `mad` number, nullable — Median absolute deviation for the current hour-of-week bucket.
      - `upper` number, nullable — Dynamic alert threshold (median + k·MAD, k by sensitivity) for the current hour-of-week, or null when the bucket is uncovered.
      - `buckets` RuleBaselineBucket[], nullable — Full 168-bucket series; only present when ?include=baseline_series.
        - `dow` integer, required — Day of week, 1=Monday … 7=Sunday.
        - `hour` integer, required — Hour of day, 0 … 23 (UTC).
        - `median` number, required
        - `mad` number, required

## Other responses

- `400` — Bad request
- `401` — Unauthorized request
- `403` — Forbidden - insufficient permissions
- `404` — Resource not found
- `500` — Internal Server Error

---

[API](https://skmtc.net/epilot/apis/integration-toolkit-api.md) · [All operations](https://skmtc.net/epilot/apis/integration-toolkit-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/epilot/integration-toolkit-api/revisions/c24837d75096/schema)
