curl --request PUT \
--url https://cloudapi.mailercloud.com/v1/domains/{id} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"dkim_selector": "k3"
}
'{
"id": "zjAKXb",
"domain": "example.com",
"status": "not_verified",
"open_tracking": false,
"records": [
{
"type": "CNAME",
"host": "mc.example.com",
"value": "mc3035n.mlrcloud.com",
"status": "pending",
"purpose": "tracking",
"message": "Add the record to your domain provider"
},
{
"type": "CNAME",
"host": "k1._domainkey.example.com",
"value": "dkim.mlrcloud.com",
"status": "pending",
"purpose": "dkim",
"message": "Add the record to your domain provider"
},
{
"type": "CNAME",
"host": "k2._domainkey.example.com",
"value": "dkim2.mlrcloud.com",
"status": "optional",
"purpose": "dkim2",
"message": "Add the record to your domain provider"
},
{
"type": "CNAME",
"host": "img3035n.example.com",
"value": "img3035n.mlrcloud.com",
"status": "pending",
"purpose": "image",
"message": "Add the record to your domain provider"
},
{
"type": "TXT",
"host": "_dmarc.example.com",
"value": "v=DMARC1; p=reject; sp=none; adkim=s; aspf=s; rua=mailto:dmarc@mlrcloud.com; ruf=mailto:dmarc@mlrcloud.com;",
"status": "pending",
"purpose": "dmarc",
"message": "Update the record in your domain provider"
}
],
"created_at": "2026-10-15 18:32:12"
}Update a Domain
Change one or more DNS record host labels and/or open tracking in one call — the same changes as the edit (pencil) icon and the open-tracking toggle in Account Settings → Domains.
Send at least one field. All fields are checked first; if any is invalid nothing is changed.
Each renamed record gets its new host and status: pending: add the new record at your DNS provider and Verify a Domain again. The response is the same domain object as Get a Domain.
Notes
tracking_prefixis the tracking / Return-Path host (mcinmc.example.com). It cannot be changed for a subdomain.- For a subdomain, the image record’s host is on the root domain (e.g.
img2.example.comfornews.example.com). - The DKIM and second DKIM selectors must be different.
curl --request PUT \
--url https://cloudapi.mailercloud.com/v1/domains/{id} \
--header 'Authorization: <api-key>' \
--header 'Content-Type: application/json' \
--data '
{
"dkim_selector": "k3"
}
'{
"id": "zjAKXb",
"domain": "example.com",
"status": "not_verified",
"open_tracking": false,
"records": [
{
"type": "CNAME",
"host": "mc.example.com",
"value": "mc3035n.mlrcloud.com",
"status": "pending",
"purpose": "tracking",
"message": "Add the record to your domain provider"
},
{
"type": "CNAME",
"host": "k1._domainkey.example.com",
"value": "dkim.mlrcloud.com",
"status": "pending",
"purpose": "dkim",
"message": "Add the record to your domain provider"
},
{
"type": "CNAME",
"host": "k2._domainkey.example.com",
"value": "dkim2.mlrcloud.com",
"status": "optional",
"purpose": "dkim2",
"message": "Add the record to your domain provider"
},
{
"type": "CNAME",
"host": "img3035n.example.com",
"value": "img3035n.mlrcloud.com",
"status": "pending",
"purpose": "image",
"message": "Add the record to your domain provider"
},
{
"type": "TXT",
"host": "_dmarc.example.com",
"value": "v=DMARC1; p=reject; sp=none; adkim=s; aspf=s; rua=mailto:dmarc@mlrcloud.com; ruf=mailto:dmarc@mlrcloud.com;",
"status": "pending",
"purpose": "dmarc",
"message": "Update the record in your domain provider"
}
],
"created_at": "2026-10-15 18:32:12"
}Authorizations
Your Mailercloud API key (plain text, no Bearer prefix). Create keys in Settings → API.
Path Parameters
Domain ID (from Add a Domain or List Domains)
Body
New host label of the tracking record.
Letters and digits only. Maximum: 25
Main domains only (not subdomains).
25New selector of the dkim record (<selector>._domainkey.<domain>).
Letters and digits only. Maximum: 3
3New selector of the dkim2 record.
Letters and digits only. Maximum: 3
3New host label of the image record.
Letters, digits and dots. Maximum: 25
25Turn open tracking on (true) or off (false) — the same as the open-tracking toggle in the app. No effect on marketing campaigns.
Response
OK
Domain ID
Domain name
Domain status:
verified— the domain is authenticated and ready to send.not_verified— the DNS records are not all in place yet (or not checked yet).failed— at least one DNS record was found but is wrong (that record'sstatusisinvalid; see itserror_messagein Get a Domain).
verified, not_verified, failed Open tracking for Email API / SMTP sends from this domain. No effect on marketing campaigns. Off for a newly added domain.
DNS records to publish at your DNS provider
Show child attributes
Show child attributes
When the domain was added, in your account timezone (YYYY-MM-DD HH:MM:SS)