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 | Check fails and meets consecutive failure threshold |
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 |
Domain Events
| Event | Description | Triggered When |
|---|---|---|
domain_expiring | Domain approaching expiration | Domain expiry is within a 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 |
Event Payload Structure
All events share a common payload structure:
{
"event": "website_down",
"check": {
"id": "abc123",
"name": "Production Website",
"url": "https://example.com",
"type": "website",
"method": "GET"
},
"status": {
"current": "down",
"previous": "up",
"statusCode": 503,
"responseTime": null,
"error": "Connection timeout"
},
"region": "us-central",
"timestamp": "2025-01-15T14:30:00Z",
"consecutive_failures": 3
}Flap Suppression
Flapping occurs when a check rapidly alternates between up and down status. exit1.dev suppresses alerts from flapping checks using the minConsecutiveEvents setting.
How It Works
- Each check tracks the number of consecutive same-status events
- Alerts are only sent when the consecutive count reaches
minConsecutiveEvents - This prevents alert storms from unstable endpoints
Configuration
The minConsecutiveEvents value can be set per check:
| Value | Behavior |
|---|---|
| 1 (default) | Alert on every status change |
| 2 | Require 2 consecutive events before alerting |
| 3 | Require 3 consecutive events before alerting |
Example
With minConsecutiveEvents: 3:
- Check fails (count: 1) - No alert
- Check fails (count: 2) - No alert
- Check fails (count: 3) - Alert sent:
website_down - Check succeeds (count: 1) - No alert
- Check succeeds (count: 2) - No alert
- Check succeeds (count: 3) - Alert sent:
website_up
Last updated on