Skip to content

Check managed-DNS nameserver delegation now

POST
/api/v1/domains/{id}/check-delegation
curl --request POST \
--url https://api.deploybase.eu/api/v1/api/v1/domains/example/check-delegation \
--header 'Authorization: <Authorization>'

Asks the parent zone (registry) directly whether the domain’s nameservers point at deploybase, falling back to a recursive resolver only when the registry answer is inconclusive. When delegation is already in place the domain is provisioned immediately, exactly as the background worker would. Managed-DNS domains awaiting delegation only; rate limited to one check per minute per domain.

id
required
string

Domain ID

OK

Media type application/json
object
data
meta
object
request_id
string
timestamp
string
trace_id
string
data
object
delegated

Delegated is true when the observed nameservers include one we handed the customer.

boolean
dnssec_ds_present

DNSSECDSPresent warns that the parent publishes a DS record. The Bunny zone is unsigned, so a validating resolver will SERVFAIL the domain until the customer removes DNSSEC at their registrar. Informational: it never blocks the state machine.

boolean
expected_nameservers

ExpectedNameservers are the Bunny nameservers stored on the domain.

Array<string>
observed_nameservers

ObservedNameservers is what the check actually saw, normalized. Empty, never null.

Array<string>
source

Source is “registry” (the parent zone answered) or “resolver” (recursive fallback).

string
status

Status is the domain’s status AFTER the check (verified once provisioning succeeded).

string
Example generated
{
"data": {
"delegated": true,
"dnssec_ds_present": true,
"expected_nameservers": [
"example"
],
"observed_nameservers": [
"example"
],
"source": "example",
"status": "example"
},
"meta": {
"request_id": "example",
"timestamp": "example",
"trace_id": "example"
}
}

Managed DNS is not available

Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string
Example generated
{
"code": "example",
"details": "example",
"error": "example",
"meta": {
"request_id": "example",
"timestamp": "example",
"trace_id": "example"
}
}

Unauthorized

Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string
Example generated
{
"code": "example",
"details": "example",
"error": "example",
"meta": {
"request_id": "example",
"timestamp": "example",
"trace_id": "example"
}
}

Domain not found

Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string
Example generated
{
"code": "example",
"details": "example",
"error": "example",
"meta": {
"request_id": "example",
"timestamp": "example",
"trace_id": "example"
}
}

Not a managed-DNS domain awaiting delegation

Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string
Example generated
{
"code": "example",
"details": "example",
"error": "example",
"meta": {
"request_id": "example",
"timestamp": "example",
"trace_id": "example"
}
}

Rate limited

Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string
Example generated
{
"code": "example",
"details": "example",
"error": "example",
"meta": {
"request_id": "example",
"timestamp": "example",
"trace_id": "example"
}
}

Internal Server Error

Media type application/json
object
code
string
details
error
string
meta
object
request_id
string
timestamp
string
trace_id
string
Example generated
{
"code": "example",
"details": "example",
"error": "example",
"meta": {
"request_id": "example",
"timestamp": "example",
"trace_id": "example"
}
}