August 17, 2026: The Domains API now supports replacing individual DNS records using PUT /v3/domains/zones/{zone}/dns-records/{recordId}

View as Markdown
August 17, 2026API
Domains
New

We've added PUT /v3/domains/zones/{zone}/dns-records/{recordId} to the Domains API, so you can fully replace a specific DNS record in a zone by its stable recordId without affecting other records.

What changed

A new endpoint is available:

  • PUT /v3/domains/zones/{zone}/dns-records/{recordId}: fully replaces an existing DNS resource record. All writable fields must be supplied in the request body: name, type, data, and ttl. Partial updates aren't supported; omitting a writable field replaces it with its default. The API applies changes synchronously and returns the updated DNSRecord in the response.

The DNSRecord request body supports A, AAAA, CAA, CNAME, MX, SRV, and TXT record types. Each record type uses its own fields, either required or optional: priority (MX, SRV), weight, port, service, protocol (SRV), flag, and tag (CAA). TTL must be between 600 and 86400 seconds.

GoDaddy-managed SOA and NS records are read-only. Attempting to replace them returns 409 Conflict.

Who is affected

Any developer managing DNS records programmatically through the Domains API. You need the domains.dns:update OAuth scope.

No existing endpoints are affected.

Last updated on

How is this guide?

On this page