> ## Documentation Index
> Fetch the complete documentation index at: https://docs.puffle.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# DNS Records

> Get email domain DNS records

**CLI:**

```bash theme={null}
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.


## OpenAPI

````yaml get /api/email/domains/{id}/dns-records
openapi: 3.0.3
info:
  title: Puffle API
  version: 1.0.0
  description: >-
    HTTP API for the Puffle GTM platform - Feed and Lead Finder search
    preparation, campaign-backed Outbound execution, Puffle Agent runs, sender
    management, and Unibox reply workflows. Designed for operation by both
    humans and autonomous AI agents. Agents should start at the [Agent
    Playbook](/guides/agent-playbook) which prescribes a workspace-context check
    (`GET /api/context`) and core user journeys with exact call ordering.
  contact:
    name: Puffle Support
    url: https://puffle.ai
servers:
  - url: https://app.puffle.ai
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Campaigns
    description: >-
      Campaign-backed Outbound execution. These endpoints manage draft,
      launching, active, paused, and completed Outbound runs with sequence
      nodes, contacts, and sender accounts.
  - name: Accounts
    description: Signed-in user account, settings, and workspace context endpoints.
  - name: Billing
    description: Billing customer portal and account billing endpoints.
  - name: Senders
    description: >-
      Connected sender accounts, email inboxes, sending domains, DNS
      verification, warmup, and sender capacity.
  - name: Socials
    description: >-
      Read connected LinkedIn and X accounts, review current and archived posts,
      and reconcile publication status. Creating, editing, scheduling,
      publishing, OAuth connection, analytics, and mentions remain
      dashboard-managed workflows and are not part of the public Bearer-token
      API.
paths:
  /api/email/domains/{id}/dns-records:
    get:
      tags:
        - Senders
      summary: DNS Records
      description: >-
        Return live managed DNS records for a sending domain. DNS-provider
        failures return `checked: false` so clients can explain that the live
        DNS records were unavailable.
      operationId: getEmailDomainDnsRecords
      parameters:
        - name: id
          in: path
          required: true
          schema:
            type: string
            minLength: 1
            description: Email domain (`email_domains.id`) UUID.
      responses:
        '200':
          description: Live managed DNS records for the sender domain.
          content:
            application/json:
              schema:
                type: object
                properties:
                  domain:
                    type: object
                    properties:
                      id:
                        type: string
                      domain:
                        type: string
                      status:
                        type: string
                    required:
                      - id
                      - domain
                      - status
                    additionalProperties: false
                  cloudflare:
                    type: object
                    properties:
                      checked:
                        type: boolean
                      zoneId:
                        type: string
                        nullable: true
                      zoneName:
                        type: string
                        nullable: true
                      error:
                        type: string
                        nullable: true
                    required:
                      - checked
                      - zoneId
                      - zoneName
                      - error
                    additionalProperties: false
                  records:
                    type: array
                    items:
                      type: object
                      properties:
                        id:
                          type: string
                        type:
                          type: string
                        name:
                          type: string
                        value:
                          type: string
                        priority:
                          type: number
                        ttl:
                          type: number
                        proxied:
                          type: boolean
                      required:
                        - id
                        - type
                        - name
                        - value
                      additionalProperties: false
                required:
                  - domain
                  - cloudflare
                  - records
                additionalProperties: false
        '401':
          description: Missing or invalid Bearer token.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                additionalProperties: false
        '404':
          description: Domain doesn't exist or isn't owned by the caller.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                additionalProperties: false
        '500':
          description: Unexpected server error.
          content:
            application/json:
              schema:
                type: object
                properties:
                  error:
                    type: string
                required:
                  - error
                additionalProperties: false
components:
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      bearerFormat: pk_live_...

````