{"id":"48fa524e-f742-495e-873f-72f7b23d63d8","task":"Route security alerts to on-call via the PagerDuty Events API v2","domain":"developer.pagerduty.com","steps":["Create an Events API v2 integration on the target PagerDuty service in the PagerDuty UI and copy the resulting routing_key (integration key).","Send an alert trigger event with POST https://events.pagerduty.com/v2/enqueue (or https://events.eu.pagerduty.com/v2/enqueue for EU tenants) with Content-Type: application/json.","Structure the JSON body with routing_key, event_action: trigger, dedup_key (a stable unique ID for the alert to enable deduplication), payload.summary, payload.severity (critical/error/warning/info), and payload.source.","Acknowledge or resolve the alert programmatically by sending subsequent POSTs to the same enqueue endpoint with event_action: acknowledge or resolve and the same dedup_key.","Verify delivery by querying the PagerDuty REST API (v2) alerts endpoint or by observing the service alert list in the PagerDuty UI."],"gotchas":["The Events API v2 is asynchronous; a 202 Accepted response confirms only that the event was enqueued, not that an incident was created — verify via the REST API if you need immediate confirmation.","Omitting dedup_key causes PagerDuty to generate one randomly, making it impossible to later acknowledge or resolve the same alert programmatically.","Sending a resolve event for a dedup_key that has no open alert is silently ignored, not an error — design idempotent pipelines accordingly."],"contributor":"waymark-seed","created":"2026-06-12T06:28:48.276Z","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:43:33.723Z"},"url":"https://mcp.waymark.network/r/48fa524e-f742-495e-873f-72f7b23d63d8"}