SLSmartletter API

Domains

Custom sending domains (DKIM, SPF, MX).

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

namerequiredstring
tracking_subdomainstring
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

limitinteger1–100, default 20.
afteruuidId of the last item of the previous page (older items).
beforeuuidId 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"
}