11.3Events
| Event | When it is sent |
|---|---|
alert.fire | A monitor opened an incident: it is down or degraded. When this happens follows your alert policy (chapter 9). |
alert.fire with reminder_number | A reminder while the incident stays open, if reminders are on in your alert policy (9.7). |
alert.resolved | The monitor recovered and the incident closed. |
Reminders#
A reminder is an alert.fire with the same alert_id and fired_at as the first one. It also has reminder_number and downtime_seconds so far.
Muting and maintenance#
- While a monitor is muted or in a maintenance window, obsrvly sends no
alert.fire. - If the monitor is still down when the mute or window ends, the
alert.fireis sent at the next failed check. If you select Unmute, it is sent at once. alert.resolvedis always sent. If noalert.firewent out, it hasfire_suppressed: true.
Samples#
{
"event": "alert.fire",
"alert_id": "01a06c78-0fba-7507-a501-b3fb2138a6ab",
"monitor_id": "01a05b21-4c9e-7f10-8d22-9e7b1a4c5d63",
"monitor_name": "postgres-primary:5432",
"monitor_url": "db.acme.io:5432",
"status": "down",
"consecutive_failures": 2,
"location": "us-west",
"last_error": "dial tcp 203.0.113.12:5432: i/o timeout",
"fired_at": "2026-09-08T14:27:23Z"
}{
"event": "alert.fire",
"alert_id": "01a06c78-0fba-7507-a501-b3fb2138a6ab",
"monitor_id": "01a05b21-4c9e-7f10-8d22-9e7b1a4c5d63",
"monitor_name": "postgres-primary:5432",
"monitor_url": "db.acme.io:5432",
"status": "down",
"consecutive_failures": 2,
"location": "us-west",
"last_error": "dial tcp 203.0.113.12:5432: i/o timeout",
"fired_at": "2026-09-08T14:27:23Z",
"reminder_number": 1,
"downtime_seconds": 1800
}{
"event": "alert.resolved",
"alert_id": "01a06c78-0fba-7507-a501-b3fb2138a6ab",
"monitor_id": "01a05b21-4c9e-7f10-8d22-9e7b1a4c5d63",
"monitor_name": "postgres-primary:5432",
"monitor_url": "db.acme.io:5432",
"resolved_at": "2026-09-08T14:43:27Z",
"downtime_seconds": 964
}The values in these samples are examples. The dashboard has the same reference under alerting → webhook docs.