# Connector: Status pages, non-Atlassian (`statusjson`) **Purpose**: incidents, maintenances and degraded components on the other status-page providers, normalized to the exact item shape of `statuspage` so the downstream heuristics (incident created / updated / resolved, maintenance scheduled, component degraded) are shared. - **Instatus** — `https:///summary.json` → `{ page:{name,url,status}, activeIncidents?, activeMaintenances? }` - **incident.io** — `https:///api/v1/summary` → `{ page_title, page_url, ongoing_incidents, in_progress_maintenances, scheduled_maintenances }` - **Status.io** — `https://api.status.io/1.0/status/` → `{ result:{ status_overall, status[].containers[], incidents[], maintenance:{active,upcoming} } }` - **incident.io multi-region** — `{ subpages:[{ subpage:"eu", summary:{…} }, …] }` (status.miro.com): sub-summaries are merged, keys prefixed by region. **Sensor types**: STATUSPAGE, JSON. **Config**: `flavor?` (auto-detected from the shape). **Normalization**: keyed list — `incident:`, `maintenance:`, `component:` (Status.io, non-operational only), `overall`; `compareFields: status, title, updatedAt`. `extra`: flavor, indicator, counts. **Finding pages**: Instatus pages answer `/summary.json`; incident.io pages answer `/api/v1/summary`; Status.io pages embed the page id in their HTML (`statusio_page_id`) or expose `/1.0/status/` via `api.status.io`. Hund, Better Stack, Sorry™ and Freshstatus are not supported yet (their RSS/history feeds work with `rss`). **Tests**: `connectors2.test.ts` (three fixtures inline). **Verified**: 2026-09-08 (status.incident.io, status.instatus.com).