import { CommuneClient } from 'commune-ai';
const commune = new CommuneClient({ apiKey: process.env.COMMUNE_API_KEY });
const result = await commune.domains.verify('domain_xyz789');
console.log(result.data.status); // verified — or pending if DNS hasn't propagated
from commune import CommuneClient
client = CommuneClient()
result = client.domains.verify("domain_xyz789")
print(result.data.status)
verify_domain(id="domain_xyz789")
curl -X POST "https://api.commune.email/v1/domains/domain_xyz789/verify" \
-H "Authorization: Bearer comm_..."
commune domains verify domain_xyz789
{
"data": {
"id": "domain_xyz789",
"name": "mycompany.com",
"status": "verified",
"records": [
{
"type": "MX",
"name": "mycompany.com",
"value": "feedback-smtp.us-east-1.amazonses.com",
"priority": 10,
"ttl": 300,
"status": "verified"
},
{
"type": "TXT",
"name": "resend._domainkey.mycompany.com",
"value": "p=MIGfMA0GCSq...",
"ttl": 300,
"status": "verified"
}
]
}
}
{
"data": {
"id": "domain_xyz789",
"name": "mycompany.com",
"status": "pending",
"records": [
{
"type": "MX",
"name": "mycompany.com",
"status": "pending"
}
]
}
}
{
"error": "Domain not found"
}
{
"error": "Verification failed"
}
{
"error": "unauthorized",
"message": "Invalid or missing API key"
}
Domains
Verify domain
Trigger DNS verification for a domain. Call this after adding the required DNS records.
POST
/
v1
/
domains
/
:domainId
/
verify
import { CommuneClient } from 'commune-ai';
const commune = new CommuneClient({ apiKey: process.env.COMMUNE_API_KEY });
const result = await commune.domains.verify('domain_xyz789');
console.log(result.data.status); // verified — or pending if DNS hasn't propagated
from commune import CommuneClient
client = CommuneClient()
result = client.domains.verify("domain_xyz789")
print(result.data.status)
verify_domain(id="domain_xyz789")
curl -X POST "https://api.commune.email/v1/domains/domain_xyz789/verify" \
-H "Authorization: Bearer comm_..."
commune domains verify domain_xyz789
{
"data": {
"id": "domain_xyz789",
"name": "mycompany.com",
"status": "verified",
"records": [
{
"type": "MX",
"name": "mycompany.com",
"value": "feedback-smtp.us-east-1.amazonses.com",
"priority": 10,
"ttl": 300,
"status": "verified"
},
{
"type": "TXT",
"name": "resend._domainkey.mycompany.com",
"value": "p=MIGfMA0GCSq...",
"ttl": 300,
"status": "verified"
}
]
}
}
{
"data": {
"id": "domain_xyz789",
"name": "mycompany.com",
"status": "pending",
"records": [
{
"type": "MX",
"name": "mycompany.com",
"status": "pending"
}
]
}
}
{
"error": "Domain not found"
}
{
"error": "Verification failed"
}
{
"error": "unauthorized",
"message": "Invalid or missing API key"
}
import { CommuneClient } from 'commune-ai';
const commune = new CommuneClient({ apiKey: process.env.COMMUNE_API_KEY });
const result = await commune.domains.verify('domain_xyz789');
console.log(result.data.status); // verified — or pending if DNS hasn't propagated
from commune import CommuneClient
client = CommuneClient()
result = client.domains.verify("domain_xyz789")
print(result.data.status)
verify_domain(id="domain_xyz789")
curl -X POST "https://api.commune.email/v1/domains/domain_xyz789/verify" \
-H "Authorization: Bearer comm_..."
commune domains verify domain_xyz789
{
"data": {
"id": "domain_xyz789",
"name": "mycompany.com",
"status": "verified",
"records": [
{
"type": "MX",
"name": "mycompany.com",
"value": "feedback-smtp.us-east-1.amazonses.com",
"priority": 10,
"ttl": 300,
"status": "verified"
},
{
"type": "TXT",
"name": "resend._domainkey.mycompany.com",
"value": "p=MIGfMA0GCSq...",
"ttl": 300,
"status": "verified"
}
]
}
}
{
"data": {
"id": "domain_xyz789",
"name": "mycompany.com",
"status": "pending",
"records": [
{
"type": "MX",
"name": "mycompany.com",
"status": "pending"
}
]
}
}
{
"error": "Domain not found"
}
{
"error": "Verification failed"
}
{
"error": "unauthorized",
"message": "Invalid or missing API key"
}
Path Parameters
string
required
The domain ID to verify. Obtain this from Create domain or List domains.
Response
object
Updated domain object after the verification check.
Hide properties
Hide properties
string
Domain ID.
string
The domain name.
string
Updated verification status.
"verified" when all required DNS records are present and valid. "pending" if DNS has not yet propagated — wait a few minutes and try again.object[]
Updated DNS records with per-record verification status.
Verification flow
- Call Create domain — note the DNS records returned.
- Add those records to your DNS provider (registrar or Cloudflare, Route53, etc.).
- Wait for DNS propagation — typically 5 minutes to 2 hours depending on your registrar’s TTL settings.
- Call this endpoint to check verification. If
statusis still"pending", wait and retry. - Once
statusis"verified", the domain is ready for sending and receiving.
Last modified on March 19, 2026
Was this page helpful?

