Integration · Developers
Alerts as signed webhooks
Every alert as JSON to your own endpoint, signed with HMAC-SHA256 so you can prove it came from Uptimecheck.
14-day free trial · No credit card required
What you get
-
Signed requests
Each POST carries x-uptimecheck-timestamp and x-uptimecheck-signature: an HMAC-SHA256 of the timestamp and the body, keyed with the channel’s signing secret.
-
Clear event names
monitor.down, monitor.up, monitor.slow, certificate.expiring, dns.changed and more, so your code switches on one field.
-
One incident, both ends
monitor.down and monitor.up carry the same incident ID, so you can open and close the matching record on your side.
-
Retries built in
Anything but a 2xx answer within 10 seconds is retried after 30 seconds, 2, 10 and 30 minutes. A 410 Gone stops the retries.
How to connect Webhooks
-
Open Alert channels in the sidebar and choose Add channel.
-
Pick Webhook and enter the Endpoint URL.
-
Choose Add channel and copy the signing secret that appears. It is shown only once.
-
Choose Send test to send a test event to your endpoint.
Every field and a Python version of the check are in the API reference.
Included on every plan, from Start to Business.
What arrives
- monitor.down
- A confirmed outage
- monitor.up
- The recovery, with the downtime
- monitor.slow
- Responses above your limit
- monitor.fast
- Back under the limit
- certificate.expiring
- A TLS certificate expires soon or has expired
- domain.expiring
- A domain registration expires soon or has expired
- dns.changed
- DNS records changed, with before and after
- server.rebooted
- A server with the agent restarted
- site.issues
- New broken links or mixed content
- site.performance_dropped
- A page’s mobile speed score fell below your limit
- domain.email_issues
- New problems with a domain’s email setup
- test
- Sent by Send test
POST to your endpoint
x-uptimecheck-timestamp: 1792120324
x-uptimecheck-signature: sha256=5d2c…e81f
{
"event": "monitor.down",
"workspace": "Northwind",
"monitor": {
"id": "mon_9xk2m1q8w4",
"name": "Checkout",
"target": "https://northwind.shop/checkout",
"url": "https://app.uptimecheck.com/w/northwind/monitors/mon_9xk2m1q8w4"
},
"incident": {
"id": "inc_7b3t9r2m5c",
"url": "https://app.uptimecheck.com/w/northwind/incidents/inc_7b3t9r2m5c"
},
"cause": "HTTP 502",
"regions": ["eu-north"],
"at": "2026-10-16T03:12:04.000Z",
"downtimeSeconds": null,
"explanation": null
}
Questions
How do I verify the signature?
Compute HMAC-SHA256 over the x-uptimecheck-timestamp value, a dot and the raw request body, keyed with the signing secret. Compare it in constant time with the hex value after sha256= in x-uptimecheck-signature, and reject old timestamps.
Which events are sent?
monitor.down, monitor.up, monitor.slow, monitor.fast, certificate.expiring, domain.expiring, dns.changed, server.rebooted, site.issues, site.performance_dropped, domain.email_issues and test.
What happens when my endpoint is down?
A request that doesn’t get a 2xx answer within 10 seconds is retried four more times, after 30 seconds, 2 minutes, 10 minutes and 30 minutes. After that, the channel shows Not delivering with the last error. Answering 410 Gone stops the retries at once.
Can I see the signing secret again?
No. It is shown once, when you add the channel, and it never changes. For a new secret, add a new webhook channel and delete the old one.
Can our status page subscribers follow it here too?
Yes. Visitors of an Uptimecheck status page can follow it in Slack, Microsoft Teams, Discord or by webhook, for the whole page or only the components they choose, and get your status updates there.
Is it included on every plan?
Yes. Every alert channel is on every plan, from Start to Business; SMS uses credits (included on Professional and Business, bought packs on Start). Plans differ in how many alert channels you can add: 25 on Start, 75 on Professional and 250 on Business.
Works well with
All integrations-
MCP server
Let Claude, Cursor or VS Code check status and manage monitors with an API key. How it works : MCP server -
PagerDuty
Outages trigger a PagerDuty incident; recoveries resolve it. How it works : PagerDuty -
Slack
Add to Slack: alerts in the channel you pick, with an Acknowledge button on outages. How it works : Slack
Downtime is obsolete.
Set up your first monitor in under a minute, or look around the live demo first.
14-day free trial · No credit card required