UpCheck

Downtime alert webhooks

A JSON POST to your endpoint the moment a monitor changes state.

A POST to your endpoint when state changes

A webhook channel is a URL you own. When a monitor changes state, UpCheck POSTs a structured JSON envelope to it: the event, a human-readable text line, and the fields worth acting on, like the HTTP status that failed or how long the downtime lasted on recovery.

It fires on the transition, once when a check breaks and once when it recovers, behind the same confirmation streak as every other alert. Your endpoint hears about the outage, not about every failed check inside it.

{
"event": "monitor.status_change",
"text": "cdn.example.com is down (HTTP 503)",
"detail": "HTTP 503",
"http_status": 503
}

Wire it into whatever you already run

The payload is plain JSON over HTTPS, so the receiving end can be anything: a serverless function that opens a ticket, a script that flips a feature flag, your own ops bot. Slack and Discord don't need the generic envelope at all; add them as their own channel types and the message arrives formatted for the room.

Add a channel from the dashboard, send a test through it before you rely on it, and use its routing rule to decide which monitors it carries.

Free, on every plan

The webhook family, Slack, Discord, and the generic webhook, is free on every plan, alongside push to the apps. You don't need a paid tier to get downtime into your own tooling.

More for developers

Read more

Webhooks questions

On a confirmed state change: once when a monitor goes down and once when it recovers. It sits behind the same confirmation streak as every alert, so a single blip that fixes itself on the next check never fires it.

A JSON envelope with the event (monitor.status_change), a human-readable text line, and structured fields when they apply, such as the failing HTTP status, a detail string, and the downtime duration on recovery.

They're their own channel types. Point them at an incoming webhook URL and the alert arrives as a formatted message; the generic webhook is for endpoints you write yourself and gets the structured envelope.

No. The webhook family, Slack, Discord, and the generic webhook, is free on every plan. You can also route each channel to all monitors or just a few.

Set it up in minutes, never miss an outage again.

Free to start · One-minute checks · iPhone, iPad, and Mac