Get automatic DNSSEC status

Return the automatic DNSSEC enrollment state for a domain. For domains delegated to HostUp-managed nameservers (primary.ns.hostup.se, secondary.ns.hostup.se, or accepted managed aliases), automatic DNSSEC periodically verifies the hosted DNSSEC material and publishes the DS record at the registry without the…

Read full description Hide full description

Return the automatic DNSSEC enrollment state for a domain. For domains delegated to HostUp-managed nameservers (primary.ns.hostup.se, secondary.ns.hostup.se, or accepted managed aliases), automatic DNSSEC periodically verifies the hosted DNSSEC material and publishes the DS record at the registry without the caller adding manual DS/KEY records. Status values: active means automation is enabled and healthy, pending means the platform is waiting for DNSSEC material/checks, blocked means automation is paused, excluded means the domain is opted out, inactive means it is not active for this domain, and error means the last automatic attempt failed. Nameserver changes can trigger a 72-hour cooldown; when blocked, use blockedUntil, blockReason, and nameserversChangedAt to tell the user when automation resumes. Before changing nameservers, read GET /api/v2/domains/{id}/nameservers; dnssecAutoWillBeBlocked: true means that update will pause automatic DNSSEC for the cooldown window.

Domains & DNS DNS

Authentication

Required API scope: read:domains

Use Authorization: Bearer <token> for API keys. Dashboard sessions may also use hostup_session.

Context

Path Parameters

id string required Example: dom_01hxa3b4c5d6e7f8g9h0j1k2m3

Public domain ID. Get it from GET /api/v2/domains `data[].id`. Do not invent this value; use the exact ID returned by the referenced API response.

Headers

Accept Example
Content-Type Example

Responses

200 Automatic DNSSEC state.
domainName string | null required · Example: example.se
status string · enum required · Example: blocked
active
inactive
excluded
pending
error
blocked
reason string | null required · Example: Automatic DNSSEC is paused after a nameserver change.
isEnabled boolean required · Example: true
isBlocked boolean required · Example: true
blockedUntil string | null required · Example: 2026-04-30T12:00:00.000Z
blockReason string | null required · Example: Automatic DNSSEC is paused after a nameserver change.
lastCheckedAt string | null required · Example: 2026-04-27T12:00:00.000Z
lastError string | null required
nameserversChangedAt string | null required · Example: 2026-04-26T09:30:00.000Z
400 Invalid request. The response body is an RFC 7807 Problem Details document.
type string · Example: https://developer.hostup.se/errors/invalid_request
title string · Example: Validation failed
status integer · Example: 400
detail string · Example: The request body failed validation.
code string · Example: invalid_request

Stable machine-readable code. Branch on this field, not on `detail`.

instance string · Example: /api/v2/orders
requestId string · Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3
timestamp string · Example: 2026-04-27T12:34:56.000Z
errors array<object>

Field-level validation errors when `code` is `invalid_request`.

errors[].pointer string required · Example: /items/0/eppCode
errors[].detail string required · Example: `eppCode` is required for this transfer.
errors[].code string required · Example: missing_required
extensions object
401 Unauthorized. Authentication is required.
type string · Example: https://developer.hostup.se/errors/invalid_request
title string · Example: Validation failed
status integer · Example: 400
detail string · Example: The request body failed validation.
code string · Example: invalid_request

Stable machine-readable code. Branch on this field, not on `detail`.

instance string · Example: /api/v2/orders
requestId string · Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3
timestamp string · Example: 2026-04-27T12:34:56.000Z
errors array<object>

Field-level validation errors when `code` is `invalid_request`.

errors[].pointer string required · Example: /items/0/eppCode
errors[].detail string required · Example: `eppCode` is required for this transfer.
errors[].code string required · Example: missing_required
extensions object
403 Forbidden. The caller lacks a required scope or does not own the resource.
type string · Example: https://developer.hostup.se/errors/invalid_request
title string · Example: Validation failed
status integer · Example: 400
detail string · Example: The request body failed validation.
code string · Example: invalid_request

Stable machine-readable code. Branch on this field, not on `detail`.

instance string · Example: /api/v2/orders
requestId string · Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3
timestamp string · Example: 2026-04-27T12:34:56.000Z
errors array<object>

Field-level validation errors when `code` is `invalid_request`.

errors[].pointer string required · Example: /items/0/eppCode
errors[].detail string required · Example: `eppCode` is required for this transfer.
errors[].code string required · Example: missing_required
extensions object
404 Not found. The resource does not exist or is not owned by the caller.
type string · Example: https://developer.hostup.se/errors/invalid_request
title string · Example: Validation failed
status integer · Example: 400
detail string · Example: The request body failed validation.
code string · Example: invalid_request

Stable machine-readable code. Branch on this field, not on `detail`.

instance string · Example: /api/v2/orders
requestId string · Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3
timestamp string · Example: 2026-04-27T12:34:56.000Z
errors array<object>

Field-level validation errors when `code` is `invalid_request`.

errors[].pointer string required · Example: /items/0/eppCode
errors[].detail string required · Example: `eppCode` is required for this transfer.
errors[].code string required · Example: missing_required
extensions object
429 Rate limited. Retry after the limit resets. 429 responses include `Retry-After` seconds plus `X-RateLimit-*` headers.
type string · Example: https://developer.hostup.se/errors/invalid_request
title string · Example: Validation failed
status integer · Example: 400
detail string · Example: The request body failed validation.
code string · Example: invalid_request

Stable machine-readable code. Branch on this field, not on `detail`.

instance string · Example: /api/v2/orders
requestId string · Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3
timestamp string · Example: 2026-04-27T12:34:56.000Z
errors array<object>

Field-level validation errors when `code` is `invalid_request`.

errors[].pointer string required · Example: /items/0/eppCode
errors[].detail string required · Example: `eppCode` is required for this transfer.
errors[].code string required · Example: missing_required
extensions object
500 Internal error. Retry later or contact support if the issue persists.
type string · Example: https://developer.hostup.se/errors/invalid_request
title string · Example: Validation failed
status integer · Example: 400
detail string · Example: The request body failed validation.
code string · Example: invalid_request

Stable machine-readable code. Branch on this field, not on `detail`.

instance string · Example: /api/v2/orders
requestId string · Example: req_01hxa3b4c5d6e7f8g9h0j1k2m3
timestamp string · Example: 2026-04-27T12:34:56.000Z
errors array<object>

Field-level validation errors when `code` is `invalid_request`.

errors[].pointer string required · Example: /items/0/eppCode
errors[].detail string required · Example: `eppCode` is required for this transfer.
errors[].code string required · Example: missing_required
extensions object
GET https://cloud.hostup.se/api/v2/domains/{id}/dnssec-auto
For AI assistants
View as Markdown
cURL
curl -X GET "https://cloud.hostup.se/api/v2/domains/dom_01hxa3b4c5d6e7f8g9h0j1k2m3/dnssec-auto" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Accept: application/json"
Response
{
  "domainName": "example.se",
  "status": "blocked",
  "reason": "Automatic DNSSEC is paused after a nameserver change.",
  "isEnabled": true,
  "isBlocked": true,
  "blockedUntil": "2026-04-30T12:00:00.000Z",
  "blockReason": "Automatic DNSSEC is paused after a nameserver change.",
  "lastCheckedAt": "2026-04-27T12:00:00.000Z",
  "lastError": null,
  "nameserversChangedAt": "2026-04-26T09:30:00.000Z"
}