SSL Certificate Monitoring
WebhookBeam automatically monitors the SSL certificates on your HTTPS endpoints. When a certificate is close to expiring — or has already expired — you'll receive push and email notifications so you can renew it before your users see a browser security warning.
Requirements
- The monitored link must use HTTPS. HTTP links are not eligible for SSL monitoring.
- SSL monitoring must be enabled on the link (it is disabled by default).
- The domain being monitored must be publicly accessible — WebhookBeam's servers need to reach it to inspect the certificate.
How to Enable SSL Monitoring
- Go to Uptime Monitor in the sidebar.
- Click on the HTTPS link you want to monitor.
- Click "Edit" to open the link settings.
- Scroll to the SSL Certificate Monitoring section.
- Toggle "Enable SSL Monitoring" to on.
- Optionally adjust the "Expiry Warning Days" setting (see below).
- Click "Save".
| Setting | Description | Default |
|---|---|---|
| Enable SSL Monitoring | Toggles SSL certificate checks for this link. Only available for HTTPS URLs. | Off |
| Expiry Warning Days | How many days before expiry to start considering the certificate as "Expiring Soon". Accepts values between 1 and 90. | 14 days |
How SSL Checks Work
Once SSL monitoring is enabled, WebhookBeam performs an SSL check on each regular uptime check cycle. The check connects to your server and inspects the TLS certificate to collect:
- Validity — whether the certificate chain is valid and trusted.
- Issuer — the Certificate Authority (CA) that issued the certificate.
- Subject — the hostname the certificate was issued for.
- Expiry date — the exact date and time the certificate expires.
- Days until expiry — a real-time countdown from today.
SSL Status Labels
Each monitored link displays an SSL status badge in the dashboard:
| Status | Meaning | Badge Color |
|---|---|---|
| ✅ Valid | Certificate is valid and expires more than 14 days from now (configurable via Expiry Warning Days). | Green |
| ⚠️ Expiring Soon | Certificate is valid but will expire within your configured warning window (default: 14 days). | Amber / Yellow |
| 🔴 Expired | Certificate has already passed its expiry date. Visitors will see a browser security error. | Red |
| 🔴 Invalid | Certificate could not be validated — e.g. self-signed, wrong hostname, or unreachable server. | Red |
| ⏳ Pending | No SSL check has been performed yet since monitoring was enabled. | Grey |
Notification Schedule
WebhookBeam sends SSL expiry notifications at the following milestones. Each pre-expiry milestone fires once; once the certificate has expired, you receive a daily reminder until monitoring is disabled or the certificate is renewed.
| Days Until Expiry | Notification Frequency | Notification Type |
|---|---|---|
| 14 days | Once | ⚠️ SSL Expiry Warning (Push + Email) |
| 7 days | Once | ⚠️ SSL Expiry Warning (Push + Email) |
| 3 days | Once | 🔴 Urgent SSL Warning (Push + Email) |
| 1 day | Once | 🔴 Urgent SSL Warning (Push + Email) |
| 0 or fewer days (expired) | Daily (every 24 hours) | 🔴 SSL Certificate Expired (Push + Email) |
Note: SSL notifications respect the notification channel settings for each link. If you have push notifications disabled for a link, only email alerts will be sent, and vice versa.
Checking SSL on Demand
You can trigger an immediate SSL check without waiting for the next scheduled cycle:
- Open the link detail page.
- Locate the SSL Certificate card.
- Click "Check Now".
The check runs synchronously and the displayed certificate information updates immediately. This is useful after renewing a certificate to confirm that the new certificate has been detected.
Viewing SSL Certificate Details
The SSL Certificate card on each link's detail page shows:
- Current status badge (Valid / Expiring Soon / Expired / Invalid).
- Issuer — the CA that signed the certificate (e.g. "Let's Encrypt", "DigiCert").
- Subject — the hostname on the certificate.
- Expiry date — the exact date the certificate expires.
- Days until expiry — countdown from today.
- Last checked at — when the most recent SSL check was performed.
API Access
SSL certificate data is also available via the REST API. Full schema documentation is available in the API Reference (Swagger UI) under the Uptime SSL tag.
| Endpoint | Method | Description |
|---|---|---|
/uptime/api/links/{id}/ssl/ |
GET | Retrieve the latest SSL certificate record for a monitored link. Returns null if no check has been run yet. |
/uptime/api/links/{id}/ssl/check/ |
POST | Trigger an on-demand SSL check. Runs synchronously and returns the updated certificate record. |
SSL Certificate Response Fields
| Field | Type | Description |
|---|---|---|
record_id |
integer | Unique identifier of the SSL certificate record. |
is_valid |
boolean | Whether the certificate passed validation. |
issuer |
string | The Certificate Authority that issued the certificate. |
subject |
string | The hostname the certificate was issued for. |
expires_at |
datetime (ISO 8601) | The exact expiry date and time of the certificate. |
days_until_expiry |
integer | Number of days remaining until expiry. Negative values indicate the certificate has already expired. |
last_checked_at |
datetime (ISO 8601) | When the most recent SSL check was performed. |
error_message |
string or null | Error description if the SSL check failed or the certificate is invalid. |
status_label |
string | Human-readable status: Valid, Expiring Soon, Expired, or Invalid. |
status_color |
string | Hex color code for the status badge (e.g. #198754 for green). |
status_css_class |
string | Bootstrap CSS class for the status badge (e.g. success, warning, danger). |
📚 Related Guides
Learn more about uptime monitoring features:
Configure Notifications → Getting Started →