Skip to content

Start SES domain verification (DNS readiness is checked client-side via checkDomainDns)

POST
/domains/{sender}/start-verification
curl --request POST \
--url https://api.pingram.io/domains/example/start-verification \
--header 'Authorization: Bearer <token>'

Authorizations

Parameters

Path Parameters

sender
required
string

Sender domain (URL encoded)

Responses

200

Successful response

Media typeapplication/json
Array<object>
object
sender
required
string
status
required
string
Allowed values: SUCCESS PENDING FAILED TEMPORARY_FAILURE NOT_STARTED
lastSync
required
string format: date-time
verificationTokens
Array<string>
mailFromDomainStatus
string
Allowed values: PENDING SUCCESS FAILED TEMPORARY_FAILURE
createdAt
required
string
privateDKIMKey
string
reminderSentAt
string
selector
required
string
verificationRecords

Keyed by record id — computed on domain API responses, not stored in DB.

object
dkim

DNS record the customer must publish for domain verification.

object
recordType
required
string
Allowed values: TXT MX
recordName
required

Relative name for the parent DNS zone UI (e.g. pingram._domainkey.testing).

string
host
required

Full hostname (e.g. pingram._domainkey.testing.something.com).

string
recordValue
required
string
priority
number
required
boolean
mail_from_spf

DNS record the customer must publish for domain verification.

object
recordType
required
string
Allowed values: TXT MX
recordName
required

Relative name for the parent DNS zone UI (e.g. pingram._domainkey.testing).

string
host
required

Full hostname (e.g. pingram._domainkey.testing.something.com).

string
recordValue
required
string
priority
number
required
boolean
mail_from_mx

DNS record the customer must publish for domain verification.

object
recordType
required
string
Allowed values: TXT MX
recordName
required

Relative name for the parent DNS zone UI (e.g. pingram._domainkey.testing).

string
host
required

Full hostname (e.g. pingram._domainkey.testing.something.com).

string
recordValue
required
string
priority
number
required
boolean
dmarc

DNS record the customer must publish for domain verification.

object
recordType
required
string
Allowed values: TXT MX
recordName
required

Relative name for the parent DNS zone UI (e.g. pingram._domainkey.testing).

string
host
required

Full hostname (e.g. pingram._domainkey.testing.something.com).

string
recordValue
required
string
priority
number
required
boolean
inbound_mx

DNS record the customer must publish for domain verification.

object
recordType
required
string
Allowed values: TXT MX
recordName
required

Relative name for the parent DNS zone UI (e.g. pingram._domainkey.testing).

string
host
required

Full hostname (e.g. pingram._domainkey.testing.something.com).

string
recordValue
required
string
priority
number
required
boolean
Example
[
{
"status": "SUCCESS",
"mailFromDomainStatus": "PENDING",
"verificationRecords": {
"dkim": {
"recordType": "TXT"
},
"mail_from_spf": {
"recordType": "TXT"
},
"mail_from_mx": {
"recordType": "TXT"
},
"dmarc": {
"recordType": "TXT"
},
"inbound_mx": {
"recordType": "TXT"
}
}
}
]

400

Bad Request - validation errors, invalid input

Media typeapplication/json

Standard error response for API errors.

object
trackingId
required

Unique tracking ID for the request.

string
error
required

Structured error details for API error responses.

object
code
required

Machine-readable error code.

string
message
required

Human-readable error message.

string
fix

Actionable hint for fixing the error.

string
Examplegenerated
{
"trackingId": "example",
"error": {
"code": "example",
"message": "example",
"fix": "example"
}
}

401

Unauthorized

402

Payment Required - usage limits exceeded

Media typeapplication/json

Standard error response for API errors.

object
trackingId
required

Unique tracking ID for the request.

string
error
required

Structured error details for API error responses.

object
code
required

Machine-readable error code.

string
message
required

Human-readable error message.

string
fix

Actionable hint for fixing the error.

string
Examplegenerated
{
"trackingId": "example",
"error": {
"code": "example",
"message": "example",
"fix": "example"
}
}

500

Internal Server Error

502

Bad Gateway - provider error

Media typeapplication/json

Standard error response for API errors.

object
trackingId
required

Unique tracking ID for the request.

string
error
required

Structured error details for API error responses.

object
code
required

Machine-readable error code.

string
message
required

Human-readable error message.

string
fix

Actionable hint for fixing the error.

string
Examplegenerated
{
"trackingId": "example",
"error": {
"code": "example",
"message": "example",
"fix": "example"
}
}