Skip to content

Diagnose a custom domain's DNS

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

Looks up the domain’s verification TXT record, CNAME, A, AAAA and nameservers live (through the same public resolver the verifier uses) and classifies them into findings: txt_ok, txt_missing, txt_wrong_value, txt_wrong_name, cname_ok, cname_wrong_target, alias_ok, apex_a_record, subdomain_a_record, cloudflare_proxied, aaaa_leftover, no_records, ns_delegated, ns_not_delegated, lookup_failed, looks_correct. Returns the raw records and a guessed DNS provider. POST because it performs outbound lookups; each domain can be diagnosed once every 10 seconds.

id
required
string

Domain ID

OK

Media type application/json
object
data
meta
object
request_id
string
timestamp
string
trace_id
string
data
object
checked_at
string
connection_mode
string
dns_provider
string
domain
string
domain_id
string
findings
Array<object>
object
code
string
message
string
severity
string
kind
string
records
object
a
Array<string>
aaaa
Array<string>
cname

CNAME is the canonical name the hostname resolves through; null when it has none.

string
expected_ns

ExpectedNS are the Bunny nameservers a managed-DNS domain must delegate to.

Array<string>
lookup_errors

LookupErrors names each lookup that failed for a reason other than “no such record”.

object
key
additional properties
string
ns
Array<string>
ns_name

NSName is the zone whose nameservers were read: the domain itself for managed DNS, the registrable domain otherwise.

string
target

Target is the Bunny hostname the domain must CNAME/ALIAS to, and TargetA/TargetAAAA its addresses today (a flattened apex shares at least one of them).

string
target_a
Array<string>
target_aaaa
Array<string>
txt
Array<string>
txt_name
string
resolver
string
ssl_status
string
stage
string
status
string
team_id
string

Example generated

{
"data": {
"checked_at": "example",
"connection_mode": "example",
"dns_provider": "example",
"domain": "example",
"domain_id": "example",
"findings": [
{
"code": "example",
"message": "example",
"severity": "example"
}
],
"kind": "example",
"records": {
"a": [
"example"
],
"aaaa": [
"example"
],
"cname": "example",
"expected_ns": [
"example"
],
"lookup_errors": {
"additionalProperty": "example"
},
"ns": [
"example"
],
"ns_name": "example",
"target": "example",
"target_a": [
"example"
],
"target_aaaa": [
"example"
],
"txt": [
"example"
],
"txt_name": "example"
},
"resolver": "example",
"ssl_status": "example",
"stage": "example",
"status": "example",
"team_id": "example"
},
"meta": {
"request_id": "example",
"timestamp": "example",
"trace_id": "example"
}
}

Bad Request

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"
}
}

Forbidden

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 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"
}
}

Diagnosed less than 10 seconds ago; see Retry-After

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"
}
}

Service Unavailable

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"
}
}

Live 174db30c built