/api/v2/shared-hosting/{accountId}/domains/dns-setup Read the current authoritative DNS of a domain attached to the shared-hosting account and classify where its website and email point, so a client can offer the same setup choice the client area offers after attaching a domain.
Get {accountId} from GET /api/v2/shared-hosting data[].id; the domain must already be attached to the account (GET /api/v2/shared-hosting/{accountId}/domains).
The response tells whether the setup can be applied (canApply), which setup the platform recommends, the revision that POST requires, and whether a previously applied setup has finished publishing.
The same route also serves the DNS setup link sent by email: send Authorization: DnsSetup <token> instead of a session or API key and the response additionally carries linkUsed, linkCompleted and linkPreference.
Responses are never cached.
read:hostingread:dnsconsole:services
Authenticate with an API key in the Authorization: Bearer <token> header.
accountId string required
Example: acct_01hxa3b4c5d6e7f8g9h0j1k2m3 Public shared-hosting account ID from GET /api/v2/shared-hosting data[].id. Do not invent this value; use the exact ID returned by the referenced API response.
domain string required
· Example: example.com Full domain name attached to the hosting account, without protocol or path.
Authorization Bearer <token> Accept application/json domain string required
· Example: example.com hostingName string required
· Example: example-hosting.se The hosting account's main domain, as shown in the client area.
currentMailAddresses array<string> required
· Example: [] IP addresses the domain's current MX hosts resolve to inside this zone; empty when mail is not hosted in it.
enabled boolean required
· Example: true false when this hosting account's platform does not offer the setup action; POST then returns 409 dns_not_enabled.
delegation string · enum required
· Example: hostup Where the domain's nameservers point. The choice can be prepared while delegation is still external; nothing is live until the nameservers move.
hostup external unknown hostingIp string · nullable required
· Example: 185.113.11.42 The address website records are pointed at when the setup is applied.
classification object · nullable required What the domain's current authoritative DNS points at. null when the zone could not be read.
revision string · nullable required
· Example: 5f8c1d2e9a7b4c3d6e1f0a9b8c7d6e5f4a3b2c1d0e9f8a7b6c5d4e3f2a1b0c9d Fingerprint of the current DNS records and nameservers. Send it back in POST; a mismatch returns 409 dns_changed. null when the zone could not be read.
pendingChoice boolean required
· Example: true true while the platform is still waiting for the customer to choose a setup for this domain.
publication string · nullable · enum required
· Example: null State of the last applied setup: pending until the zone matches the plan, done once it does, null when nothing was applied.
pending done canApply boolean required
· Example: true true when the setup can be applied now: the action is enabled, the zone was read and a hosting address is known.
linkUsed boolean
· Example: false Only with a DNS setup link token: whether the link has been used before.
linkCompleted boolean
· Example: false Only with a DNS setup link token: whether the link's setup was already completed.
linkPreference string · nullable · enum
· Example: null Only with a DNS setup link token: the preference the link was issued for, if any.
full email-only website-only none domain is missing or not a valid domain name. 10 fields 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 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 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 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 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 Retry-After seconds plus X-RateLimit-* headers. 10 fields 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 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 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 https://cloud.hostup.se/api/v2/shared-hosting/{accountId}/domains/dns-setup curl -X GET "https://cloud.hostup.se/api/v2/shared-hosting/acct_01hxa3b4c5d6e7f8g9h0j1k2m3/domains/dns-setup?domain=example.com" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" {
"domain": "example.com",
"hostingName": "example-hosting.se",
"currentMailAddresses": [],
"enabled": true,
"delegation": "hostup",
"hostingIp": "185.113.11.42",
"classification": {
"website": "parking",
"mail": "missing",
"apex": [
"185.113.11.0"
],
"www": [
"185.113.11.0"
],
"mx": [],
"requiresChoice": false,
"recommendedPreference": "full"
},
"revision": "5f8c1d2e9a7b4c3d6e1f0a9b8c7d6e5f4a3b2c1d0e9f8a7b6c5d4e3f2a1b0c9d",
"pendingChoice": true,
"publication": null,
"canApply": true
}