Update a domain
PATCH/v1/domains/{id}
Turn open and click tracking on or off for the domain. Both are off by default. Opens are approximate, because some mail apps load images for the reader. Click tracking rewrites the links in your emails, so leave it off for emails whose links are secrets, such as sign-in and password-reset links. The tracking.available field says whether tracking is switched on for the platform; until it is, the settings are saved but have no effect.
Required scope: domains:manage
Parameters
| Name | In | Description |
|---|---|---|
idrequired | path | The domain id. |
Request body
| Field | Type |
|---|---|
track_opensoptional | boolean |
track_clicksoptional | boolean |
open_trackingoptional | boolean |
click_trackingoptional | boolean |
tlsoptional | "opportunistic" | "enforced" |
custom_return_pathoptional | string |
Unknown fields are rejected, so a typo never silently does nothing.
Example
curl -X PATCH 'https://api.sendsend.email/v1/domains/ID' \
-H "Authorization: Bearer $SENDSEND_API_KEY" \
-H 'Content-Type: application/json' \
-d '{
"track_opens": true
}'Response 200
{
"id": "dom_DCdfxpkhLqMhmBdY",
"object": "domain",
"domain": "mail.acme.com",
"status": "pending",
"failure_reason": null,
"verified_at": null,
"last_checked_at": null,
"created_at": "2026-10-06T15:00:00.000Z",
"records": [
{
"purpose": "dkim",
"required": true,
"type": "CNAME",
"name": "abc123._domainkey.mail.acme.com",
"value": "abc123.dkim.amazonses.com",
"dns": "unchecked"
}
],
"dns_summary": {
"required_total": 3,
"required_found": 0,
"checked": false
},
"tracking": {
"opens": true,
"clicks": false,
"available": true
}
}Errors
| Status | Code | When |
|---|---|---|
| 400 | validation_error | The request body or parameters are invalid. The message says which field. |
| 404 | not_found | No such resource in this project. |
| 401 | unauthorized | The API key is missing, invalid or revoked. |
| 403 | forbidden | The key does not have the scope this endpoint needs. |
Every error has the same shape. See Errors.