The PagerDuty Events API, which is used for triggering, acknowledging, and resolving incidents, requires that your system be able to make outbound connections to events.pagerduty.com on TCP ports 80 or 443, depending on whether you would like to send events to PagerDuty via HTTP or HTTPS. Most integrations use HTTPS (TCP port 443).
events.pagerduty.com resolves to multiple IPs, which you can find by querying the A records using
$ dig a +short events.pagerduty.com events.gslb.pagerduty.com. 22.214.171.124 126.96.36.199 188.8.131.52
In this example, you see that the Events API is accessible at the IPs 184.108.40.206, 220.127.116.11, and 18.104.22.168.
To access our REST API, your system must be able to make outbound connections to
api.pagerduty.com on TCP port 443. Our REST API only allows HTTPS connections; HTTP connections are not allowed for security.
api.pagerduty.com usually resolve to multiple IPs as well, however these IPs will be different than the ones used for our Events API or webhooks.
$ dig a +short api.pagerduty.com 22.214.171.124 126.96.36.199 188.8.131.52
In this example, you see that the REST API is accessible at the IPs 184.108.40.206, 220.127.116.11, and 18.104.22.168.
Webhooks are HTTP or HTTPS calls sent from PagerDuty to your web server on the IP and port of your choosing. The current list of IPs that our webhooks are sent from can be obtained via a HTTPS GET request to the following URL:
The response will be a JSON-encoded list of IP addresses.
curl -s https://app.pagerduty.com/webhook_ips ["22.214.171.124","126.96.36.199","188.8.131.52","184.108.40.206","220.127.116.11","18.104.22.168","22.214.171.124","126.96.36.199","188.8.131.52","184.108.40.206","220.127.116.11","18.104.22.168","22.214.171.124","126.96.36.199","188.8.131.52","184.108.40.206","220.127.116.11"]
These IPs can change at any time without warning.
Please be aware that the IPs above are only examples, and do not necessarily reflect the current IPs in use. If we were to change IPs and your firewall policies were not updated, you will not be able to reach our API endpoints and/or you will stop receiving webhooks from PagerDuty.
If you are hardcoding IPs into your firewall, you can use a script to receive updates when the A records for these hostnames change, or perform lookups on the aforementioned hostnames regularly to update your configurations.
If the firewall in question is an EC2 security group, this Python script (requires boto and Python 2.7 or later to run), given an IAM secret key with adequate permissions, can automatically update the security group with the necessary IP addresses to grant access.
If you are using the new Jira extension, you will also need to add the address records of
app.pagerduty.com to any sort of whitelist that controls network egress traffic; this integration makes special API calls that go through that particular hostname.