Skip to Content
SeyloDocs

Check a domain's DNS

GET
/api/v1/domains.checkDns

Resolves the domain through public resolvers now and classifies the answer (ok, missing, wrong target, Cloudflare proxied). Returns the records to create and a Cloudflare DNS link when the zone is on Cloudflare. Also refreshes the stored status.

Needs domains.view on the service (a grant on its project covers it). Available to MCP clients and the assistant.

Authorization

cookieseylo_session<token>

Query Parameters

serviceId*string

Panel-issued id.

Match^[a-z0-9]{16}$
domainId*string

Panel-issued id.

Match^[a-z0-9]{16}$

Response Body

Success.

application/json
  1. response
domainId*string

Panel-issued id.

Match^[a-z0-9]{16}$
host*string

Lower-case host name without scheme or port, for example shop.example.com.

Match^([a-z0-9]([a-z0-9-]{0,61}[a-z0-9])?\.)+[a-z][a-z0-9-]{0,62}$
Length3 <= length <= 253
status*string|string|string|string|string
message*string
expected*array<>
found*array<>
zone*string|null
cloudflareManaged*boolean
cloudflareDnsUrl*string|null
checkedAt*string
Formatdate-time
Example Request
curl -X GET 'https://example.com/api/v1/domains.checkDns?serviceId=string&domainId=string'
Example Response
{  "domainId": "string",  "host": "string",  "status": "unknown",  "message": "string",  "expected": [    {      "type": "A",      "name": "string",      "value": "string"    }  ],  "found": [    {      "type": "A",      "name": "string",      "value": "string"    }  ],  "zone": "string",  "cloudflareManaged": true,  "cloudflareDnsUrl": "string",  "checkedAt": "2019-08-24T14:15:22Z"}