## Update DNS Settings `client.dns.settings.zone.edit(ZoneEditParamsparams, RequestOptionsoptions?): ZoneEditResponse` **patch** `/zones/{zone_id}/dns_settings` Update DNS settings for a zone ### Parameters - `params: ZoneEditParams` - `zone_id: string` Path param: Identifier. - `flatten_all_cnames?: boolean` Body param: Whether to flatten all CNAME records in the zone. Note that, due to DNS limitations, a CNAME record at the zone apex will always be flattened. - `foundation_dns?: boolean` Body param: Whether to enable Foundation DNS Advanced Nameservers on the zone. - `internal_dns?: InternalDNS` Body param: Settings for this internal zone. - `reference_zone_id?: string` The ID of the zone to fallback to. - `multi_provider?: boolean` Body param: Whether to enable multi-provider DNS, which causes Cloudflare to activate the zone even when non-Cloudflare NS records exist, and to respect NS records at the zone apex during outbound zone transfers. - `nameservers?: Nameservers` Body param: Settings determining the nameservers through which the zone should be available. - `ns_set?: number` Configured nameserver set to be used for this zone - `type?: "cloudflare.standard" | "custom.account" | "custom.tenant" | "custom.zone"` Nameserver type - `"cloudflare.standard"` - `"custom.account"` - `"custom.tenant"` - `"custom.zone"` - `ns_ttl?: number` Body param: The time to live (TTL) of the zone's nameserver (NS) records. - `secondary_overrides?: boolean` Body param: Allows a Secondary DNS zone to use (proxied) override records and CNAME flattening at the zone apex. - `soa?: SOA` Body param: Components of the zone's SOA record. - `expire?: number` Time in seconds of being unable to query the primary server after which secondary servers should stop serving the zone. - `min_ttl?: number` The time to live (TTL) for negative caching of records within the zone. - `mname?: string | null` The primary nameserver, which may be used for outbound zone transfers. If null, a Cloudflare-assigned value will be used. - `refresh?: number` Time in seconds after which secondary servers should re-check the SOA record to see if the zone has been updated. - `retry?: number` Time in seconds after which secondary servers should retry queries after the primary server was unresponsive. - `rname?: string` The email address of the zone administrator, with the first label representing the local part of the email address. - `ttl?: number` The time to live (TTL) of the SOA record itself. - `zone_mode?: "standard" | "cdn_only" | "dns_only"` Body param: Whether the zone mode is a regular or CDN/DNS only zone. - `"standard"` - `"cdn_only"` - `"dns_only"` ### Returns - `ZoneEditResponse` - `flatten_all_cnames: boolean` Whether to flatten all CNAME records in the zone. Note that, due to DNS limitations, a CNAME record at the zone apex will always be flattened. - `foundation_dns: boolean` Whether to enable Foundation DNS Advanced Nameservers on the zone. - `internal_dns: InternalDNS` Settings for this internal zone. - `reference_zone_id?: string` The ID of the zone to fallback to. - `multi_provider: boolean` Whether to enable multi-provider DNS, which causes Cloudflare to activate the zone even when non-Cloudflare NS records exist, and to respect NS records at the zone apex during outbound zone transfers. - `nameservers: Nameservers` Settings determining the nameservers through which the zone should be available. - `type: "cloudflare.standard" | "custom.account" | "custom.tenant" | "custom.zone"` Nameserver type - `"cloudflare.standard"` - `"custom.account"` - `"custom.tenant"` - `"custom.zone"` - `ns_set?: number` Configured nameserver set to be used for this zone - `ns_ttl: number` The time to live (TTL) of the zone's nameserver (NS) records. - `secondary_overrides: boolean` Allows a Secondary DNS zone to use (proxied) override records and CNAME flattening at the zone apex. - `soa: SOA` Components of the zone's SOA record. - `expire?: number` Time in seconds of being unable to query the primary server after which secondary servers should stop serving the zone. - `min_ttl?: number` The time to live (TTL) for negative caching of records within the zone. - `mname?: string | null` The primary nameserver, which may be used for outbound zone transfers. If null, a Cloudflare-assigned value will be used. - `refresh?: number` Time in seconds after which secondary servers should re-check the SOA record to see if the zone has been updated. - `retry?: number` Time in seconds after which secondary servers should retry queries after the primary server was unresponsive. - `rname?: string` The email address of the zone administrator, with the first label representing the local part of the email address. - `ttl?: number` The time to live (TTL) of the SOA record itself. - `zone_mode: "standard" | "cdn_only" | "dns_only"` Whether the zone mode is a regular or CDN/DNS only zone. - `"standard"` - `"cdn_only"` - `"dns_only"` ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); const response = await client.dns.settings.zone.edit({ zone_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(response.multi_provider); ``` #### Response ```json { "errors": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "messages": [ { "code": 1000, "message": "message", "documentation_url": "documentation_url", "source": { "pointer": "pointer" } } ], "success": true, "result": { "flatten_all_cnames": false, "foundation_dns": false, "internal_dns": { "reference_zone_id": "reference_zone_id" }, "multi_provider": false, "nameservers": { "type": "cloudflare.standard", "ns_set": 1 }, "ns_ttl": 86400, "secondary_overrides": false, "soa": { "expire": 604800, "min_ttl": 1800, "mname": "kristina.ns.cloudflare.com", "refresh": 10000, "retry": 2400, "rname": "admin.example.com", "ttl": 3600 }, "zone_mode": "dns_only" } } ```