Skip to content

Domains

Add, verify, configure and remove sending domains.

A domain gets three DNS records: DKIM on iresendly._domainkey, and an MX and an SPF record on the send subdomain. Domains your account already verified for Marketing or Business Email are imported as verified. See Domains for the full setup.

Add a domain

POST/domains

Adds a domain or subdomain and returns its DNS records. URLs and email addresses are reduced to the host. Returns 409 conflict if you've already added it, 409 domain_in_use if another account holds it, and 403 plan_limit_reached at your plan's limit (1, 10 or 1,000).

Body
  • namestringrequired

    The domain, e.g. acme.com or mail.acme.com.

POST/domains
curl -X POST 'https://api.iresendly.com/domains' \
  -H 'Authorization: Bearer irs_xxxxxxxxx' \
  -H 'Content-Type: application/json' \
  -d '{
  "name": "acme.com"
}'
Response
{
  "object": "domain",
  "id": "d91cd9bd-1176-453e-8fc1-35364d380206",
  "name": "acme.com",
  "status": "pending",
  "origin": "created",
  "region": "eu-north-1",
  "open_tracking": false,
  "click_tracking": false,
  "created_at": "2026-11-07T10:00:00.000Z",
  "verified_at": null,
  "records": [
    {
      "record": "DKIM",
      "name": "iresendly._domainkey",
      "type": "TXT",
      "ttl": "Auto",
      "status": "pending",
      "value": "p=MIGfMA0GCSqGSIb3DQEB…"
    },
    {
      "record": "SPF",
      "name": "send",
      "type": "MX",
      "ttl": "Auto",
      "status": "pending",
      "value": "feedback-smtp.eu-north-1.amazonses.com",
      "priority": 10
    },
    {
      "record": "SPF",
      "name": "send",
      "type": "TXT",
      "ttl": "Auto",
      "status": "pending",
      "value": "v=spf1 include:amazonses.com ~all"
    }
  ]
}

Retrieve a domain

GET/domains/{id}

The domain with its records. status is pending, verified or failed.

Path parameters
  • idstringrequired

    The domain id.

GET/domains/{id}
curl -X GET 'https://api.iresendly.com/domains/{id}' \
  -H 'Authorization: Bearer irs_xxxxxxxxx'
Response
{
  "object": "domain",
  "id": "d91cd9bd-1176-453e-8fc1-35364d380206",
  "name": "acme.com",
  "status": "verified",
  "origin": "created",
  "records": [
    "…"
  ]
}

Verify a domain

POST/domains/{id}/verify

Checks the DNS records now. Pending domains are also re-checked automatically.

Path parameters
  • idstringrequired

    The domain id.

POST/domains/{id}/verify
curl -X POST 'https://api.iresendly.com/domains/{id}/verify' \
  -H 'Authorization: Bearer irs_xxxxxxxxx'
Response
{
  "object": "domain",
  "id": "d91cd9bd-1176-453e-8fc1-35364d380206",
  "status": "pending"
}

Update tracking

PATCH/domains/{id}

Turns open and click tracking on or off for the domain. Both are off by default.

Path parameters
  • idstringrequired

    The domain id.

Body
  • open_trackingboolean

    Add an invisible open pixel.

  • click_trackingboolean

    Rewrite links to count clicks.

PATCH/domains/{id}
curl -X PATCH 'https://api.iresendly.com/domains/{id}' \
  -H 'Authorization: Bearer irs_xxxxxxxxx' \
  -H 'Content-Type: application/json' \
  -d '{
  "open_tracking": true,
  "click_tracking": true
}'
Response
{
  "object": "domain",
  "id": "d91cd9bd-1176-453e-8fc1-35364d380206"
}

List domains

GET/domains

Every domain on the account, without records.

GET/domains
curl -X GET 'https://api.iresendly.com/domains' \
  -H 'Authorization: Bearer irs_xxxxxxxxx'
Response
{
  "object": "list",
  "has_more": false,
  "data": [
    {
      "object": "domain",
      "id": "d91cd9bd-1176-453e-8fc1-35364d380206",
      "name": "acme.com",
      "status": "verified"
    }
  ]
}

Remove a domain

DELETE/domains/{id}

Removes the domain from the Developer API and from any keys restricted to it. If Marketing or Business Email still use it, it stays verified there.

Path parameters
  • idstringrequired

    The domain id.

DELETE/domains/{id}
curl -X DELETE 'https://api.iresendly.com/domains/{id}' \
  -H 'Authorization: Bearer irs_xxxxxxxxx'
Response
{
  "object": "domain",
  "id": "d91cd9bd-1176-453e-8fc1-35364d380206",
  "deleted": true
}
Still stuck? Write to us and we'll reply by email.Contact ussupport@iresendly.com