DocsDNS Reference
Documentation

DNS API

Manage DNS records and nameservers for domains you own, authenticated with your personal API key.

Overview

Point a domain you own at Reinterface, then manage its records (A, AAAA, CNAME, MX, TXT) and nameservers over REST. Base URL: https://api.reinterface.com/api/v1. All responses are JSON. Last updated: 2026-07-28.

DNS endpoints are rolling out and request/response shapes may still change slightly. The changelog tracks availability.

Authentication

Identical to the Gmail API: send your personal API key in the x-api-key header. Find it under Dashboard → Settings → API key.

Auth header
-H "x-api-key: <YOUR_API_KEY>"

List records

GET/api/v1/dns/records

List a domain's DNS records

Required query param: domain. Optional: type to filter by record type.

Request
curl "https://api.reinterface.com/api/v1/dns/records?domain=company.com" \
  -H "x-api-key: <YOUR_API_KEY>"
Response
{
  "records": [
    {
      "id": "rec_5b12",
      "type": "MX",
      "name": "@",
      "value": "mx1.company.com",
      "priority": 10,
      "ttl": 300,
      "status": "active"
    }
  ]
}

Create a record

POST/api/v1/dns/records

Create a DNS record on a domain's zone

Required: domain, type (A, AAAA, CNAME, MX, TXT), name, value. Optional: ttl (seconds, default 300) and priority (MX only).

Request
curl -X POST https://api.reinterface.com/api/v1/dns/records \
  -H "x-api-key: <YOUR_API_KEY>" \
  -H "content-type: application/json" \
  -d '{
    "domain": "company.com",
    "type": "MX",
    "name": "@",
    "value": "mx1.company.com",
    "priority": 10,
    "ttl": 300
  }'
Response
{
  "id": "rec_5b12",
  "type": "MX",
  "name": "@",
  "value": "mx1.company.com",
  "priority": 10,
  "ttl": 300,
  "status": "active"
}

Delete a record

DELETE/api/v1/dns/records/{id}

Delete a DNS record (idempotent)

Request
curl -X DELETE "https://api.reinterface.com/api/v1/dns/records/rec_5b12" \
  -H "x-api-key: <YOUR_API_KEY>"
Response
{
  "success": true,
  "id": "rec_5b12",
  "status": "deleted"
}

Nameservers

GET/api/v1/dns/nameservers

List a domain's nameservers

PUT/api/v1/dns/nameservers

Replace a domain's nameservers

PUT replaces the full set. Required: domain and nameservers (2 to 4 hostnames).

Request
curl -X PUT https://api.reinterface.com/api/v1/dns/nameservers \
  -H "x-api-key: <YOUR_API_KEY>" \
  -H "content-type: application/json" \
  -d '{
    "domain": "company.com",
    "nameservers": ["ns1.company-dns.com", "ns2.company-dns.com"]
  }'
Response
{
  "domain": "company.com",
  "nameservers": ["ns1.company-dns.com", "ns2.company-dns.com"],
  "status": "pending_propagation"
}

Deliverability records

Sending domains still get their SPF, DKIM, and DMARC records generated and verified automatically when you register them for email; those flows live in the Email Connectors API. The DNS API is for the rest of your zone.

Errors

Errors return { "success": false, "error": { "code", "message" } }.

StatusCodeMeaning
401invalid_api_keyMissing or invalid x-api-key
400invalid_requestMissing or invalid fields
404domain_not_foundDomain is not attached to your account
404record_not_foundRecord id does not exist on this domain
409record_conflictA conflicting record already exists

Endpoint summary

MethodPathPurpose
GET/api/v1/dns/recordsList a domain's records
POST/api/v1/dns/recordsCreate a record
DELETE/api/v1/dns/records/{id}Delete a record
GET/api/v1/dns/nameserversList a domain's nameservers
PUT/api/v1/dns/nameserversReplace a domain's nameservers