Skip to main content
GET
/
api
/
email
/
domains
/
{id}
/
dns-records
DNS Records
curl --request GET \
  --url https://app.puffle.ai/api/email/domains/{id}/dns-records \
  --header 'Authorization: Bearer <token>'
{
  "domain": {
    "id": "<string>",
    "domain": "<string>",
    "status": "<string>"
  },
  "cloudflare": {
    "checked": true,
    "zoneId": "<string>",
    "zoneName": "<string>",
    "error": "<string>"
  },
  "records": [
    {
      "id": "<string>",
      "type": "<string>",
      "name": "<string>",
      "value": "<string>",
      "priority": 123,
      "ttl": 123,
      "proxied": true
    }
  ]
}
CLI:
puffle email domain dns-record --id <id>

Overview

Returns the live managed DNS records Puffle expects for one sending domain. The response includes the domain row, Cloudflare lookup metadata, and the DNS records to inspect. If the DNS provider cannot be reached, the endpoint still returns 200 with cloudflare.checked: false and an error message so clients can explain that live DNS state was unavailable.

AI agent notes

Use this after creating or verifying a sending domain when a human needs the exact DNS records. Display record type, name, value, priority, and ttl exactly as returned. Do not delete or recreate a domain just because cloudflare.checked is false; that usually means the DNS lookup failed, not that the domain configuration is invalid.

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Path Parameters

id
string
required

Email domain (email_domains.id) UUID.

Minimum string length: 1

Response

Live managed DNS records for the sender domain.

domain
object
required
cloudflare
object
required
records
object[]
required