---
title: "The DNS records a sending domain needs, and the exact records to publish."
method: GET
path: "/tools/dns/{domain}"
tags: ["meta"]
---

# The DNS records a sending domain needs, and the exact records to publish.

`GET /tools/dns/{domain}`

## Request

- Base URL: `https://api.agentisend.com`
- URL: `https://api.agentisend.com/tools/dns/{domain}`
- Auth: none required

No API key. 10 checks a minute from one network. Looks up SPF, DKIM, DMARC and the return-path records only, and stores nothing.

## Path parameters

- `domain` string, required

## Response `200`

Success

- GetToolsDnsByDomainReply
  - `domain` string, required
  - `records` object[], required
    - `record` 'SPF' | 'DKIM' | 'DMARC' | 'RETURN_PATH', required
    - `name` string, required
    - `type` 'TXT' | 'MX', required
    - `value` string, nullable, required
    - `ttl` integer, required
    - `priority` integer, nullable, required
    - `required` boolean, required
    - `action` 'add' | 'edit' | 'none' | 'check', required
    - `current` string, nullable, required
    - `note` string, nullable, required

## Other responses

- `400`: The request is malformed or a field failed validation. Codes: validation_error, invalid_idempotency_key, invalid_cursor, plan_not_purchasable, stripe_signature_invalid, support_upload_rejected, sign_in_check_required.
- `422`: A field is well formed but was refused. Codes: missing_required_field, invalid_from_address, invalid_parameter, invalid_attachment, invalid_region, tracking_subdomain_unverified, tracking_subdomain_cannot_be_removed, domain_field_immutable, open_tracking_on_transactional, header_replaced, html_clipped_by_gmail, link_domain_listed, domain_blocklisted, mailbox_provider_domain, onboarding_shape_refused, dkim_key_mismatch, domain_check_window_expired, spf_conflict, spf_lookup_limit, review_sandbox_recipient_only, suppressed_recipient, content_refused, recipient_blocklisted, last_owner_required, seat_limit_reached, invite_not_valid, key_budget_exceeds_plan, domain_limit_reached, webhook_endpoint_limit_reached.
- `429`: A rate, quota or ramp ceiling was reached. Codes: onboarding_daily_cap_reached, trust_throttled, invite_limit_reached, rate_ceiling_exceeded, daily_quota_exceeded, monthly_quota_exceeded, rate_limit_exceeded, support_rate_limited.
- `500`: Something failed on our side. Codes: internal_server_error.

---

[API](https://skmtc.dev/agentisend/apis/agentisend-api.md) · [All operations](https://skmtc.dev/agentisend/apis/agentisend-api/llms.txt) · [OpenAPI document](https://skmtc.dev/agentisend/apis/agentisend-api/revisions/3066dda62a56?raw)
