Domains
Custom sending domains (DKIM, SPF, MX).
- POST /domains — Add a domain
- GET /domains — List domains
- GET /domains/{id} — Retrieve a domain (with DNS records)
- POST /domains/{id}/verify — Verify a domain
post/domains— Add a domain
tracking_subdomain (a label, e.g. news) also makes <label>.<name> the custom subdomain of your newsletter (tracked links, preferences, archive) when the workspace has a single active newsletter; otherwise use POST /segments/{id}/domain. custom_return_path is not supported.
Keys: full_access
Body
| namerequired | string | |
| tracking_subdomain | string |
curl -X POST https://api.smartletter.ai/domains \
-H "Authorization: Bearer $SMARTLETTER_API_KEY" \
-H "Content-Type: application/json" \
-d '{"name":"acme.com","tracking_subdomain":"news"}'Response 201
{
"object": "domain",
"id": "5b1f2c90-0000-4000-8000-000000000002",
"name": "news.acme.com",
"status": "not_started",
"records": []
}get/domains— List domains
Keys: full_access
Query parameters
| limit | integer | 1–100, default 20. |
| after | uuid | Id of the last item of the previous page (older items). |
| before | uuid | Id of the first item of the previous page (newer items). |
curl -X GET https://api.smartletter.ai/domains \
-H "Authorization: Bearer $SMARTLETTER_API_KEY"Response 200
{
"object": "list",
"has_more": false,
"data": [
{
"id": "5b1f2c90-0000-4000-8000-000000000002",
"name": "news.acme.com",
"status": "verified"
}
]
}get/domains/{id}— Retrieve a domain (with DNS records)
Keys: full_access
curl -X GET https://api.smartletter.ai/domains/<id> \
-H "Authorization: Bearer $SMARTLETTER_API_KEY"Response 200
{
"object": "domain",
"id": "5b1f2c90-0000-4000-8000-000000000002",
"name": "news.acme.com",
"status": "verified",
"records": []
}post/domains/{id}/verify— Verify a domain
Keys: full_access
curl -X POST https://api.smartletter.ai/domains/<id>/verify \
-H "Authorization: Bearer $SMARTLETTER_API_KEY"Response 200
{
"object": "domain",
"id": "5b1f2c90-0000-4000-8000-000000000002"
}