Alias for GET /api/v2/dns-zones/{id} that returns the same { zone, records } shape. Use this when the tool catalog exposes DNS records as a subresource. Get {id} from GET /api/v2/dns-zones data[].id; use records[].id as {recordId} when updating, proxying, or deleting records. Filter with type and/or…
Alias for GET /api/v2/dns-zones/{id} that returns the same { zone, records } shape. Use this when the tool catalog exposes DNS records as a subresource. Get {id} from GET /api/v2/dns-zones data[].id; use records[].id as {recordId} when updating, proxying, or deleting records. Filter with type and/or name before making changes so you can see existing A, AAAA, MX, CNAME, and TXT records instead of assuming a create request will replace them. zone.recordCount is the number of records in this response; zone.totalRecordCount, zone.liveRecordLimit, and zone.exceedsLiveRecordLimit let clients warn when the full zone is above the live DNS publication limit even if the current response is filtered.
read:dns
Use Authorization: Bearer <token> for API keys. Dashboard sessions may also use hostup_session.
id string required
Example: zone_01hxa3b4c5d6e7f8g9h0j1k2m3 Public DNS zone ID. Get it from GET /api/v2/dns-zones `data[].id`. Do not invent this value; use the exact ID returned by the referenced API response.
type string · enum Return only records of this DNS type, for example `A`, `AAAA`, or `MX` before changing website or mail routing.
A AAAA CNAME ALIAS MX TXT NS SRV CAA TLSA name string
· Example: @ Return only records with this owner name. Use `@` for the zone root, a relative label such as `mail`, or a full name such as `mail.example.com`.
Accept Example Content-Type Example zone object required zone.id string required
· Example: zone_01hxa3b4c5d6e7f8g9h0j1k2m3 zone.name string required
· Example: example.com zone.status string · enum required
· Example: active active disabled pending error unknown zone.recordCount integer required
· Example: 3 Number of DNS records returned in `records[]` after query filters are applied.
zone.totalRecordCount integer
· Example: 306 Total customer-relevant DNS records in the zone before type/name filters.
zone.liveRecordLimit integer
· Example: 200 Maximum number of customer-relevant DNS records that can be published live at once.
zone.exceedsLiveRecordLimit boolean
· Example: true True when `totalRecordCount` is greater than `liveRecordLimit`; clients should show a warning before the user adds or troubleshoots records.
zone.warnings array<object> Zone-level warnings. Present when `exceedsLiveRecordLimit` is true.
zone.warnings[].code string · enum required dns_live_record_limit_exceeded zone.warnings[].severity string · enum required warning zone.warnings[].message string required
· Example: This zone has 306 DNS records. Only the first 200 records can be published live; record... records array<object> required records[].id string required
· Example: drr_01hxa3b4c5d6e7f8g9h0j1k2m3 records[].type string · enum required
· Example: TXT A AAAA CNAME ALIAS MX TXT SRV CAA NS TLSA records[].name string required
· Example: _dmarc.example.com records[].value string required
· Example: v=DMARC1; p=none; rua=mailto:dmarc@example.com records[].ttl integer required
· Example: 3600 records[].priority integernull
· Example: 10 Present only for MX and SRV records. `null` means the upstream DNS provider omitted priority for a priority-capable record.
records[].weight integernull
· Example: 5 Present only for SRV records. `null` means the upstream DNS provider omitted weight for an SRV record.
records[].port integernull
· Example: 5060 Present only for SRV records. `null` means the upstream DNS provider omitted port for an SRV record.
records[].proxied boolean
· Example: false Present only on A, AAAA, and CNAME records when the CDN proxy state is known. Omitted for record types that cannot be proxied.
records[].proxyReason string
· Example: Mail server records cannot be proxied because MX records depend on them. Present only when this proxy-capable record has a customer-facing reason that prevents changing the proxy state.
records[].actions object Compact action gates for state that belongs to this DNS record. Present only when a server-side action gate is relevant to the record.
records[].actions.canChangeProxy object required records[].actions.canChangeProxy.allowed boolean required
· Example: true records[].actions.canChangeProxy.reason stringnull required
· Example: null records[].actions.canChangeProxy.code stringnull
· Example: pending_order Machine-readable reason code when an action is blocked.
records[].warnings array<object> Present on DNS write responses when the request succeeded but the resulting same-name record set deserves review, for example multiple A records, remaining AAAA records, or multiple MX records.
records[].warnings[].code string · enum required
· Example: same_name_address_records same_name_address_records same_name_ipv6_records same_name_mx_records records[].warnings[].severity string · enum required
· Example: warning warning records[].warnings[].message string required
· Example: There are now multiple A records for example.com. This is valid for some setups, but if... records[].warnings[].records array<object> required Existing records that triggered the warning. The newly created or updated record is the main response object.
records[].warnings[].records[].id string required
· Example: drr_01hxa3b4c5d6e7f8g9h0j1k2m4 records[].warnings[].records[].type string required
· Example: A records[].warnings[].records[].name string required
· Example: example.com records[].warnings[].records[].value string required
· Example: 198.51.100.25 records[].warnings[].records[].priority integernull
· Example: 10 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 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/dns-zones/{id}/records curl -X GET "https://cloud.hostup.se/api/v2/dns-zones/zone_01hxa3b4c5d6e7f8g9h0j1k2m3/records" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Accept: application/json" {
"zone": {
"id": "zone_01hxa3b4c5d6e7f8g9h0j1k2m3",
"name": "example.com",
"status": "active",
"recordCount": 2,
"totalRecordCount": 306,
"liveRecordLimit": 200,
"exceedsLiveRecordLimit": true,
"warnings": [
{
"code": "dns_live_record_limit_exceeded",
"severity": "warning",
"message": "This zone has 306 DNS records. Only the first 200 records can be published live; records beyond that limit may be saved but not resolve."
}
]
},
"records": [
{
"id": "drr_01hxa3b4c5d6e7f8g9h0j1k2m3",
"type": "A",
"name": "example.com",
"value": "192.0.2.10",
"ttl": 3600
},
{
"id": "drr_01hxa3b4c5d6e7f8g9h0j1k2m4",
"type": "AAAA",
"name": "example.com",
"value": "2001:db8::10",
"ttl": 3600
}
]
}