August 17, 2026: The Domains API now supports replacing individual DNS records via 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 are not supported; omitting a writable field replaces it with its default. Changes are applied synchronously and the updatedDNSRecordis returned in the response.
The DNSRecord request body supports A, AAAA, CAA, CNAME, MX, SRV, and TXT record types. Type-specific fields — priority (MX, SRV), weight, port, service, protocol (SRV), flag, tag (CAA) — are required or optional depending on the record type. 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 via the Domains API. The domains.dns:update OAuth scope is required.
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?