Skip to content

2.9Domain expiry

What it checks#

A domain expiry monitor looks up your domain's registration and the date it runs out. If a registration lapses, the name stops working for your site and email.

When it is up, degraded or down#

  • Up: the domain is registered and more than warn_days days are left.
  • Degraded: the registration expires within warn_days (registration expires in N day(s)), or it has already expired (registration expired <time>). Renew it at once.
  • Down: the domain is not registered (acme.io is not registered), or it is not a name a registry accepts.
  • Could not run: the registry did not answer, or the registry for this domain ending does not publish expiry data. These results are not counted in uptime or alerts.

Configuration#

Domain monitors have no locations or timeout field.

Dashboard fieldDefaultLimits and notes
nameEmptyRequired. Up to 200 characters, on one line.
on failure — notifyNone (all team channels)Pick channels to limit who is alerted. Shown only when your team has channels.
domainEmptyRequired. Needs at least one dot, such as acme.io. A pasted URL or a leading www. is reduced for you.
warn_days451 to 365. Degraded once this many days or fewer are left.
check intervalOnce a dayNot shown when you create the monitor. You can change it on the edit page. At least 1 hour. The form does not check this; the save fails with invalid input: interval_seconds must be at least 3600 for domain monitors, got <N>.

Assertions supported#

None.

Example#

API request body (CreateDomainMonitor)
json
{"name": "acme.io registration", "domain": "acme.io", "warnDays": 60}

Through the API, intervalSeconds defaults to 86,400 (one day). The minimum is 3,600 (one hour). warnDays defaults to 45. There is no locations field.

Good to know#

  • Enter the registered name, not a host under it. api.acme.io is not reduced and reports api.acme.io is not registered. Enter acme.io.
  • Some domain endings cannot be checked. The result then says This domain's expiry cannot be checked: ….
  • A shorter interval is refused: interval_seconds must be at least 3600 for domain monitors, got N.

Last updated