PagerDuty

Happy Uptime pages PagerDuty using the Events API v2. Monitor downs and incident.created events trigger alerts; monitor recoveries and incident.resolved events resolve them automatically (same dedup_key).

Get the integration key

  1. In PagerDuty: Service → Integrations → Add Integration → Events API v2.
  2. Copy the Integration Key (routing key).

Add the channel

bash
curl -X POST https://happyuptime.com/api/v1/alerts/channels \ -H "Authorization: Bearer $HU_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "name": "PagerDuty — Prod", "type": "pagerduty", "config": { "integrationKey": "R01XXXXXXXXXXXXXXXXXX" } }'

Optional config:

KeyPurpose
dedupKeyPrefix prepended to the auto-generated dedup key. Use different prefixes per environment.

Mapping

Happy Uptime eventPagerDuty actionSeverity
monitor.downtriggercritical
monitor.degradedtriggerwarning
monitor.upresolve
incident.created (critical)triggercritical
incident.created (major)triggererror
incident.created (minor)triggerwarning
incident.acknowledgedacknowledge
incident.resolvedresolve
vendor.down / vendor.degradedtriggerseverity-mapped
vendor.resolvedresolve

Dedup keys follow hu:mon:<monitor_id>, hu:inc:<incident_id>, hu:vendor:<service_name> so triggers and resolutions correlate.

Wire to incidents (not just monitors)

To page for every incident open/resolve in the org:

bash
curl -X POST https://happyuptime.com/api/v1/alerts/project-channels \ -H "Authorization: Bearer $HU_API_KEY" \ -H "Content-Type: application/json" \ -d '{"alert_channel_id": "'"$CHANNEL_ID"'", "alert_type": "incident"}'
Ask a question... ⌘I