Skip to content

Check a domain's DNS now

POST
/domains/{id}/verify
curl --request POST \
--url https://api.duta.indra.sh/v1/domains/example/verify \
--header 'Authorization: Bearer <token>'
id
required
string

Success

Media typeapplication/json
object
object
required
string
Allowed values: domain
id
required
string
name
required
string
domain
required
string
status
required
string
Allowed values: pending verified
dns_ready
required
boolean
ses_verified
required
boolean
records
required
Array
object
record
required
string
Allowed values: DKIM SPF DMARC
type
required
string
Allowed values: CNAME TXT MX
name
required
string
value
required
string
priority
integer
ttl
required
string
Allowed values: Auto
status
required
string
Allowed values: verified pending not_started
purpose
required
string
required
required
boolean
group
required
string
Allowed values: dkim sending dmarc
found
required
boolean
Example
{
"object": "domain",
"status": "pending",
"records": [
{
"record": "DKIM",
"type": "CNAME",
"ttl": "Auto",
"status": "verified",
"group": "dkim"
}
]
}

Missing or invalid API key

Media typeapplication/json
object
statusCode
required
integer
name
required

The Resend error name, so code that branches on it keeps working

string
message
required
string
code
required

Duta’s error code, finer grained than name

string
Allowed values: unauthorized forbidden not_found validation_failed domain_not_verified from_domain_not_allowed recipient_suppressed recipient_not_confirmed rate_limited quota_exceeded conflict payment_required account_paused content_rejected platform_halted payload_too_large length_required idempotency_conflict provider_error internal_error
detail
object
key
additional properties
request_id
required

Find this request on the Logs screen

string
Example
{
"code": "unauthorized"
}

The key has sending access only

Media typeapplication/json
object
statusCode
required
integer
name
required

The Resend error name, so code that branches on it keeps working

string
message
required
string
code
required

Duta’s error code, finer grained than name

string
Allowed values: unauthorized forbidden not_found validation_failed domain_not_verified from_domain_not_allowed recipient_suppressed recipient_not_confirmed rate_limited quota_exceeded conflict payment_required account_paused content_rejected platform_halted payload_too_large length_required idempotency_conflict provider_error internal_error
detail
object
key
additional properties
request_id
required

Find this request on the Logs screen

string
Example
{
"code": "unauthorized"
}

Not found in this account

Media typeapplication/json
object
statusCode
required
integer
name
required

The Resend error name, so code that branches on it keeps working

string
message
required
string
code
required

Duta’s error code, finer grained than name

string
Allowed values: unauthorized forbidden not_found validation_failed domain_not_verified from_domain_not_allowed recipient_suppressed recipient_not_confirmed rate_limited quota_exceeded conflict payment_required account_paused content_rejected platform_halted payload_too_large length_required idempotency_conflict provider_error internal_error
detail
object
key
additional properties
request_id
required

Find this request on the Logs screen

string
Example
{
"code": "unauthorized"
}

The request was refused. code says why

Media typeapplication/json
object
statusCode
required
integer
name
required

The Resend error name, so code that branches on it keeps working

string
message
required
string
code
required

Duta’s error code, finer grained than name

string
Allowed values: unauthorized forbidden not_found validation_failed domain_not_verified from_domain_not_allowed recipient_suppressed recipient_not_confirmed rate_limited quota_exceeded conflict payment_required account_paused content_rejected platform_halted payload_too_large length_required idempotency_conflict provider_error internal_error
detail
object
key
additional properties
request_id
required

Find this request on the Logs screen

string
Example
{
"code": "unauthorized"
}

Rate limited. Retry after the Retry-After header

Media typeapplication/json
object
statusCode
required
integer
name
required

The Resend error name, so code that branches on it keeps working

string
message
required
string
code
required

Duta’s error code, finer grained than name

string
Allowed values: unauthorized forbidden not_found validation_failed domain_not_verified from_domain_not_allowed recipient_suppressed recipient_not_confirmed rate_limited quota_exceeded conflict payment_required account_paused content_rejected platform_halted payload_too_large length_required idempotency_conflict provider_error internal_error
detail
object
key
additional properties
request_id
required

Find this request on the Logs screen

string
Example
{
"code": "unauthorized"
}