Alert Events
This page documents all alert event types generated by exit1.dev.
Website & API Events
| Event | Description | Triggered When |
|---|---|---|
website_down | Website or API check is down | A failure passes the check’s Down confirmation |
website_up | Website or API check recovered | Check succeeds after being down |
website_error | Check encountered an error | Unexpected error during check execution |
SSL Events
| Event | Description | Triggered When |
|---|---|---|
ssl_error | SSL certificate error | Certificate is invalid, expired, or has chain issues |
ssl_warning | SSL certificate warning | Certificate is approaching expiration. Repeats at 30, 14, 7, 3 and 1 days left |
Domain Events
| Event | Description | Triggered When |
|---|---|---|
domain_expiring | Domain approaching expiration | Domain expiry is within the configured threshold |
domain_expired | Domain has expired | Domain has passed its expiration date |
domain_renewed | Domain has been renewed | Domain expiration date has been extended |
DNS Events
| Event | Description | Triggered When |
|---|---|---|
dns_record_changed | A monitored DNS record changed | Observed records differ from the stored baseline |
dns_record_missing | A monitored DNS record disappeared | A record type in the baseline returns no values |
dns_resolution_failed | DNS resolution failed | The query itself errored or timed out |
DNS drift is notify-on-change: after alerting, exit1.dev re-baselines to the newly observed records, so you are told once per change rather than continuously.
Event Payload Structure
Payload shape depends on the event family. Uptime and SSL events wrap the check in
a website object, while domain and DNS events use a flatter checkId/checkName
shape. timestamp is Unix epoch milliseconds throughout.
The full payload for each family, with field-level notes, is documented in Webhook Alerts.
Alert Suppression
Alerts are not sent for every raw probe failure. Each check must pass its own Down
confirmation before a website_down alert fires: a failure is re-verified before
being treated as a real outage, which absorbs single-probe blips and endpoints that
flap between states.
This confirmation is the single gate for flap suppression. It applies per check and covers every channel (email, SMS and webhooks alike), so a suppressed event is suppressed everywhere rather than per destination.
Recovery (website_up) is reported once the check succeeds again. If a website_down
alert was owed but undelivered when recovery arrived, the pair is reconciled so you
do not receive an orphaned recovery for an outage you were never told about.