Domains

Add a domain

Starts monitoring it and looks it up at its registry right away; the registry fields fill in within a minute. Without project_id it joins the team's default project. The plan limits the number of domains (403 PLAN_LIMIT_REACHED).

post/domains

Request

  • Base URL
    https://api.spectate.net/v1
  • Auth
    HTTP bearer

Request body

namestring required

The registered domain, without www. or a path; internationalised names may be in Unicode or punycode

enabledboolean

Whether to start monitoring at once. Default true

expiry_threshold_daysinteger

Days before expiry, 1 to 365, that the "expires soon" alert fires. Default 30

alert_on_registry_changesboolean

Raise an alert when the registrar, nameservers or DNSSEC keys change. Default true

project_idstring uuid nullable

Project to add the domain to; default the team's default project, null for none

escalation_path_idsstring[]

Escalation paths for the domain's alerts. Leave out or send [] to follow the project's paths, else the team's default path

Example request

{
  "name": "example.com",
  "expiry_threshold_days": 30
}

Response

The new domain.

idstring uuid required

Domain ID

namestring required

The registered domain, lowercase, internationalised names in punycode

enabledboolean required

Whether the domain is monitored. false when paused by a member or by the system (see paused_reason)

paused_reason'plan_limit' | 'team_paused' required

Why the system (not the user) paused a monitor, host, domain or status page.

plan_limit <br/> Over the plan limit (trial expired, downgrade); the oldest resources stay active.
team_paused <br/> The whole team's monitoring is paused (no paid plan, staff action or scheduled deletion).
registrarstring nullable required

The registrar, as the registry reports it

registered_atstring date-time nullable required

When the domain was registered

expires_atstring date-time nullable required

When the registration expires

registry_changed_atstring date-time nullable required

When the registration last changed at the registry

days_until_expirationinteger nullable required

Days until the registration expires; negative once expired

is_expiredboolean required

Whether the registration has expired

is_expiring_soonboolean required

Whether it expires within expiry_threshold_days

nameserversstring[] nullable required

The domain's nameservers

dnssecboolean required

Whether the registry publishes DNSSEC keys for the domain

statusesstring[] nullable required

EPP status codes, for example client transfer prohibited

registry_source'rdap' | 'whois' required

Where a domain's registry data came from.

rdap <br/> The registry's RDAP service.
whois <br/> The registry's WHOIS server, for registries without RDAP.
registry_error'unsupported' | 'not_registered' | 'unavailable' required

Why the last registry lookup of a domain gave no data.

unsupported <br/> The registry publishes neither RDAP nor WHOIS (e.g. .gr, .vn).
not_registered <br/> The registry has no such domain: not registered (or a subdomain was entered).
unavailable <br/> The registry didn't answer usefully, even after retries; tried again at the next check.
last_checked_atstring date-time nullable required

When the registry was last checked

expiry_threshold_daysinteger required

Days before expiry that the "expires soon" alert fires

alert_on_registry_changesboolean required

Whether changes of the registrar, nameservers or DNSSEC keys raise an alert

project_idstring uuid nullable required

The project the domain belongs to; null for none

created_atstring date-time required

When monitoring of the domain started

Example response

{
  "name": "example.com",
  "registrar": "Example Registrar, Inc.",
  "days_until_expiration": 212,
  "dnssec_keys": [
    {
      "key_tag": 2371,
      "algorithm": 13,
      "digest_type": 2
    }
  ],
  "expiry_threshold_days": 30,
  "escalation_paths": [
    {
      "name": "On-call engineers"
    }
  ]
}

Changes

No recorded changes to this operation across all 1 revision of this API.