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://<page>/summary.json→{ page:{name,url,status}, activeIncidents?, activeMaintenances? } - incident.io —
https://<page>/api/v1/summary→{ page_title, page_url, ongoing_incidents, in_progress_maintenances, scheduled_maintenances } - Status.io —
https://api.status.io/1.0/status/<pageId>→{ 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:<id>,maintenance:<id>,component:<id>(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/<id>viaapi.status.io. Hund, Better Stack, Sorry™ and Freshstatus are not supported yet (their RSS/history feeds work withrss). Tests:connectors2.test.ts(three fixtures inline). Verified: 2026-09-08 (status.incident.io, status.instatus.com).