Dead Man's Snitch

Sign In

  1. Docs
  2. Integrations

Webhooks

When a Snitch is found to be missing we will make an HTTP POST to a provided URL with a JSON payload with information about the alert. The HTTP endpoint should respond with a 20X status code, any other status code is considered a failure. Redirects (3XX status codes) are not supported.

Example Request

Terminal
HTTP POST /some/path
Content-Type: application/json
User-Agent: Dead Man's Snitch; https://deadmanssnitch.com"

{
  "type": "snitch.reporting",
  "timestamp": "2024-12-07T12:48:35.865Z",
  "data": {
    "snitch": {
      "token": "c2354d53d2",
      "name": "Critical System Reports",
      "notes": "Useful notes for dealing with the situation",
      "tags": [ "critical", "reports" ],
      "status": "healthy",
      "previous_status": "missing"
    }
  }
}

Event Types

Type Description
snitch.reporting The Snitch checked-in for the first time since missing a previous run or being created.
snitch.missing The Snitch did not check-in during the last interval.
snitch.errored The Snitch ran but reported an error during execution.
snitch.paused The Snitch has been paused and will not send alerts until the next time it checks-in.

Snitch

Attribute Description
token Unique identifier found on the setup page for a Snitch.
name Helpful label for what the Snitch is monitoring.
notes Set these on the the settings page for a Snitch. We suggest instructions on how to respond when the alert occurs.
tags Array of tags that are set on the Snitch. Helpful to classify or group your Snitches.
previous_status State of the Snitch before the alert pending, healthy, missing, errored, or paused.
status The new state of the Snitch healthy, missing, errored, or paused.

Authentication

Webhooks support HTTP Basic Authentication using credentials provided in the hook's URL. We strongly recommend, for security reasons, that hook target urls require authentication and use HTTPS.

Ordering

There is no guarantee on the ordering of alerts and they can and will arrive out of order.

Timeouts

There is a hard timeout of 30 seconds on all webhooks. Any request that takes longer than 30s will be considered an error and will be retried.