Create a maintenance window: POST /maintenance_windows with start_time (ISO 8601), end_time (ISO 8601), a description, and a services array listing the service IDs to suppress during the window
List active maintenance windows: GET /maintenance_windows?filter=ongoing to retrieve currently active windows and their associated services
Update a window's end time: PUT /maintenance_windows/{id} to extend or shorten an active maintenance window without deleting and recreating it
Delete a maintenance window: DELETE /maintenance_windows/{id} to end suppression immediately if work completes early
Create recurring maintenance windows: the PagerDuty API does not natively support recurring windows — implement a scheduler (cron job, Terraform scheduled run, or GitHub Actions schedule) to create windows ahead of each planned maintenance slot
Verify suppression is active: POST a test alert to the affected service's Events API endpoint during the window and confirm no incident or notification is generated
Known gotchas
Maintenance windows suppress alert-triggered incidents on the listed services; manually created incidents are not suppressed and will still notify on-call — communicate to the team not to manually create incidents during windows
Services must be specified by ID in the services array; passing service names or integration keys instead of IDs will result in a 400 error
Very short maintenance windows (under a minute) may not take effect before the first alert fires after creation due to propagation latency — create windows at least 2–3 minutes before maintenance begins
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