August 17, 2026: The Domains API now supports replacing individual DNS records using PUT /v3/domains/zones/{zone}/dns-records/{recordId}
View as MarkdownWe'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, andttl. Partial updates aren't supported; omitting a writable field replaces it with its default. The API applies changes synchronously and returns the updatedDNSRecordin 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.
Links
- Domains API reference:
PUT /v3/domains/zones/{zone}/dns-records/{recordId}request and response schema
Last updated on
How is this guide?