Domains
Verify Domain
Trigger DNS verification for a sending domain to confirm ownership using the AutoSend API.
POST
/
domains
/
{domainId}
/
verify
curl --request POST \
--url https://api.autosend.com/v1/domains/60d5ec49f1b2c72d9c8b1111/verify \
--header 'Authorization: Bearer <token>'
import requests
url = "https://api.autosend.com/v1/domains/60d5ec49f1b2c72d9c8b1111/verify"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.json())
const response = await fetch(
"https://api.autosend.com/v1/domains/60d5ec49f1b2c72d9c8b1111/verify",
{
method: "POST",
headers: {
Authorization: "Bearer <token>",
},
}
);
const data = await response.json();
console.log(data);
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.autosend.com/v1/domains/60d5ec49f1b2c72d9c8b1111/verify",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => "",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("POST", "https://api.autosend.com/v1/domains/60d5ec49f1b2c72d9c8b1111/verify", nil)
req.Header.Set("Authorization", "Bearer <token>")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.autosend.com/v1/domains/60d5ec49f1b2c72d9c8b1111/verify"))
.header("Authorization", "Bearer <token>")
.POST(HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
require "net/http"
require "uri"
uri = URI.parse("https://api.autosend.com/v1/domains/60d5ec49f1b2c72d9c8b1111/verify")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri.request_uri)
request["Authorization"] = "Bearer <token>"
response = http.request(request)
puts response.body
{
"success": true,
"data": {
"domain": {
"id": "60d5ec49f1b2c72d9c8b1111",
"domainName": "example.com",
"verificationStatus": "VERIFIED",
"ownershipVerified": true,
"dkimEnabled": true,
"mailFromEnabled": false,
"dmarcEnabled": false,
"dnsRecords": {
"ownership": {
"name": "_autosend-verify.example.com",
"value": "autosend-verify-cfdbf714dbec4584b82b925bfff91770",
"type": "TXT",
"purpose": "Domain ownership verification"
},
"dkim": {
"name": "autosend._domainkey.example.com",
"value": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQ...",
"type": "TXT",
"purpose": "DKIM authentication"
},
"mailFrom": [
{
"name": "mail.example.com",
"value": "feedback-smtp.us-east-1.amazonses.com",
"type": "MX",
"purpose": "Mail-from domain",
"priority": 10
},
{
"name": "mail.example.com",
"value": "v=spf1 include:amazonses.com ~all",
"type": "TXT",
"purpose": "SPF record for mail-from domain"
}
],
"dmarc": {
"name": "_dmarc.example.com",
"value": "v=DMARC1; p=none;",
"type": "TXT",
"purpose": "DMARC policy"
}
},
"createdAt": "2026-01-05T10:00:00.000Z",
"lastCheckedAt": "2026-03-25T07:05:29.525Z",
"regionKey": "us-east-1",
"verificationInProgress": false
},
"verificationInProgress": true,
"ownershipVerified": true,
"verificationStatus": "VERIFIED",
"dkimEnabled": true,
"mailFromEnabled": false,
"dmarcEnabled": false
},
"message": "Domain verification status updated"
}
curl --request POST \
--url https://api.autosend.com/v1/domains/60d5ec49f1b2c72d9c8b1111/verify \
--header 'Authorization: Bearer <token>'
import requests
url = "https://api.autosend.com/v1/domains/60d5ec49f1b2c72d9c8b1111/verify"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.json())
const response = await fetch(
"https://api.autosend.com/v1/domains/60d5ec49f1b2c72d9c8b1111/verify",
{
method: "POST",
headers: {
Authorization: "Bearer <token>",
},
}
);
const data = await response.json();
console.log(data);
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.autosend.com/v1/domains/60d5ec49f1b2c72d9c8b1111/verify",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => "",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("POST", "https://api.autosend.com/v1/domains/60d5ec49f1b2c72d9c8b1111/verify", nil)
req.Header.Set("Authorization", "Bearer <token>")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.autosend.com/v1/domains/60d5ec49f1b2c72d9c8b1111/verify"))
.header("Authorization", "Bearer <token>")
.POST(HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
require "net/http"
require "uri"
uri = URI.parse("https://api.autosend.com/v1/domains/60d5ec49f1b2c72d9c8b1111/verify")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri.request_uri)
request["Authorization"] = "Bearer <token>"
response = http.request(request)
puts response.body
{
"success": true,
"data": {
"domain": {
"id": "60d5ec49f1b2c72d9c8b1111",
"domainName": "example.com",
"verificationStatus": "VERIFIED",
"ownershipVerified": true,
"dkimEnabled": true,
"mailFromEnabled": false,
"dmarcEnabled": false,
"dnsRecords": {
"ownership": {
"name": "_autosend-verify.example.com",
"value": "autosend-verify-cfdbf714dbec4584b82b925bfff91770",
"type": "TXT",
"purpose": "Domain ownership verification"
},
"dkim": {
"name": "autosend._domainkey.example.com",
"value": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQ...",
"type": "TXT",
"purpose": "DKIM authentication"
},
"mailFrom": [
{
"name": "mail.example.com",
"value": "feedback-smtp.us-east-1.amazonses.com",
"type": "MX",
"purpose": "Mail-from domain",
"priority": 10
},
{
"name": "mail.example.com",
"value": "v=spf1 include:amazonses.com ~all",
"type": "TXT",
"purpose": "SPF record for mail-from domain"
}
],
"dmarc": {
"name": "_dmarc.example.com",
"value": "v=DMARC1; p=none;",
"type": "TXT",
"purpose": "DMARC policy"
}
},
"createdAt": "2026-01-05T10:00:00.000Z",
"lastCheckedAt": "2026-03-25T07:05:29.525Z",
"regionKey": "us-east-1",
"verificationInProgress": false
},
"verificationInProgress": true,
"ownershipVerified": true,
"verificationStatus": "VERIFIED",
"dkimEnabled": true,
"mailFromEnabled": false,
"dmarcEnabled": false
},
"message": "Domain verification status updated"
}
Authorizations
string | header
required
Bearer authentication header of the form
Bearer <token>, where <token> is your API key.Path Parameters
string
required
The id of the domain to verify.
Response
boolean
Indicates whether the request was accepted.
string
Always
"Domain verification status updated" on success.object
Contains the full domain object and top-level verification status summary fields.
Show Data object
Show Data object
object
The full domain object with updated verification state.
Show Domain object
Show Domain object
string
Unique identifier for the domain (id).
string
The domain name (e.g.
example.com).string
Overall domain verification status. One of
PENDING_CONFIGURATION, PENDING, or VERIFIED.boolean
Whether the TXT ownership record has been verified.
boolean
Whether DKIM CNAME records have been verified.
boolean
Whether the MAIL FROM MX/TXT records have been verified.
boolean
Whether a DMARC TXT record has been detected.
object
DNS records required for domain verification.
Show DNS Records object
Show DNS Records object
object
TXT record for domain ownership verification. Contains
name, value, type, and purpose fields.object
TXT record for DKIM authentication. Contains
name, value, type, and purpose fields.array
Array of MX and TXT records for the MAIL FROM domain. Each record contains
name, value, type, purpose, and optionally priority fields.object
TXT record for DMARC policy. Contains
name, value, type, and purpose fields.string
ISO 8601 timestamp of when the domain was added.
string
ISO 8601 timestamp of the last DNS verification check.
string
The AutoSend region key where the domain is configured (e.g.
us-east-1).boolean
Whether a DNS verification check is currently in progress for this domain.
boolean
Whether verification is currently in progress.
boolean
Whether the TXT ownership record has been verified.
string
Overall domain verification status. One of
PENDING_CONFIGURATION, PENDING, or VERIFIED.boolean
Whether DKIM CNAME records have been verified.
boolean
Whether the MAIL FROM MX/TXT records have been verified.
boolean
Whether a DMARC TXT record has been detected.
Errors
object
Returned when no domain with the given
domainId exists in the project.object
Returned when the verify endpoint has been called too many times in a short period. Wait before retrying.
Was this page helpful?
⌘I
curl --request POST \
--url https://api.autosend.com/v1/domains/60d5ec49f1b2c72d9c8b1111/verify \
--header 'Authorization: Bearer <token>'
import requests
url = "https://api.autosend.com/v1/domains/60d5ec49f1b2c72d9c8b1111/verify"
headers = {"Authorization": "Bearer <token>"}
response = requests.post(url, headers=headers)
print(response.json())
const response = await fetch(
"https://api.autosend.com/v1/domains/60d5ec49f1b2c72d9c8b1111/verify",
{
method: "POST",
headers: {
Authorization: "Bearer <token>",
},
}
);
const data = await response.json();
console.log(data);
<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.autosend.com/v1/domains/60d5ec49f1b2c72d9c8b1111/verify",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_POSTFIELDS => "",
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
],
]);
$response = curl_exec($curl);
curl_close($curl);
echo $response;
package main
import (
"fmt"
"io"
"net/http"
)
func main() {
req, _ := http.NewRequest("POST", "https://api.autosend.com/v1/domains/60d5ec49f1b2c72d9c8b1111/verify", nil)
req.Header.Set("Authorization", "Bearer <token>")
client := &http.Client{}
resp, _ := client.Do(req)
defer resp.Body.Close()
body, _ := io.ReadAll(resp.Body)
fmt.Println(string(body))
}
import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
HttpClient client = HttpClient.newHttpClient();
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://api.autosend.com/v1/domains/60d5ec49f1b2c72d9c8b1111/verify"))
.header("Authorization", "Bearer <token>")
.POST(HttpRequest.BodyPublishers.noBody())
.build();
HttpResponse<String> response = client.send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
require "net/http"
require "uri"
uri = URI.parse("https://api.autosend.com/v1/domains/60d5ec49f1b2c72d9c8b1111/verify")
http = Net::HTTP.new(uri.host, uri.port)
http.use_ssl = true
request = Net::HTTP::Post.new(uri.request_uri)
request["Authorization"] = "Bearer <token>"
response = http.request(request)
puts response.body
{
"success": true,
"data": {
"domain": {
"id": "60d5ec49f1b2c72d9c8b1111",
"domainName": "example.com",
"verificationStatus": "VERIFIED",
"ownershipVerified": true,
"dkimEnabled": true,
"mailFromEnabled": false,
"dmarcEnabled": false,
"dnsRecords": {
"ownership": {
"name": "_autosend-verify.example.com",
"value": "autosend-verify-cfdbf714dbec4584b82b925bfff91770",
"type": "TXT",
"purpose": "Domain ownership verification"
},
"dkim": {
"name": "autosend._domainkey.example.com",
"value": "MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQ...",
"type": "TXT",
"purpose": "DKIM authentication"
},
"mailFrom": [
{
"name": "mail.example.com",
"value": "feedback-smtp.us-east-1.amazonses.com",
"type": "MX",
"purpose": "Mail-from domain",
"priority": 10
},
{
"name": "mail.example.com",
"value": "v=spf1 include:amazonses.com ~all",
"type": "TXT",
"purpose": "SPF record for mail-from domain"
}
],
"dmarc": {
"name": "_dmarc.example.com",
"value": "v=DMARC1; p=none;",
"type": "TXT",
"purpose": "DMARC policy"
}
},
"createdAt": "2026-01-05T10:00:00.000Z",
"lastCheckedAt": "2026-03-25T07:05:29.525Z",
"regionKey": "us-east-1",
"verificationInProgress": false
},
"verificationInProgress": true,
"ownershipVerified": true,
"verificationStatus": "VERIFIED",
"dkimEnabled": true,
"mailFromEnabled": false,
"dmarcEnabled": false
},
"message": "Domain verification status updated"
}