Domain Expiry Monitoring

Get warned before a domain registration lapses. When a domain expires, its website, email and certificates stop working at once, and an expired domain can be bought by someone else. Hyperping reads the expiry date from the registry and reminds you ahead of time, like it does for SSL certificates.

How it works

  • Which domain. The registered domain behind the monitor's host: api.status.example.co.uk is checked as example.co.uk. It works for HTTP, ping, port and DNS monitors.
  • Where the date comes from. The registry itself, over RDAP, the successor of WHOIS. For the extensions without RDAP whose WHOIS still publishes an expiry date (.io, .co, .me and others), WHOIS is used instead.
  • How often. Once a day for domains expiring within 45 days, once a week otherwise. Many monitors on the same domain share one lookup.
  • Shown on the monitor. The certificate details on the monitor's overview include the domain, its expiry date and the registrar.

Alerts

In the monitor's Notifications tab, Domain expiry alerts sets when the first reminder goes out: 7, 14, 30, 60 or 90 days before the registration ends, or never. Reminders then follow at the usual steps below it (30, 15, 7, 3 and 1 days).

  • New monitors start at 14 days. Monitors created before the feature launched stay off until you pick a threshold.
  • One reminder per domain. Ten monitors on the same domain in a project send one reminder, not ten. The earliest threshold among them wins.
  • Who gets them. Everyone on the project by email, plus the SSL notification channels of those monitors. PagerDuty and Opsgenie are only paged in the last 24 hours.
  • Renewals. Registrars often renew in the last days, so the registry is asked again right before a reminder goes out: a domain renewed meanwhile gets no reminder. If you had already been warned, a renewed notice follows, and any PagerDuty or Opsgenie page is resolved.

API and Terraform

On monitors in the API, domain_alert_days sets the threshold (-1 for never) and the read-only domain_expiration gives the whole days left before the registration expires, or null when the registry doesn't publish it. The Terraform provider's hyperping_monitor resource takes domain_alert_days too.

curl -X PUT https://api.hyperping.io/v1/monitors/mon_3GhAQMYGEQuyUH \
  -H "Authorization: Bearer ${API_TOKEN}" \
  -H "Content-Type: application/json" \
  -d '{ "domain_alert_days": 30 }'

Webhooks added as SSL channels receive domain_expiring and domain_renewed events. See webhook payloads.

Troubleshooting

My domain is on auto-renew but I still got a reminder

Auto-renewal usually happens close to the end date, and the registry only shows the new date once the registrar has paid it. The reminder means the renewal hasn't reached the registry yet. Check that auto-renew is on and the payment method on file is valid.

The expiry date is missing

Either the registry doesn't publish it (see the extensions above), or the first lookup hasn't run yet. Lookups run when you turn alerts on, then daily.

Next steps