Webhook Notifications

Statuspage.io can send out notifications to your customers via webhooks when you create or update an incident, or update a component status. Webhooks contain information about the item that changed.

Note: we don't currently support Slack endpoints.

Enabling

Enabling webhook subscriptions is done via the management interface.

Enable Webhooks

Subscribing

Once this is enabled, the subscription dropdown will contain a new tab for webhook notifications that your users will use to subscribe. Webhook subscribers can also be created through the API.

Subscribe to Webhooks

Webhook Basics

Webhooks are HTTP POST requests that our servers send to the registered endpoint. They contain basic information about how to unsubscribe the endpoint, where to find documentation, which organization the webhook pertains to, and type-specific information about a component update or an incident update.

Endpoints are required to respond with a 2xx response code (3xx is considered a failure), and must respond within 30 seconds of initial connection.

Component Updates

Component update webhooks are useful so that your system can respond to changes in dependent infrastructure without requiring manual intervention. For example, when using an external CDN service, detecting that the CDN service is down or performing poorly may trigger you to bring online more capacity to handle additional requests.

Webhooks are dispatched each time a component changes status (but not for changes to name, position on the page, etc). A reference to the old value and the new value will allow your service to respond accordingly.

{
   "meta":{
      "unsubscribe":"http://statustest.flyingkleinbrothers.com:5000/?unsubscribe=j0vqr9kl3513",
      "documentation":"http://doers.statuspage.io/customer-notifications/webhooks/"
   },
   "page":{
      "id": "j2mfxwj97wnj",
      "status_indicator": "major",
      "status_description": "Partial System Outage"
   },
   "component_update":{
      "created_at":"2013-05-29T21:32:28Z",
      "new_status":"operational",
      "old_status":"major_outage",
      "id":"k7730b5v92bv",
      "component_id":"rb5wq1dczvbm"
   },
   "component":{
      "created_at":"2013-05-29T21:32:28Z",
      "id":"rb5wq1dczvbm",
      "name":"Some Component",
      "status":"operational"
   }
}

Incident Updates

Incident update webhooks are useful so that you can stay in touch with active downtime or performance issues.

Webhooks are dispatched each time an incident is updated.

{
   "meta":{
      "unsubscribe":"http://statustest.flyingkleinbrothers.com:5000/?unsubscribe=j0vqr9kl3513",
      "documentation":"http://doers.statuspage.io/customer-notifications/webhooks/"
   },
   "page":{
      "id": "j2mfxwj97wnj",
      "status_indicator": "critical",
      "status_description": "Major System Outage"
   },
   "incident":{
      "backfilled":false,
      "created_at":"2013-05-29T15:08:51-06:00",
      "impact":"critical",
      "impact_override":null,
      "monitoring_at":"2013-05-29T16:07:53-06:00",
      "postmortem_body":null,
      "postmortem_body_last_updated_at":null,
      "postmortem_ignored":false,
      "postmortem_notified_subscribers":false,
      "postmortem_notified_twitter":false,
      "postmortem_published_at":null,
      "resolved_at":null,
      "scheduled_auto_transition":false,
      "scheduled_for":null,
      "scheduled_remind_prior":false,
      "scheduled_reminded_at":null,
      "scheduled_until":null,
      "shortlink":"http://j.mp/18zyDQx",
      "status":"monitoring",
      "updated_at":"2013-05-29T16:30:35-06:00",
      "id":"lbkhbwn21v5q",
      "organization_id":"j2mfxwj97wnj",
      "incident_updates":[
         {
            "body":"A fix has been implemented and we are monitoring the results.",
            "created_at":"2013-05-29T16:07:53-06:00",
            "display_at":"2013-05-29T16:07:53-06:00",
            "status":"monitoring",
            "twitter_updated_at":null,
            "updated_at":"2013-05-29T16:09:09-06:00",
            "wants_twitter_update":false,
            "id":"drfcwbnpxnr6",
            "incident_id":"lbkhbwn21v5q"
         },
         {
            "body":"We are waiting for the cloud to come back online and will update when we have further information",
            "created_at":"2013-05-29T15:18:51-06:00",
            "display_at":"2013-05-29T15:18:51-06:00",
            "status":"identified",
            "twitter_updated_at":null,
            "updated_at":"2013-05-29T15:28:51-06:00",
            "wants_twitter_update":false,
            "id":"2rryghr4qgrh",
            "incident_id":"lbkhbwn21v5q"
         },
         {
            "body":"The cloud, located in Norther Virginia, has once again gone the way of the dodo.",
            "created_at":"2013-05-29T15:08:51-06:00",
            "display_at":"2013-05-29T15:08:51-06:00",
            "status":"investigating",
            "twitter_updated_at":null,
            "updated_at":"2013-05-29T15:28:51-06:00",
            "wants_twitter_update":false,
            "id":"qbbsfhy5s9kk",
            "incident_id":"lbkhbwn21v5q"
         }
      ],
      "name":"Virginia Is Down"
   }
}