Replace all DNS records of a specific domain with the contents of a BIND style zonefile. Every record currently in the zone is removed, so the zonefile must contain the complete desired state. Send JSON { "zone": "<zonefile>" } with Content-Type: application/json. Encode the request body as JSON so the zonefile's newlines and tabs become \n and \t inside that string; a JSON library does this automatically — do not send the zonefile as the raw HTTP body and do not encode the zonefile twice. Lines are read as name ttl IN type rdata; blank lines, comments, directives such as $TTL and lines that do not have all five fields are ignored. SOA and apex NS records in the body are ignored: the apex NS records of the existing zone are kept. When the zonefile is rejected, the previous records are restored. Not available for domains whose DNS is managed through Cloudflare.