Skip to content

Re-check DNS

POST
/teams/{teamId}/domains/{domainId}/dns/check
curl --request POST \
--url https://qinto-api.blotout.io/teams/7b8d1a52-6c1e-4b6f-9a30-2f8a54d1c3e9/domains/3f2a9c81-5d47-4e0b-8c66-91b2a7f04d15/dns/check \
--header 'Authorization: Bearer <token>'

Re-checks a site’s DNS and returns the result. Call it once after publishing the records; use the read operation to poll.

How it works

When a site needs DNS records, this refreshes its hostname at the provider and re-creates it if it went missing; a site Qinto attaches itself needs no records and reports required: false. It is safe to repeat — poll with GET /dns instead. The response is the same shape as the read, including a checked: false result when the refresh could not run.

Required permissions

  • domain:write on all domains, or on the addressed domain when its id is in the route
teamId
required

Unique id (UUID) of the team that owns the addressed resources, as shown in the team settings on the Blotout platform.

string format: uuid

Example

7b8d1a52-6c1e-4b6f-9a30-2f8a54d1c3e9

Unique id (UUID) of the team that owns the addressed resources, as shown in the team settings on the Blotout platform.

domainId
required

Unique id (UUID) of the site, as returned by the create and list operations.

string format: uuid

Example

3f2a9c81-5d47-4e0b-8c66-91b2a7f04d15

Unique id (UUID) of the site, as returned by the create and list operations.

The site’s DNS records and verification state, including a state that could not be determined.

Media typeapplication/json

A site’s DNS records and its current verification state.

object
records
required

Records the customer must publish; empty when the site needs none or the check could not run.

Array<object>

One DNS record the customer must publish.

object
type
required

Record type to create.

string
Allowed values: CNAME
name
required

Record name, relative to the customer’s root domain.

string
value
required

Value the record must carry.

string
note

Extra instruction for this record, when one applies.

string
valid
required

Whether the site’s hostname is verified and serving.

boolean
required
required

Whether this site needs DNS at all. False when Qinto attaches the hostname itself, which never verifies through DNS.

boolean
checked
required

Whether the check ran. False means the state is unknown — read message and failureKind rather than trusting valid.

boolean
failureKind
required

Why the check could not run, or null when it did: host_not_ready and not_configured need a fix before retrying, anything else is transient.

string | null
message
required

What is outstanding, or why the check could not run. Empty once the site is verified.

string

Example

{
"records": [
{
"type": "CNAME",
"name": "shop",
"value": "shop.customers.qinto-edge.com",
"note": "Disable the Proxied (orange-cloud) option."
}
],
"valid": false,
"required": true,
"checked": true,
"failureKind": "host_not_ready",
"message": "Pending SSL validation."
}

invalid_params — A path parameter failed validation (for example a malformed UUID); details pinpoints the offending parameter.

Media typeapplication/json
object
error
required

Machine-readable error slug; switch on this value rather than on the HTTP status alone.

string
Allowed values: invalid_params
details

Field-level validation errors: a tree keyed by input property, each node carrying an errors array of human-readable messages. Render it to help the caller correct the request.

object
key
additional properties

Example

{
"error": "invalid_params",
"details": {
"errors": [],
"properties": {
"teamId": {
"errors": [
"Invalid UUID"
]
}
}
}
}

unauthenticated — The Authorization: Bearer token is missing, malformed, or no longer valid. Generate a team API token or obtain a new OAuth access token.

Media typeapplication/json
object
error
required

Machine-readable error slug; switch on this value rather than on the HTTP status alone.

string
Allowed values: unauthenticated

Example

{
"error": "unauthenticated"
}

forbidden — The bearer credential lacks the required permission or belongs to another team, or its user lacks the organization role a developer operation needs. Update its policies, use a credential bound to the addressed team, or ask an organization owner for the role; message states the reason when one is known.

Media typeapplication/json
object
error
required

Machine-readable error slug; switch on this value rather than on the HTTP status alone.

string
Allowed values: forbidden
message

Human-readable reason for this specific failure, intended for display — do not parse it programmatically.

string

Example

{
"error": "forbidden",
"message": "The Cloudflare API token is invalid or expired."
}

not_found — The addressed resource does not exist within this team; check the id and retry.

Media typeapplication/json
object
error
required

Machine-readable error slug; switch on this value rather than on the HTTP status alone.

string
Allowed values: not_found

Example

{
"error": "not_found"
}

internal — Unexpected server error. Nothing is guaranteed to have been persisted; idempotent operations are safe to retry.

Media typeapplication/json
object
error
required

Machine-readable error slug; switch on this value rather than on the HTTP status alone.

string
Allowed values: internal

Example

{
"error": "internal"
}