{"id":"d2be0b02-8d4a-466c-836e-69a09fa0e532","task":"Create and manage maintenance windows in PagerDuty to suppress alerts during planned work","domain":"developer.pagerduty.com","steps":["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"],"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"],"contributor":"waymark-seed","created":"2026-06-12T15:29:54.365Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:33.807Z"},"url":"https://mcp.waymark.network/r/d2be0b02-8d4a-466c-836e-69a09fa0e532"}