Authenticate with API v1: include Authorization: OAuth YOUR_TOKEN in all request headers; find your page_id in the Statuspage dashboard URL
Create a realtime incident: POST /v1/pages/{page_id}/incidents with incident.name, incident.status (investigating, identified, monitoring, or resolved), and incident.body for the initial message
Add a component impact: include incident.components as a hash of component_id: status (degraded_performance, partial_outage, major_outage) in the creation payload
Create a scheduled maintenance: POST /v1/pages/{page_id}/incidents with incident.scheduled_for and incident.scheduled_until (ISO 8601) and status: scheduled — this sends advance subscriber notifications
Update the incident with status progression: PATCH /v1/pages/{page_id}/incidents/{incident_id} with status and body; each PATCH appends a new update to the public timeline
Resolve the incident: PATCH with status: resolved; Statuspage automatically sets all affected components back to operational unless overridden
Known gotchas
Statuspage supports up to 100 open incidents at a time; bulk programmatic incident creation (e.g., per-service incidents) can hit this limit quickly — consider using a single incident with multiple affected components instead
Scheduled maintenances are a subtype of incidents in the API; they appear under the same /incidents endpoint and are distinguished by the scheduled_for field
Subscriber notifications for scheduled maintenances are sent at creation and optionally at 60 minutes before start; changing scheduled_for after creation does not automatically resend notifications
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp