# DNS # DNSSEC ## DNSSEC Details `client.dns.dnssec.get(DNSSECGetParamsparams, RequestOptionsoptions?): DNSSEC` **get** `/zones/{zone_id}/dnssec` Details about DNSSEC status and configuration. ### Parameters - `params: DNSSECGetParams` - `zone_id: string` Identifier. ### Returns - `DNSSEC` - `algorithm?: string | null` Algorithm key code. - `digest?: string | null` Digest hash. - `digest_algorithm?: string | null` Type of digest algorithm. - `digest_type?: string | null` Coded type for digest algorithm. - `dnssec_multi_signer?: boolean` If true, multi-signer DNSSEC is enabled on the zone, allowing multiple providers to serve a DNSSEC-signed zone at the same time. This is required for DNSKEY records (except those automatically generated by Cloudflare) to be added to the zone. See [Multi-signer DNSSEC](https://developers.cloudflare.com/dns/dnssec/multi-signer-dnssec/) for details. - `dnssec_presigned?: boolean` If true, allows Cloudflare to transfer in a DNSSEC-signed zone including signatures from an external provider, without requiring Cloudflare to sign any records on the fly. Note that this feature has some limitations. See [Cloudflare as Secondary](https://developers.cloudflare.com/dns/zone-setups/zone-transfers/cloudflare-as-secondary/setup/#dnssec) for details. - `dnssec_use_nsec3?: boolean` If true, enables the use of NSEC3 together with DNSSEC on the zone. Combined with setting dnssec_presigned to true, this enables the use of NSEC3 records when transferring in from an external provider. If dnssec_presigned is instead set to false (default), NSEC3 records will be generated and signed at request time. See [DNSSEC with NSEC3](https://developers.cloudflare.com/dns/dnssec/enable-nsec3/) for details. - `ds?: string | null` Full DS record. - `flags?: number | null` Flag for DNSSEC record. - `key_tag?: number | null` Code for key tag. - `key_type?: string | null` Algorithm key type. - `modified_on?: string | null` When DNSSEC was last modified. - `public_key?: string | null` Public key for DS record. - `status?: "active" | "pending" | "disabled" | 2 more` Status of DNSSEC, based on user-desired state and presence of necessary records. - `"active"` - `"pending"` - `"disabled"` - `"pending-disabled"` - `"error"` ### 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 dnssec = await client.dns.dnssec.get({ zone_id: '023e105f4ecef8ad9ca31a8372d0c353' }); console.log(dnssec.algorithm); ``` #### 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": { "algorithm": "13", "digest": "48E939042E82C22542CB377B580DFDC52A361CEFDC72E7F9107E2B6BD9306A45", "digest_algorithm": "SHA256", "digest_type": "2", "dnssec_multi_signer": false, "dnssec_presigned": true, "dnssec_use_nsec3": false, "ds": "example.com. 3600 IN DS 16953 13 2 48E939042E82C22542CB377B580DFDC52A361CEFDC72E7F9107E2B6BD9306A45", "flags": 257, "key_tag": 42, "key_type": "ECDSAP256SHA256", "modified_on": "2014-01-01T05:20:00Z", "public_key": "oXiGYrSTO+LSCJ3mohc8EP+CzF9KxBj8/ydXJ22pKuZP3VAC3/Md/k7xZfz470CoRyZJ6gV6vml07IC3d8xqhA==", "status": "active" } } ``` ## Edit DNSSEC Status `client.dns.dnssec.edit(DNSSECEditParamsparams, RequestOptionsoptions?): DNSSEC` **patch** `/zones/{zone_id}/dnssec` Enable or disable DNSSEC. ### Parameters - `params: DNSSECEditParams` - `zone_id: string` Path param: Identifier. - `dnssec_multi_signer?: boolean` Body param: If true, multi-signer DNSSEC is enabled on the zone, allowing multiple providers to serve a DNSSEC-signed zone at the same time. This is required for DNSKEY records (except those automatically generated by Cloudflare) to be added to the zone. See [Multi-signer DNSSEC](https://developers.cloudflare.com/dns/dnssec/multi-signer-dnssec/) for details. - `dnssec_presigned?: boolean` Body param: If true, allows Cloudflare to transfer in a DNSSEC-signed zone including signatures from an external provider, without requiring Cloudflare to sign any records on the fly. Note that this feature has some limitations. See [Cloudflare as Secondary](https://developers.cloudflare.com/dns/zone-setups/zone-transfers/cloudflare-as-secondary/setup/#dnssec) for details. - `dnssec_use_nsec3?: boolean` Body param: If true, enables the use of NSEC3 together with DNSSEC on the zone. Combined with setting dnssec_presigned to true, this enables the use of NSEC3 records when transferring in from an external provider. If dnssec_presigned is instead set to false (default), NSEC3 records will be generated and signed at request time. See [DNSSEC with NSEC3](https://developers.cloudflare.com/dns/dnssec/enable-nsec3/) for details. - `status?: "active" | "disabled"` Body param: Status of DNSSEC, based on user-desired state and presence of necessary records. - `"active"` - `"disabled"` ### Returns - `DNSSEC` - `algorithm?: string | null` Algorithm key code. - `digest?: string | null` Digest hash. - `digest_algorithm?: string | null` Type of digest algorithm. - `digest_type?: string | null` Coded type for digest algorithm. - `dnssec_multi_signer?: boolean` If true, multi-signer DNSSEC is enabled on the zone, allowing multiple providers to serve a DNSSEC-signed zone at the same time. This is required for DNSKEY records (except those automatically generated by Cloudflare) to be added to the zone. See [Multi-signer DNSSEC](https://developers.cloudflare.com/dns/dnssec/multi-signer-dnssec/) for details. - `dnssec_presigned?: boolean` If true, allows Cloudflare to transfer in a DNSSEC-signed zone including signatures from an external provider, without requiring Cloudflare to sign any records on the fly. Note that this feature has some limitations. See [Cloudflare as Secondary](https://developers.cloudflare.com/dns/zone-setups/zone-transfers/cloudflare-as-secondary/setup/#dnssec) for details. - `dnssec_use_nsec3?: boolean` If true, enables the use of NSEC3 together with DNSSEC on the zone. Combined with setting dnssec_presigned to true, this enables the use of NSEC3 records when transferring in from an external provider. If dnssec_presigned is instead set to false (default), NSEC3 records will be generated and signed at request time. See [DNSSEC with NSEC3](https://developers.cloudflare.com/dns/dnssec/enable-nsec3/) for details. - `ds?: string | null` Full DS record. - `flags?: number | null` Flag for DNSSEC record. - `key_tag?: number | null` Code for key tag. - `key_type?: string | null` Algorithm key type. - `modified_on?: string | null` When DNSSEC was last modified. - `public_key?: string | null` Public key for DS record. - `status?: "active" | "pending" | "disabled" | 2 more` Status of DNSSEC, based on user-desired state and presence of necessary records. - `"active"` - `"pending"` - `"disabled"` - `"pending-disabled"` - `"error"` ### 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 dnssec = await client.dns.dnssec.edit({ zone_id: '023e105f4ecef8ad9ca31a8372d0c353' }); console.log(dnssec.algorithm); ``` #### 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": { "algorithm": "13", "digest": "48E939042E82C22542CB377B580DFDC52A361CEFDC72E7F9107E2B6BD9306A45", "digest_algorithm": "SHA256", "digest_type": "2", "dnssec_multi_signer": false, "dnssec_presigned": true, "dnssec_use_nsec3": false, "ds": "example.com. 3600 IN DS 16953 13 2 48E939042E82C22542CB377B580DFDC52A361CEFDC72E7F9107E2B6BD9306A45", "flags": 257, "key_tag": 42, "key_type": "ECDSAP256SHA256", "modified_on": "2014-01-01T05:20:00Z", "public_key": "oXiGYrSTO+LSCJ3mohc8EP+CzF9KxBj8/ydXJ22pKuZP3VAC3/Md/k7xZfz470CoRyZJ6gV6vml07IC3d8xqhA==", "status": "active" } } ``` ## Delete DNSSEC records `client.dns.dnssec.delete(DNSSECDeleteParamsparams, RequestOptionsoptions?): DNSSECDeleteResponse` **delete** `/zones/{zone_id}/dnssec` Delete DNSSEC. ### Parameters - `params: DNSSECDeleteParams` - `zone_id: string` Identifier. ### Returns - `DNSSECDeleteResponse = string` ### 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 dnssec = await client.dns.dnssec.delete({ zone_id: '023e105f4ecef8ad9ca31a8372d0c353' }); console.log(dnssec); ``` #### 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": "" } ``` ## Domain Types ### DNSSEC - `DNSSEC` - `algorithm?: string | null` Algorithm key code. - `digest?: string | null` Digest hash. - `digest_algorithm?: string | null` Type of digest algorithm. - `digest_type?: string | null` Coded type for digest algorithm. - `dnssec_multi_signer?: boolean` If true, multi-signer DNSSEC is enabled on the zone, allowing multiple providers to serve a DNSSEC-signed zone at the same time. This is required for DNSKEY records (except those automatically generated by Cloudflare) to be added to the zone. See [Multi-signer DNSSEC](https://developers.cloudflare.com/dns/dnssec/multi-signer-dnssec/) for details. - `dnssec_presigned?: boolean` If true, allows Cloudflare to transfer in a DNSSEC-signed zone including signatures from an external provider, without requiring Cloudflare to sign any records on the fly. Note that this feature has some limitations. See [Cloudflare as Secondary](https://developers.cloudflare.com/dns/zone-setups/zone-transfers/cloudflare-as-secondary/setup/#dnssec) for details. - `dnssec_use_nsec3?: boolean` If true, enables the use of NSEC3 together with DNSSEC on the zone. Combined with setting dnssec_presigned to true, this enables the use of NSEC3 records when transferring in from an external provider. If dnssec_presigned is instead set to false (default), NSEC3 records will be generated and signed at request time. See [DNSSEC with NSEC3](https://developers.cloudflare.com/dns/dnssec/enable-nsec3/) for details. - `ds?: string | null` Full DS record. - `flags?: number | null` Flag for DNSSEC record. - `key_tag?: number | null` Code for key tag. - `key_type?: string | null` Algorithm key type. - `modified_on?: string | null` When DNSSEC was last modified. - `public_key?: string | null` Public key for DS record. - `status?: "active" | "pending" | "disabled" | 2 more` Status of DNSSEC, based on user-desired state and presence of necessary records. - `"active"` - `"pending"` - `"disabled"` - `"pending-disabled"` - `"error"` ### DNSSEC Delete Response - `DNSSECDeleteResponse = string` # Records ## List DNS Records `client.dns.records.list(RecordListParamsparams, RequestOptionsoptions?): V4PagePaginationArray` **get** `/zones/{zone_id}/dns_records` List, search, sort, and filter a zones' DNS records. ### Parameters - `params: RecordListParams` - `zone_id: string` Path param: Identifier. - `comment?: Comment` Query param - `absent?: string` If this parameter is present, only records *without* a comment are returned. - `contains?: string` Substring of the DNS record comment. Comment filters are case-insensitive. - `endswith?: string` Suffix of the DNS record comment. Comment filters are case-insensitive. - `exact?: string` Exact value of the DNS record comment. Comment filters are case-insensitive. - `present?: string` If this parameter is present, only records *with* a comment are returned. - `startswith?: string` Prefix of the DNS record comment. Comment filters are case-insensitive. - `content?: Content` Query param - `contains?: string` Substring of the DNS record content. Content filters are case-insensitive. - `endswith?: string` Suffix of the DNS record content. Content filters are case-insensitive. - `exact?: string` Exact value of the DNS record content. Content filters are case-insensitive. - `startswith?: string` Prefix of the DNS record content. Content filters are case-insensitive. - `direction?: SortDirection` Query param: Direction to order DNS records in. - `"asc"` - `"desc"` - `match?: "any" | "all"` Query param: Whether to match all search requirements or at least one (any). If set to `all`, acts like a logical AND between filters. If set to `any`, acts like a logical OR instead. Note that the interaction between tag filters is controlled by the `tag-match` parameter instead. - `"any"` - `"all"` - `name?: Name` Query param - `contains?: string` Substring of the DNS record name. Name filters are case-insensitive. - `endswith?: string` Suffix of the DNS record name. Name filters are case-insensitive. - `exact?: string` Exact value of the DNS record name. Name filters are case-insensitive. - `startswith?: string` Prefix of the DNS record name. Name filters are case-insensitive. - `order?: "type" | "name" | "content" | 2 more` Query param: Field to order DNS records by. - `"type"` - `"name"` - `"content"` - `"ttl"` - `"proxied"` - `page?: number` Query param: Page number of paginated results. - `per_page?: number` Query param: Number of DNS records per page. - `proxied?: boolean` Query param: Whether the record is receiving the performance and security benefits of Cloudflare. - `search?: string` Query param: Allows searching in multiple properties of a DNS record simultaneously. This parameter is intended for human users, not automation. Its exact behavior is intentionally left unspecified and is subject to change in the future. This parameter works independently of the `match` setting. For automated searches, please use the other available parameters. - `tag?: Tag` Query param - `absent?: string` Name of a tag which must *not* be present on the DNS record. Tag filters are case-insensitive. - `contains?: string` A tag and value, of the form `:`. The API will only return DNS records that have a tag named `` whose value contains ``. Tag filters are case-insensitive. - `endswith?: string` A tag and value, of the form `:`. The API will only return DNS records that have a tag named `` whose value ends with ``. Tag filters are case-insensitive. - `exact?: string` A tag and value, of the form `:`. The API will only return DNS records that have a tag named `` whose value is ``. Tag filters are case-insensitive. - `present?: string` Name of a tag which must be present on the DNS record. Tag filters are case-insensitive. - `startswith?: string` A tag and value, of the form `:`. The API will only return DNS records that have a tag named `` whose value starts with ``. Tag filters are case-insensitive. - `tag_match?: "any" | "all"` Query param: Whether to match all tag search requirements or at least one (any). If set to `all`, acts like a logical AND between tag filters. If set to `any`, acts like a logical OR instead. Note that the regular `match` parameter is still used to combine the resulting condition with other filters that aren't related to tags. - `"any"` - `"all"` - `type?: "A" | "AAAA" | "CAA" | 18 more` Query param: Record type. - `"A"` - `"AAAA"` - `"CAA"` - `"CERT"` - `"CNAME"` - `"DNSKEY"` - `"DS"` - `"HTTPS"` - `"LOC"` - `"MX"` - `"NAPTR"` - `"NS"` - `"OPENPGPKEY"` - `"PTR"` - `"SMIMEA"` - `"SRV"` - `"SSHFP"` - `"SVCB"` - `"TLSA"` - `"TXT"` - `"URI"` ### Returns - `RecordResponse = A | AAAA | CNAME | 18 more` - `A extends ARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `AAAA extends AAAARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CNAME extends CNAMERecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `MX extends MXRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `NS extends NSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `Openpgpkey` - `id: string` Identifier. - `comment: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: string` A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `name: string` Complete DNS record name, including the zone name, in Punycode. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `proxied: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `PTR extends PTRRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `TXT extends TXTRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CAA extends CAARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CERT extends CERTRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `DNSKEY extends DNSKEYRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `DS extends DSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `HTTPS extends HTTPSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `LOC extends LOCRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `NAPTR extends NAPTRRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SMIMEA extends SMIMEARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SRV extends SRVRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SSHFP extends SSHFPRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SVCB extends SVCBRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `TLSA extends TLSARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `URI extends URIRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); // Automatically fetches more pages as needed. for await (const recordResponse of client.dns.records.list({ zone_id: '023e105f4ecef8ad9ca31a8372d0c353', })) { console.log(recordResponse); } ``` #### 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": [ { "name": "example.com", "ttl": 3600, "type": "A", "comment": "Domain verification record", "content": "198.51.100.4", "private_routing": true, "proxied": true, "settings": { "ipv4_only": true, "ipv6_only": true }, "tags": [ "owner:dns-team" ], "id": "023e105f4ecef8ad9ca31a8372d0c353", "created_on": "2014-01-01T05:20:00.12345Z", "meta": {}, "modified_on": "2014-01-01T05:20:00.12345Z", "proxiable": true, "comment_modified_on": "2024-01-01T05:20:00.12345Z", "tags_modified_on": "2025-01-01T05:20:00.12345Z" } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 } } ``` ## DNS Record Details `client.dns.records.get(stringdnsRecordId, RecordGetParamsparams, RequestOptionsoptions?): RecordResponse` **get** `/zones/{zone_id}/dns_records/{dns_record_id}` DNS Record Details ### Parameters - `dnsRecordId: string` Identifier. - `params: RecordGetParams` - `zone_id: string` Identifier. ### Returns - `RecordResponse = A | AAAA | CNAME | 18 more` - `A extends ARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `AAAA extends AAAARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CNAME extends CNAMERecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `MX extends MXRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `NS extends NSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `Openpgpkey` - `id: string` Identifier. - `comment: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: string` A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `name: string` Complete DNS record name, including the zone name, in Punycode. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `proxied: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `PTR extends PTRRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `TXT extends TXTRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CAA extends CAARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CERT extends CERTRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `DNSKEY extends DNSKEYRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `DS extends DSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `HTTPS extends HTTPSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `LOC extends LOCRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `NAPTR extends NAPTRRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SMIMEA extends SMIMEARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SRV extends SRVRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SSHFP extends SSHFPRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SVCB extends SVCBRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `TLSA extends TLSARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `URI extends URIRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. ### 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 recordResponse = await client.dns.records.get('023e105f4ecef8ad9ca31a8372d0c353', { zone_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(recordResponse); ``` #### 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": { "name": "example.com", "ttl": 3600, "type": "A", "comment": "Domain verification record", "content": "198.51.100.4", "private_routing": true, "proxied": true, "settings": { "ipv4_only": true, "ipv6_only": true }, "tags": [ "owner:dns-team" ], "id": "023e105f4ecef8ad9ca31a8372d0c353", "created_on": "2014-01-01T05:20:00.12345Z", "meta": {}, "modified_on": "2014-01-01T05:20:00.12345Z", "proxiable": true, "comment_modified_on": "2024-01-01T05:20:00.12345Z", "tags_modified_on": "2025-01-01T05:20:00.12345Z" } } ``` ## Create DNS Record `client.dns.records.create(RecordCreateParamsparams, RequestOptionsoptions?): RecordResponse` **post** `/zones/{zone_id}/dns_records` Create a new DNS record for a zone. Notes: - A/AAAA records cannot exist on the same name as CNAME records. - NS records cannot exist on the same name as any other record type. - Domain names are always represented in Punycode, even if Unicode characters were used when creating the record. ### Parameters - `RecordCreateParams = ARecord | AAAARecord | CNAMERecord | 18 more` - `RecordCreateParamsBase` - `ARecord extends RecordCreateParamsBase` - `AAAARecord extends RecordCreateParamsBase` - `CNAMERecord extends RecordCreateParamsBase` - `MXRecord extends RecordCreateParamsBase` - `NSRecord extends RecordCreateParamsBase` - `DNSRecordsOpenpgpkeyRecord extends RecordCreateParamsBase` - `PTRRecord extends RecordCreateParamsBase` - `TXTRecord extends RecordCreateParamsBase` - `CAARecord extends RecordCreateParamsBase` - `CERTRecord extends RecordCreateParamsBase` - `DNSKEYRecord extends RecordCreateParamsBase` - `DSRecord extends RecordCreateParamsBase` - `HTTPSRecord extends RecordCreateParamsBase` - `LOCRecord extends RecordCreateParamsBase` - `NAPTRRecord extends RecordCreateParamsBase` - `SMIMEARecord extends RecordCreateParamsBase` - `SRVRecord extends RecordCreateParamsBase` - `SSHFPRecord extends RecordCreateParamsBase` - `SVCBRecord extends RecordCreateParamsBase` - `TLSARecord extends RecordCreateParamsBase` - `URIRecord extends RecordCreateParamsBase` ### Returns - `RecordResponse = A | AAAA | CNAME | 18 more` - `A extends ARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `AAAA extends AAAARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CNAME extends CNAMERecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `MX extends MXRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `NS extends NSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `Openpgpkey` - `id: string` Identifier. - `comment: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: string` A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `name: string` Complete DNS record name, including the zone name, in Punycode. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `proxied: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `PTR extends PTRRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `TXT extends TXTRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CAA extends CAARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CERT extends CERTRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `DNSKEY extends DNSKEYRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `DS extends DSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `HTTPS extends HTTPSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `LOC extends LOCRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `NAPTR extends NAPTRRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SMIMEA extends SMIMEARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SRV extends SRVRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SSHFP extends SSHFPRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SVCB extends SVCBRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `TLSA extends TLSARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `URI extends URIRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. ### 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 recordResponse = await client.dns.records.create({ zone_id: '023e105f4ecef8ad9ca31a8372d0c353', name: 'example.com', ttl: 3600, type: 'A', }); console.log(recordResponse); ``` #### 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": { "name": "example.com", "ttl": 3600, "type": "A", "comment": "Domain verification record", "content": "198.51.100.4", "private_routing": true, "proxied": true, "settings": { "ipv4_only": true, "ipv6_only": true }, "tags": [ "owner:dns-team" ], "id": "023e105f4ecef8ad9ca31a8372d0c353", "created_on": "2014-01-01T05:20:00.12345Z", "meta": {}, "modified_on": "2014-01-01T05:20:00.12345Z", "proxiable": true, "comment_modified_on": "2024-01-01T05:20:00.12345Z", "tags_modified_on": "2025-01-01T05:20:00.12345Z" } } ``` ## Overwrite DNS Record `client.dns.records.update(stringdnsRecordId, RecordUpdateParamsparams, RequestOptionsoptions?): RecordResponse` **put** `/zones/{zone_id}/dns_records/{dns_record_id}` Overwrite an existing DNS record. Notes: - A/AAAA records cannot exist on the same name as CNAME records. - NS records cannot exist on the same name as any other record type. - Domain names are always represented in Punycode, even if Unicode characters were used when creating the record. ### Parameters - `dnsRecordId: string` Identifier. - `RecordUpdateParams = ARecord | AAAARecord | CNAMERecord | 18 more` - `RecordUpdateParamsBase` - `ARecord extends RecordUpdateParamsBase` - `AAAARecord extends RecordUpdateParamsBase` - `CNAMERecord extends RecordUpdateParamsBase` - `MXRecord extends RecordUpdateParamsBase` - `NSRecord extends RecordUpdateParamsBase` - `DNSRecordsOpenpgpkeyRecord extends RecordUpdateParamsBase` - `PTRRecord extends RecordUpdateParamsBase` - `TXTRecord extends RecordUpdateParamsBase` - `CAARecord extends RecordUpdateParamsBase` - `CERTRecord extends RecordUpdateParamsBase` - `DNSKEYRecord extends RecordUpdateParamsBase` - `DSRecord extends RecordUpdateParamsBase` - `HTTPSRecord extends RecordUpdateParamsBase` - `LOCRecord extends RecordUpdateParamsBase` - `NAPTRRecord extends RecordUpdateParamsBase` - `SMIMEARecord extends RecordUpdateParamsBase` - `SRVRecord extends RecordUpdateParamsBase` - `SSHFPRecord extends RecordUpdateParamsBase` - `SVCBRecord extends RecordUpdateParamsBase` - `TLSARecord extends RecordUpdateParamsBase` - `URIRecord extends RecordUpdateParamsBase` ### Returns - `RecordResponse = A | AAAA | CNAME | 18 more` - `A extends ARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `AAAA extends AAAARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CNAME extends CNAMERecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `MX extends MXRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `NS extends NSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `Openpgpkey` - `id: string` Identifier. - `comment: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: string` A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `name: string` Complete DNS record name, including the zone name, in Punycode. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `proxied: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `PTR extends PTRRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `TXT extends TXTRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CAA extends CAARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CERT extends CERTRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `DNSKEY extends DNSKEYRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `DS extends DSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `HTTPS extends HTTPSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `LOC extends LOCRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `NAPTR extends NAPTRRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SMIMEA extends SMIMEARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SRV extends SRVRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SSHFP extends SSHFPRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SVCB extends SVCBRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `TLSA extends TLSARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `URI extends URIRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. ### 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 recordResponse = await client.dns.records.update('023e105f4ecef8ad9ca31a8372d0c353', { zone_id: '023e105f4ecef8ad9ca31a8372d0c353', name: 'example.com', ttl: 3600, type: 'A', }); console.log(recordResponse); ``` #### 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": { "name": "example.com", "ttl": 3600, "type": "A", "comment": "Domain verification record", "content": "198.51.100.4", "private_routing": true, "proxied": true, "settings": { "ipv4_only": true, "ipv6_only": true }, "tags": [ "owner:dns-team" ], "id": "023e105f4ecef8ad9ca31a8372d0c353", "created_on": "2014-01-01T05:20:00.12345Z", "meta": {}, "modified_on": "2014-01-01T05:20:00.12345Z", "proxiable": true, "comment_modified_on": "2024-01-01T05:20:00.12345Z", "tags_modified_on": "2025-01-01T05:20:00.12345Z" } } ``` ## Update DNS Record `client.dns.records.edit(stringdnsRecordId, RecordEditParamsparams, RequestOptionsoptions?): RecordResponse` **patch** `/zones/{zone_id}/dns_records/{dns_record_id}` Update an existing DNS record. Notes: - A/AAAA records cannot exist on the same name as CNAME records. - NS records cannot exist on the same name as any other record type. - Domain names are always represented in Punycode, even if Unicode characters were used when creating the record. ### Parameters - `dnsRecordId: string` Identifier. - `RecordEditParams = ARecord | AAAARecord | CNAMERecord | 18 more` - `RecordEditParamsBase` - `ARecord extends RecordEditParamsBase` - `AAAARecord extends RecordEditParamsBase` - `CNAMERecord extends RecordEditParamsBase` - `MXRecord extends RecordEditParamsBase` - `NSRecord extends RecordEditParamsBase` - `DNSRecordsOpenpgpkeyRecord extends RecordEditParamsBase` - `PTRRecord extends RecordEditParamsBase` - `TXTRecord extends RecordEditParamsBase` - `CAARecord extends RecordEditParamsBase` - `CERTRecord extends RecordEditParamsBase` - `DNSKEYRecord extends RecordEditParamsBase` - `DSRecord extends RecordEditParamsBase` - `HTTPSRecord extends RecordEditParamsBase` - `LOCRecord extends RecordEditParamsBase` - `NAPTRRecord extends RecordEditParamsBase` - `SMIMEARecord extends RecordEditParamsBase` - `SRVRecord extends RecordEditParamsBase` - `SSHFPRecord extends RecordEditParamsBase` - `SVCBRecord extends RecordEditParamsBase` - `TLSARecord extends RecordEditParamsBase` - `URIRecord extends RecordEditParamsBase` ### Returns - `RecordResponse = A | AAAA | CNAME | 18 more` - `A extends ARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `AAAA extends AAAARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CNAME extends CNAMERecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `MX extends MXRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `NS extends NSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `Openpgpkey` - `id: string` Identifier. - `comment: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: string` A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `name: string` Complete DNS record name, including the zone name, in Punycode. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `proxied: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `PTR extends PTRRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `TXT extends TXTRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CAA extends CAARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CERT extends CERTRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `DNSKEY extends DNSKEYRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `DS extends DSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `HTTPS extends HTTPSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `LOC extends LOCRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `NAPTR extends NAPTRRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SMIMEA extends SMIMEARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SRV extends SRVRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SSHFP extends SSHFPRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SVCB extends SVCBRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `TLSA extends TLSARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `URI extends URIRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. ### 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 recordResponse = await client.dns.records.edit('023e105f4ecef8ad9ca31a8372d0c353', { zone_id: '023e105f4ecef8ad9ca31a8372d0c353', name: 'example.com', ttl: 3600, type: 'A', }); console.log(recordResponse); ``` #### 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": { "name": "example.com", "ttl": 3600, "type": "A", "comment": "Domain verification record", "content": "198.51.100.4", "private_routing": true, "proxied": true, "settings": { "ipv4_only": true, "ipv6_only": true }, "tags": [ "owner:dns-team" ], "id": "023e105f4ecef8ad9ca31a8372d0c353", "created_on": "2014-01-01T05:20:00.12345Z", "meta": {}, "modified_on": "2014-01-01T05:20:00.12345Z", "proxiable": true, "comment_modified_on": "2024-01-01T05:20:00.12345Z", "tags_modified_on": "2025-01-01T05:20:00.12345Z" } } ``` ## Delete DNS Record `client.dns.records.delete(stringdnsRecordId, RecordDeleteParamsparams, RequestOptionsoptions?): RecordDeleteResponse` **delete** `/zones/{zone_id}/dns_records/{dns_record_id}` Delete DNS Record ### Parameters - `dnsRecordId: string` Identifier. - `params: RecordDeleteParams` - `zone_id: string` Identifier. ### Returns - `RecordDeleteResponse` - `id?: string` Identifier. ### 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 record = await client.dns.records.delete('023e105f4ecef8ad9ca31a8372d0c353', { zone_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(record.id); ``` #### Response ```json { "result": { "id": "023e105f4ecef8ad9ca31a8372d0c353" } } ``` ## Export DNS Records `client.dns.records.export(RecordExportParamsparams, RequestOptionsoptions?): RecordExportResponse` **get** `/zones/{zone_id}/dns_records/export` You can export your [BIND config](https://en.wikipedia.org/wiki/Zone_file "Zone file") through this endpoint. See [the documentation](https://developers.cloudflare.com/dns/manage-dns-records/how-to/import-and-export/ "Import and export records") for more information. ### Parameters - `params: RecordExportParams` - `zone_id: string` Identifier. ### Returns - `RecordExportResponse = string` Exported BIND zone file. ### 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.records.export({ zone_id: '023e105f4ecef8ad9ca31a8372d0c353' }); console.log(response); ``` ## Import DNS Records `client.dns.records.import(RecordImportParamsparams, RequestOptionsoptions?): RecordImportResponse` **post** `/zones/{zone_id}/dns_records/import` You can upload your [BIND config](https://en.wikipedia.org/wiki/Zone_file "Zone file") through this endpoint. It assumes that cURL is called from a location with bind_config.txt (valid BIND config) present. See [the documentation](https://developers.cloudflare.com/dns/manage-dns-records/how-to/import-and-export/ "Import and export records") for more information. ### Parameters - `params: RecordImportParams` - `zone_id: string` Path param: Identifier. - `file: string` Body param: BIND config to import. **Tip:** When using cURL, a file can be uploaded using `--form 'file=@bind_config.txt'`. - `proxied?: string` Body param: Whether or not proxiable records should receive the performance and security benefits of Cloudflare. The value should be either `true` or `false`. ### Returns - `RecordImportResponse` - `recs_added?: number` Number of DNS records added. - `total_records_parsed?: number` Total number of DNS records parsed. ### 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.records.import({ zone_id: '023e105f4ecef8ad9ca31a8372d0c353', file: 'www.example.com. 300 IN A 127.0.0.1', }); console.log(response.recs_added); ``` #### 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": { "recs_added": 5, "total_records_parsed": 5 } } ``` ## Scan DNS Records `client.dns.records.scan(RecordScanParamsparams, RequestOptionsoptions?): RecordScanResponse` **post** `/zones/{zone_id}/dns_records/scan` Scan for common DNS records on your domain and automatically add them to your zone. Useful if you haven't updated your nameservers yet. ### Parameters - `params: RecordScanParams` - `zone_id: string` Path param: Identifier. - `body: unknown` Body param ### Returns - `RecordScanResponse` - `recs_added?: number` Number of DNS records added. - `total_records_parsed?: number` Total number of DNS records parsed. ### 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.records.scan({ zone_id: '023e105f4ecef8ad9ca31a8372d0c353', body: {}, }); console.log(response.recs_added); ``` #### 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": { "recs_added": 5, "total_records_parsed": 5 } } ``` ## Trigger DNS Record Scan `client.dns.records.scanTrigger(RecordScanTriggerParamsparams, RequestOptionsoptions?): RecordScanTriggerResponse` **post** `/zones/{zone_id}/dns_records/scan/trigger` Initiates an asynchronous scan for common DNS records on your domain. Note that this **does not** automatically add records to your zone. The scan runs in the background, and results can be reviewed later using the `/scan/review` endpoints. Useful if you haven't updated your nameservers yet. ### Parameters - `params: RecordScanTriggerParams` - `zone_id: string` Identifier. ### Returns - `RecordScanTriggerResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true` ### 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.records.scanTrigger({ zone_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(response.errors); ``` #### 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 } ``` ## Review Scanned DNS Records `client.dns.records.scanReview(RecordScanReviewParamsparams, RequestOptionsoptions?): RecordScanReviewResponse` **post** `/zones/{zone_id}/dns_records/scan/review` Accept or reject DNS records found by the DNS records scan. Accepted records will be permanently added to the zone, while rejected records will be permanently deleted. ### Parameters - `params: RecordScanReviewParams` - `zone_id: string` Path param: Identifier. - `accepts?: Array` Body param - `ARecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "A"` Record type. - `"A"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` A valid IPv4 address. - `private_routing?: boolean` Enables private network routing to the origin. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `AAAARecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "AAAA"` Record type. - `"AAAA"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` A valid IPv6 address. - `private_routing?: boolean` Enables private network routing to the origin. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `CNAMERecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "CNAME"` Record type. - `"CNAME"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` A valid hostname. Must not match the record's name. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `flatten_cname?: boolean` If enabled, causes the CNAME record to be resolved externally and the resulting address records (e.g., A and AAAA) to be returned instead of the CNAME record itself. This setting is unavailable for proxied records, since they are always flattened. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `MXRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "MX"` Record type. - `"MX"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` A valid mail server hostname. - `priority?: number` Required for MX and URI records; ignored for other record types (but may still be returned by the API). Records with lower priorities are preferred. This field is to be deprecated in favor of the priority field within the data map. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `NSRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "NS"` Record type. - `"NS"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` A valid name server host name. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `DNSRecordsOpenpgpkeyRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `PTRRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "PTR"` Record type. - `"PTR"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Domain name pointing to the address. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `TXTRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "TXT"` Record type. - `"TXT"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Text content for the record. The content must consist of quoted "character strings" (RFC 1035), each with a length of up to 255 bytes. Strings exceeding this allowed maximum length are automatically split. Learn more at . - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `CAARecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "CAA"` Record type. - `"CAA"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted CAA content. See 'data' to set CAA properties. - `data?: Data` Components of a CAA record. - `flags?: number` Flags for the CAA record. - `tag?: string` Name of the property controlled by this record (e.g.: issue, issuewild, iodef). - `value?: string` Value of the record. This field's semantics depend on the chosen tag. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `CERTRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "CERT"` Record type. - `"CERT"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted CERT content. See 'data' to set CERT properties. - `data?: Data` Components of a CERT record. - `algorithm?: number` Algorithm. - `certificate?: string` Certificate. - `key_tag?: number` Key Tag. - `type?: number` Type. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `DNSKEYRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "DNSKEY"` Record type. - `"DNSKEY"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted DNSKEY content. See 'data' to set DNSKEY properties. - `data?: Data` Components of a DNSKEY record. - `algorithm?: number` Algorithm. - `flags?: number` Flags. - `protocol?: number` Protocol. - `public_key?: string` Public Key. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `DSRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "DS"` Record type. - `"DS"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted DS content. See 'data' to set DS properties. - `data?: Data` Components of a DS record. - `algorithm?: number` Algorithm. - `digest?: string` Digest. - `digest_type?: number` Digest Type. - `key_tag?: number` Key Tag. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `HTTPSRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "HTTPS"` Record type. - `"HTTPS"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted HTTPS content. See 'data' to set HTTPS properties. - `data?: Data` Components of a HTTPS record. - `priority?: number` Priority. - `target?: string` Target. - `value?: string` Value. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `LOCRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "LOC"` Record type. - `"LOC"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted LOC content. See 'data' to set LOC properties. - `data?: Data` Components of a LOC record. - `altitude?: number` Altitude of location in meters. - `lat_degrees?: number` Degrees of latitude. - `lat_direction?: "N" | "S"` Latitude direction. - `"N"` - `"S"` - `lat_minutes?: number` Minutes of latitude. - `lat_seconds?: number` Seconds of latitude. - `long_degrees?: number` Degrees of longitude. - `long_direction?: "E" | "W"` Longitude direction. - `"E"` - `"W"` - `long_minutes?: number` Minutes of longitude. - `long_seconds?: number` Seconds of longitude. - `precision_horz?: number` Horizontal precision of location. - `precision_vert?: number` Vertical precision of location. - `size?: number` Size of location in meters. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `NAPTRRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "NAPTR"` Record type. - `"NAPTR"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted NAPTR content. See 'data' to set NAPTR properties. - `data?: Data` Components of a NAPTR record. - `flags?: string` Flags. - `order?: number` Order. - `preference?: number` Preference. - `regex?: string` Regex. - `replacement?: string` Replacement. - `service?: string` Service. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `SMIMEARecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "SMIMEA"` Record type. - `"SMIMEA"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted SMIMEA content. See 'data' to set SMIMEA properties. - `data?: Data` Components of a SMIMEA record. - `certificate?: string` Certificate. - `matching_type?: number` Matching Type. - `selector?: number` Selector. - `usage?: number` Usage. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `SRVRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "SRV"` Record type. - `"SRV"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Priority, weight, port, and SRV target. See 'data' for setting the individual component values. - `data?: Data` Components of a SRV record. - `port?: number` The port of the service. - `priority?: number` Required for MX and URI records; ignored for other record types (but may still be returned by the API). Records with lower priorities are preferred. This field is to be deprecated in favor of the priority field within the data map. - `target?: string` A valid hostname. - `weight?: number` The record weight. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `SSHFPRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "SSHFP"` Record type. - `"SSHFP"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted SSHFP content. See 'data' to set SSHFP properties. - `data?: Data` Components of a SSHFP record. - `algorithm?: number` Algorithm. - `fingerprint?: string` Fingerprint. - `type?: number` Type. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `SVCBRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "SVCB"` Record type. - `"SVCB"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted SVCB content. See 'data' to set SVCB properties. - `data?: Data` Components of a SVCB record. - `priority?: number` Priority. - `target?: string` Target. - `value?: string` Value. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `TLSARecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "TLSA"` Record type. - `"TLSA"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted TLSA content. See 'data' to set TLSA properties. - `data?: Data` Components of a TLSA record. - `certificate?: string` Certificate. - `matching_type?: number` Matching Type. - `selector?: number` Selector. - `usage?: number` Usage. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `URIRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "URI"` Record type. - `"URI"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted URI content. See 'data' to set URI properties. - `data?: Data` Components of a URI record. - `target?: string` The record content. - `weight?: number` The record weight. - `priority?: number` Required for MX and URI records; ignored for other record types (but may still be returned by the API). Records with lower priorities are preferred. This field is to be deprecated in favor of the priority field within the data map. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `rejects?: Array` Body param - `id: string` Identifier. ### Returns - `RecordScanReviewResponse` - `accepts?: Array` - `A extends ARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `AAAA extends AAAARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CNAME extends CNAMERecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `MX extends MXRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `NS extends NSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `Openpgpkey` - `id: string` Identifier. - `comment: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: string` A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `name: string` Complete DNS record name, including the zone name, in Punycode. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `proxied: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `PTR extends PTRRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `TXT extends TXTRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CAA extends CAARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CERT extends CERTRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `DNSKEY extends DNSKEYRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `DS extends DSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `HTTPS extends HTTPSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `LOC extends LOCRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `NAPTR extends NAPTRRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SMIMEA extends SMIMEARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SRV extends SRVRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SSHFP extends SSHFPRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SVCB extends SVCBRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `TLSA extends TLSARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `URI extends URIRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `rejects?: Array` ### 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.records.scanReview({ zone_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(response.accepts); ``` #### 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": { "accepts": [ { "name": "example.com", "ttl": 3600, "type": "A", "comment": "Domain verification record", "content": "198.51.100.4", "private_routing": true, "proxied": true, "settings": { "ipv4_only": true, "ipv6_only": true }, "tags": [ "owner:dns-team" ], "id": "023e105f4ecef8ad9ca31a8372d0c353", "created_on": "2014-01-01T05:20:00.12345Z", "meta": {}, "modified_on": "2014-01-01T05:20:00.12345Z", "proxiable": true, "comment_modified_on": "2024-01-01T05:20:00.12345Z", "tags_modified_on": "2025-01-01T05:20:00.12345Z" } ], "rejects": [ "023e105f4ecef8ad9ca31a8372d0c353" ] } } ``` ## List Scanned DNS Records `client.dns.records.scanList(RecordScanListParamsparams, RequestOptionsoptions?): SinglePage` **get** `/zones/{zone_id}/dns_records/scan/review` Retrieves the list of DNS records discovered up to this point by the asynchronous scan. These records are temporary until explicitly accepted or rejected via `POST /scan/review`. Additional records may be discovered by the scan later. ### Parameters - `params: RecordScanListParams` - `zone_id: string` Identifier. ### Returns - `RecordResponse = A | AAAA | CNAME | 18 more` - `A extends ARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `AAAA extends AAAARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CNAME extends CNAMERecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `MX extends MXRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `NS extends NSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `Openpgpkey` - `id: string` Identifier. - `comment: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: string` A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `name: string` Complete DNS record name, including the zone name, in Punycode. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `proxied: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `PTR extends PTRRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `TXT extends TXTRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CAA extends CAARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CERT extends CERTRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `DNSKEY extends DNSKEYRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `DS extends DSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `HTTPS extends HTTPSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `LOC extends LOCRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `NAPTR extends NAPTRRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SMIMEA extends SMIMEARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SRV extends SRVRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SSHFP extends SSHFPRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SVCB extends SVCBRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `TLSA extends TLSARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `URI extends URIRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); // Automatically fetches more pages as needed. for await (const recordResponse of client.dns.records.scanList({ zone_id: '023e105f4ecef8ad9ca31a8372d0c353', })) { console.log(recordResponse); } ``` #### 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": [ { "name": "example.com", "ttl": 3600, "type": "A", "comment": "Domain verification record", "content": "198.51.100.4", "private_routing": true, "proxied": true, "settings": { "ipv4_only": true, "ipv6_only": true }, "tags": [ "owner:dns-team" ], "id": "023e105f4ecef8ad9ca31a8372d0c353", "created_on": "2014-01-01T05:20:00.12345Z", "meta": {}, "modified_on": "2014-01-01T05:20:00.12345Z", "proxiable": true, "comment_modified_on": "2024-01-01T05:20:00.12345Z", "tags_modified_on": "2025-01-01T05:20:00.12345Z" } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 } } ``` ## Batch DNS Records `client.dns.records.batch(RecordBatchParamsparams, RequestOptionsoptions?): RecordBatchResponse` **post** `/zones/{zone_id}/dns_records/batch` Send a Batch of DNS Record API calls to be executed together. Notes: - Although Cloudflare will execute the batched operations in a single database transaction, Cloudflare's distributed KV store must treat each record change as a single key-value pair. This means that the propagation of changes is not atomic. See [the documentation](https://developers.cloudflare.com/dns/manage-dns-records/how-to/batch-record-changes/ "Batch DNS records") for more information. - The operations you specify within the /batch request body are always executed in the following order: - Deletes - Patches - Puts - Posts ### Parameters - `params: RecordBatchParams` - `zone_id: string` Path param: Identifier. - `deletes?: Array` Body param - `id: string` Identifier. - `patches?: Array` Body param - `ARecord extends ARecord` - `id: string` Identifier. - `AAAARecord extends AAAARecord` - `id: string` Identifier. - `CNAMERecord extends CNAMERecord` - `id: string` Identifier. - `MXRecord extends MXRecord` - `id: string` Identifier. - `NSRecord extends NSRecord` - `id: string` Identifier. - `OpenpgpkeyRecord` - `id: string` Identifier. - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `PTRRecord extends PTRRecord` - `id: string` Identifier. - `TXTRecord extends TXTRecord` - `id: string` Identifier. - `CAARecord extends CAARecord` - `id: string` Identifier. - `CERTRecord extends CERTRecord` - `id: string` Identifier. - `DNSKEYRecord extends DNSKEYRecord` - `id: string` Identifier. - `DSRecord extends DSRecord` - `id: string` Identifier. - `HTTPSRecord extends HTTPSRecord` - `id: string` Identifier. - `LOCRecord extends LOCRecord` - `id: string` Identifier. - `NAPTRRecord extends NAPTRRecord` - `id: string` Identifier. - `SMIMEARecord extends SMIMEARecord` - `id: string` Identifier. - `SRVRecord extends SRVRecord` - `id: string` Identifier. - `SSHFPRecord extends SSHFPRecord` - `id: string` Identifier. - `SVCBRecord extends SVCBRecord` - `id: string` Identifier. - `TLSARecord extends TLSARecord` - `id: string` Identifier. - `URIRecord extends URIRecord` - `id: string` Identifier. - `posts?: Array` Body param - `ARecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "A"` Record type. - `"A"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` A valid IPv4 address. - `private_routing?: boolean` Enables private network routing to the origin. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `AAAARecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "AAAA"` Record type. - `"AAAA"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` A valid IPv6 address. - `private_routing?: boolean` Enables private network routing to the origin. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `CNAMERecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "CNAME"` Record type. - `"CNAME"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` A valid hostname. Must not match the record's name. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `flatten_cname?: boolean` If enabled, causes the CNAME record to be resolved externally and the resulting address records (e.g., A and AAAA) to be returned instead of the CNAME record itself. This setting is unavailable for proxied records, since they are always flattened. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `MXRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "MX"` Record type. - `"MX"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` A valid mail server hostname. - `priority?: number` Required for MX and URI records; ignored for other record types (but may still be returned by the API). Records with lower priorities are preferred. This field is to be deprecated in favor of the priority field within the data map. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `NSRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "NS"` Record type. - `"NS"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` A valid name server host name. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `DNSRecordsOpenpgpkeyRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `PTRRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "PTR"` Record type. - `"PTR"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Domain name pointing to the address. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `TXTRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "TXT"` Record type. - `"TXT"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Text content for the record. The content must consist of quoted "character strings" (RFC 1035), each with a length of up to 255 bytes. Strings exceeding this allowed maximum length are automatically split. Learn more at . - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `CAARecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "CAA"` Record type. - `"CAA"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted CAA content. See 'data' to set CAA properties. - `data?: Data` Components of a CAA record. - `flags?: number` Flags for the CAA record. - `tag?: string` Name of the property controlled by this record (e.g.: issue, issuewild, iodef). - `value?: string` Value of the record. This field's semantics depend on the chosen tag. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `CERTRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "CERT"` Record type. - `"CERT"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted CERT content. See 'data' to set CERT properties. - `data?: Data` Components of a CERT record. - `algorithm?: number` Algorithm. - `certificate?: string` Certificate. - `key_tag?: number` Key Tag. - `type?: number` Type. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `DNSKEYRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "DNSKEY"` Record type. - `"DNSKEY"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted DNSKEY content. See 'data' to set DNSKEY properties. - `data?: Data` Components of a DNSKEY record. - `algorithm?: number` Algorithm. - `flags?: number` Flags. - `protocol?: number` Protocol. - `public_key?: string` Public Key. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `DSRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "DS"` Record type. - `"DS"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted DS content. See 'data' to set DS properties. - `data?: Data` Components of a DS record. - `algorithm?: number` Algorithm. - `digest?: string` Digest. - `digest_type?: number` Digest Type. - `key_tag?: number` Key Tag. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `HTTPSRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "HTTPS"` Record type. - `"HTTPS"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted HTTPS content. See 'data' to set HTTPS properties. - `data?: Data` Components of a HTTPS record. - `priority?: number` Priority. - `target?: string` Target. - `value?: string` Value. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `LOCRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "LOC"` Record type. - `"LOC"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted LOC content. See 'data' to set LOC properties. - `data?: Data` Components of a LOC record. - `altitude?: number` Altitude of location in meters. - `lat_degrees?: number` Degrees of latitude. - `lat_direction?: "N" | "S"` Latitude direction. - `"N"` - `"S"` - `lat_minutes?: number` Minutes of latitude. - `lat_seconds?: number` Seconds of latitude. - `long_degrees?: number` Degrees of longitude. - `long_direction?: "E" | "W"` Longitude direction. - `"E"` - `"W"` - `long_minutes?: number` Minutes of longitude. - `long_seconds?: number` Seconds of longitude. - `precision_horz?: number` Horizontal precision of location. - `precision_vert?: number` Vertical precision of location. - `size?: number` Size of location in meters. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `NAPTRRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "NAPTR"` Record type. - `"NAPTR"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted NAPTR content. See 'data' to set NAPTR properties. - `data?: Data` Components of a NAPTR record. - `flags?: string` Flags. - `order?: number` Order. - `preference?: number` Preference. - `regex?: string` Regex. - `replacement?: string` Replacement. - `service?: string` Service. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `SMIMEARecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "SMIMEA"` Record type. - `"SMIMEA"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted SMIMEA content. See 'data' to set SMIMEA properties. - `data?: Data` Components of a SMIMEA record. - `certificate?: string` Certificate. - `matching_type?: number` Matching Type. - `selector?: number` Selector. - `usage?: number` Usage. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `SRVRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "SRV"` Record type. - `"SRV"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Priority, weight, port, and SRV target. See 'data' for setting the individual component values. - `data?: Data` Components of a SRV record. - `port?: number` The port of the service. - `priority?: number` Required for MX and URI records; ignored for other record types (but may still be returned by the API). Records with lower priorities are preferred. This field is to be deprecated in favor of the priority field within the data map. - `target?: string` A valid hostname. - `weight?: number` The record weight. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `SSHFPRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "SSHFP"` Record type. - `"SSHFP"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted SSHFP content. See 'data' to set SSHFP properties. - `data?: Data` Components of a SSHFP record. - `algorithm?: number` Algorithm. - `fingerprint?: string` Fingerprint. - `type?: number` Type. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `SVCBRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "SVCB"` Record type. - `"SVCB"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted SVCB content. See 'data' to set SVCB properties. - `data?: Data` Components of a SVCB record. - `priority?: number` Priority. - `target?: string` Target. - `value?: string` Value. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `TLSARecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "TLSA"` Record type. - `"TLSA"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted TLSA content. See 'data' to set TLSA properties. - `data?: Data` Components of a TLSA record. - `certificate?: string` Certificate. - `matching_type?: number` Matching Type. - `selector?: number` Selector. - `usage?: number` Usage. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `URIRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "URI"` Record type. - `"URI"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted URI content. See 'data' to set URI properties. - `data?: Data` Components of a URI record. - `target?: string` The record content. - `weight?: number` The record weight. - `priority?: number` Required for MX and URI records; ignored for other record types (but may still be returned by the API). Records with lower priorities are preferred. This field is to be deprecated in favor of the priority field within the data map. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `puts?: Array` Body param - `ARecord extends ARecord` - `id: string` Identifier. - `AAAARecord extends AAAARecord` - `id: string` Identifier. - `CNAMERecord extends CNAMERecord` - `id: string` Identifier. - `MXRecord extends MXRecord` - `id: string` Identifier. - `NSRecord extends NSRecord` - `id: string` Identifier. - `OpenpgpkeyRecord` - `id: string` Identifier. - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `PTRRecord extends PTRRecord` - `id: string` Identifier. - `TXTRecord extends TXTRecord` - `id: string` Identifier. - `CAARecord extends CAARecord` - `id: string` Identifier. - `CERTRecord extends CERTRecord` - `id: string` Identifier. - `DNSKEYRecord extends DNSKEYRecord` - `id: string` Identifier. - `DSRecord extends DSRecord` - `id: string` Identifier. - `HTTPSRecord extends HTTPSRecord` - `id: string` Identifier. - `LOCRecord extends LOCRecord` - `id: string` Identifier. - `NAPTRRecord extends NAPTRRecord` - `id: string` Identifier. - `SMIMEARecord extends SMIMEARecord` - `id: string` Identifier. - `SRVRecord extends SRVRecord` - `id: string` Identifier. - `SSHFPRecord extends SSHFPRecord` - `id: string` Identifier. - `SVCBRecord extends SVCBRecord` - `id: string` Identifier. - `TLSARecord extends TLSARecord` - `id: string` Identifier. - `URIRecord extends URIRecord` - `id: string` Identifier. ### Returns - `RecordBatchResponse` - `deletes?: Array` - `A extends ARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `AAAA extends AAAARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CNAME extends CNAMERecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `MX extends MXRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `NS extends NSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `Openpgpkey` - `id: string` Identifier. - `comment: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: string` A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `name: string` Complete DNS record name, including the zone name, in Punycode. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `proxied: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `PTR extends PTRRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `TXT extends TXTRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CAA extends CAARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CERT extends CERTRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `DNSKEY extends DNSKEYRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `DS extends DSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `HTTPS extends HTTPSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `LOC extends LOCRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `NAPTR extends NAPTRRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SMIMEA extends SMIMEARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SRV extends SRVRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SSHFP extends SSHFPRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SVCB extends SVCBRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `TLSA extends TLSARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `URI extends URIRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `patches?: Array` - `A extends ARecord` - `AAAA extends AAAARecord` - `CNAME extends CNAMERecord` - `MX extends MXRecord` - `NS extends NSRecord` - `Openpgpkey` - `PTR extends PTRRecord` - `TXT extends TXTRecord` - `CAA extends CAARecord` - `CERT extends CERTRecord` - `DNSKEY extends DNSKEYRecord` - `DS extends DSRecord` - `HTTPS extends HTTPSRecord` - `LOC extends LOCRecord` - `NAPTR extends NAPTRRecord` - `SMIMEA extends SMIMEARecord` - `SRV extends SRVRecord` - `SSHFP extends SSHFPRecord` - `SVCB extends SVCBRecord` - `TLSA extends TLSARecord` - `URI extends URIRecord` - `posts?: Array` - `A extends ARecord` - `AAAA extends AAAARecord` - `CNAME extends CNAMERecord` - `MX extends MXRecord` - `NS extends NSRecord` - `Openpgpkey` - `PTR extends PTRRecord` - `TXT extends TXTRecord` - `CAA extends CAARecord` - `CERT extends CERTRecord` - `DNSKEY extends DNSKEYRecord` - `DS extends DSRecord` - `HTTPS extends HTTPSRecord` - `LOC extends LOCRecord` - `NAPTR extends NAPTRRecord` - `SMIMEA extends SMIMEARecord` - `SRV extends SRVRecord` - `SSHFP extends SSHFPRecord` - `SVCB extends SVCBRecord` - `TLSA extends TLSARecord` - `URI extends URIRecord` - `puts?: Array` - `A extends ARecord` - `AAAA extends AAAARecord` - `CNAME extends CNAMERecord` - `MX extends MXRecord` - `NS extends NSRecord` - `Openpgpkey` - `PTR extends PTRRecord` - `TXT extends TXTRecord` - `CAA extends CAARecord` - `CERT extends CERTRecord` - `DNSKEY extends DNSKEYRecord` - `DS extends DSRecord` - `HTTPS extends HTTPSRecord` - `LOC extends LOCRecord` - `NAPTR extends NAPTRRecord` - `SMIMEA extends SMIMEARecord` - `SRV extends SRVRecord` - `SSHFP extends SSHFPRecord` - `SVCB extends SVCBRecord` - `TLSA extends TLSARecord` - `URI extends URIRecord` ### 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.records.batch({ zone_id: '023e105f4ecef8ad9ca31a8372d0c353' }); console.log(response.deletes); ``` #### 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": { "deletes": [ { "name": "example.com", "ttl": 3600, "type": "A", "comment": "Domain verification record", "content": "198.51.100.4", "private_routing": true, "proxied": true, "settings": { "ipv4_only": true, "ipv6_only": true }, "tags": [ "owner:dns-team" ], "id": "023e105f4ecef8ad9ca31a8372d0c353", "created_on": "2014-01-01T05:20:00.12345Z", "meta": {}, "modified_on": "2014-01-01T05:20:00.12345Z", "proxiable": true, "comment_modified_on": "2024-01-01T05:20:00.12345Z", "tags_modified_on": "2025-01-01T05:20:00.12345Z" } ], "patches": [ { "name": "example.com", "ttl": 3600, "type": "A", "comment": "Domain verification record", "content": "198.51.100.4", "private_routing": true, "proxied": true, "settings": { "ipv4_only": true, "ipv6_only": true }, "tags": [ "owner:dns-team" ], "id": "023e105f4ecef8ad9ca31a8372d0c353", "created_on": "2014-01-01T05:20:00.12345Z", "meta": {}, "modified_on": "2014-01-01T05:20:00.12345Z", "proxiable": true, "comment_modified_on": "2024-01-01T05:20:00.12345Z", "tags_modified_on": "2025-01-01T05:20:00.12345Z" } ], "posts": [ { "name": "example.com", "ttl": 3600, "type": "A", "comment": "Domain verification record", "content": "198.51.100.4", "private_routing": true, "proxied": true, "settings": { "ipv4_only": true, "ipv6_only": true }, "tags": [ "owner:dns-team" ], "id": "023e105f4ecef8ad9ca31a8372d0c353", "created_on": "2014-01-01T05:20:00.12345Z", "meta": {}, "modified_on": "2014-01-01T05:20:00.12345Z", "proxiable": true, "comment_modified_on": "2024-01-01T05:20:00.12345Z", "tags_modified_on": "2025-01-01T05:20:00.12345Z" } ], "puts": [ { "name": "example.com", "ttl": 3600, "type": "A", "comment": "Domain verification record", "content": "198.51.100.4", "private_routing": true, "proxied": true, "settings": { "ipv4_only": true, "ipv6_only": true }, "tags": [ "owner:dns-team" ], "id": "023e105f4ecef8ad9ca31a8372d0c353", "created_on": "2014-01-01T05:20:00.12345Z", "meta": {}, "modified_on": "2014-01-01T05:20:00.12345Z", "proxiable": true, "comment_modified_on": "2024-01-01T05:20:00.12345Z", "tags_modified_on": "2025-01-01T05:20:00.12345Z" } ] } } ``` ## Domain Types ### A Record - `ARecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "A"` Record type. - `"A"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` A valid IPv4 address. - `private_routing?: boolean` Enables private network routing to the origin. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. ### AAAA Record - `AAAARecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "AAAA"` Record type. - `"AAAA"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` A valid IPv6 address. - `private_routing?: boolean` Enables private network routing to the origin. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. ### Batch Patch - `BatchPatch = ARecord | AAAARecord | CNAMERecord | 18 more` - `ARecord extends ARecord` - `id: string` Identifier. - `AAAARecord extends AAAARecord` - `id: string` Identifier. - `CNAMERecord extends CNAMERecord` - `id: string` Identifier. - `MXRecord extends MXRecord` - `id: string` Identifier. - `NSRecord extends NSRecord` - `id: string` Identifier. - `OpenpgpkeyRecord` - `id: string` Identifier. - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `PTRRecord extends PTRRecord` - `id: string` Identifier. - `TXTRecord extends TXTRecord` - `id: string` Identifier. - `CAARecord extends CAARecord` - `id: string` Identifier. - `CERTRecord extends CERTRecord` - `id: string` Identifier. - `DNSKEYRecord extends DNSKEYRecord` - `id: string` Identifier. - `DSRecord extends DSRecord` - `id: string` Identifier. - `HTTPSRecord extends HTTPSRecord` - `id: string` Identifier. - `LOCRecord extends LOCRecord` - `id: string` Identifier. - `NAPTRRecord extends NAPTRRecord` - `id: string` Identifier. - `SMIMEARecord extends SMIMEARecord` - `id: string` Identifier. - `SRVRecord extends SRVRecord` - `id: string` Identifier. - `SSHFPRecord extends SSHFPRecord` - `id: string` Identifier. - `SVCBRecord extends SVCBRecord` - `id: string` Identifier. - `TLSARecord extends TLSARecord` - `id: string` Identifier. - `URIRecord extends URIRecord` - `id: string` Identifier. ### Batch Put - `BatchPut = ARecord | AAAARecord | CNAMERecord | 18 more` - `ARecord extends ARecord` - `id: string` Identifier. - `AAAARecord extends AAAARecord` - `id: string` Identifier. - `CNAMERecord extends CNAMERecord` - `id: string` Identifier. - `MXRecord extends MXRecord` - `id: string` Identifier. - `NSRecord extends NSRecord` - `id: string` Identifier. - `OpenpgpkeyRecord` - `id: string` Identifier. - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `PTRRecord extends PTRRecord` - `id: string` Identifier. - `TXTRecord extends TXTRecord` - `id: string` Identifier. - `CAARecord extends CAARecord` - `id: string` Identifier. - `CERTRecord extends CERTRecord` - `id: string` Identifier. - `DNSKEYRecord extends DNSKEYRecord` - `id: string` Identifier. - `DSRecord extends DSRecord` - `id: string` Identifier. - `HTTPSRecord extends HTTPSRecord` - `id: string` Identifier. - `LOCRecord extends LOCRecord` - `id: string` Identifier. - `NAPTRRecord extends NAPTRRecord` - `id: string` Identifier. - `SMIMEARecord extends SMIMEARecord` - `id: string` Identifier. - `SRVRecord extends SRVRecord` - `id: string` Identifier. - `SSHFPRecord extends SSHFPRecord` - `id: string` Identifier. - `SVCBRecord extends SVCBRecord` - `id: string` Identifier. - `TLSARecord extends TLSARecord` - `id: string` Identifier. - `URIRecord extends URIRecord` - `id: string` Identifier. ### CAA Record - `CAARecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "CAA"` Record type. - `"CAA"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted CAA content. See 'data' to set CAA properties. - `data?: Data` Components of a CAA record. - `flags?: number` Flags for the CAA record. - `tag?: string` Name of the property controlled by this record (e.g.: issue, issuewild, iodef). - `value?: string` Value of the record. This field's semantics depend on the chosen tag. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. ### CERT Record - `CERTRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "CERT"` Record type. - `"CERT"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted CERT content. See 'data' to set CERT properties. - `data?: Data` Components of a CERT record. - `algorithm?: number` Algorithm. - `certificate?: string` Certificate. - `key_tag?: number` Key Tag. - `type?: number` Type. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. ### CNAME Record - `CNAMERecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "CNAME"` Record type. - `"CNAME"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` A valid hostname. Must not match the record's name. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `flatten_cname?: boolean` If enabled, causes the CNAME record to be resolved externally and the resulting address records (e.g., A and AAAA) to be returned instead of the CNAME record itself. This setting is unavailable for proxied records, since they are always flattened. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. ### DNSKEY Record - `DNSKEYRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "DNSKEY"` Record type. - `"DNSKEY"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted DNSKEY content. See 'data' to set DNSKEY properties. - `data?: Data` Components of a DNSKEY record. - `algorithm?: number` Algorithm. - `flags?: number` Flags. - `protocol?: number` Protocol. - `public_key?: string` Public Key. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. ### DS Record - `DSRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "DS"` Record type. - `"DS"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted DS content. See 'data' to set DS properties. - `data?: Data` Components of a DS record. - `algorithm?: number` Algorithm. - `digest?: string` Digest. - `digest_type?: number` Digest Type. - `key_tag?: number` Key Tag. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. ### HTTPS Record - `HTTPSRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "HTTPS"` Record type. - `"HTTPS"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted HTTPS content. See 'data' to set HTTPS properties. - `data?: Data` Components of a HTTPS record. - `priority?: number` Priority. - `target?: string` Target. - `value?: string` Value. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. ### LOC Record - `LOCRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "LOC"` Record type. - `"LOC"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted LOC content. See 'data' to set LOC properties. - `data?: Data` Components of a LOC record. - `altitude?: number` Altitude of location in meters. - `lat_degrees?: number` Degrees of latitude. - `lat_direction?: "N" | "S"` Latitude direction. - `"N"` - `"S"` - `lat_minutes?: number` Minutes of latitude. - `lat_seconds?: number` Seconds of latitude. - `long_degrees?: number` Degrees of longitude. - `long_direction?: "E" | "W"` Longitude direction. - `"E"` - `"W"` - `long_minutes?: number` Minutes of longitude. - `long_seconds?: number` Seconds of longitude. - `precision_horz?: number` Horizontal precision of location. - `precision_vert?: number` Vertical precision of location. - `size?: number` Size of location in meters. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. ### MX Record - `MXRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "MX"` Record type. - `"MX"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` A valid mail server hostname. - `priority?: number` Required for MX and URI records; ignored for other record types (but may still be returned by the API). Records with lower priorities are preferred. This field is to be deprecated in favor of the priority field within the data map. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. ### NAPTR Record - `NAPTRRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "NAPTR"` Record type. - `"NAPTR"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted NAPTR content. See 'data' to set NAPTR properties. - `data?: Data` Components of a NAPTR record. - `flags?: string` Flags. - `order?: number` Order. - `preference?: number` Preference. - `regex?: string` Regex. - `replacement?: string` Replacement. - `service?: string` Service. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. ### NS Record - `NSRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "NS"` Record type. - `"NS"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` A valid name server host name. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. ### PTR Record - `PTRRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "PTR"` Record type. - `"PTR"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Domain name pointing to the address. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. ### Record - `Record = ARecord | AAAARecord | CNAMERecord | 18 more` - `ARecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "A"` Record type. - `"A"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` A valid IPv4 address. - `private_routing?: boolean` Enables private network routing to the origin. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `AAAARecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "AAAA"` Record type. - `"AAAA"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` A valid IPv6 address. - `private_routing?: boolean` Enables private network routing to the origin. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `CNAMERecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "CNAME"` Record type. - `"CNAME"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` A valid hostname. Must not match the record's name. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `flatten_cname?: boolean` If enabled, causes the CNAME record to be resolved externally and the resulting address records (e.g., A and AAAA) to be returned instead of the CNAME record itself. This setting is unavailable for proxied records, since they are always flattened. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `MXRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "MX"` Record type. - `"MX"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` A valid mail server hostname. - `priority?: number` Required for MX and URI records; ignored for other record types (but may still be returned by the API). Records with lower priorities are preferred. This field is to be deprecated in favor of the priority field within the data map. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `NSRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "NS"` Record type. - `"NS"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` A valid name server host name. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `Openpgpkey` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `PTRRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "PTR"` Record type. - `"PTR"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Domain name pointing to the address. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `TXTRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "TXT"` Record type. - `"TXT"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Text content for the record. The content must consist of quoted "character strings" (RFC 1035), each with a length of up to 255 bytes. Strings exceeding this allowed maximum length are automatically split. Learn more at . - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `CAARecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "CAA"` Record type. - `"CAA"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted CAA content. See 'data' to set CAA properties. - `data?: Data` Components of a CAA record. - `flags?: number` Flags for the CAA record. - `tag?: string` Name of the property controlled by this record (e.g.: issue, issuewild, iodef). - `value?: string` Value of the record. This field's semantics depend on the chosen tag. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `CERTRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "CERT"` Record type. - `"CERT"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted CERT content. See 'data' to set CERT properties. - `data?: Data` Components of a CERT record. - `algorithm?: number` Algorithm. - `certificate?: string` Certificate. - `key_tag?: number` Key Tag. - `type?: number` Type. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `DNSKEYRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "DNSKEY"` Record type. - `"DNSKEY"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted DNSKEY content. See 'data' to set DNSKEY properties. - `data?: Data` Components of a DNSKEY record. - `algorithm?: number` Algorithm. - `flags?: number` Flags. - `protocol?: number` Protocol. - `public_key?: string` Public Key. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `DSRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "DS"` Record type. - `"DS"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted DS content. See 'data' to set DS properties. - `data?: Data` Components of a DS record. - `algorithm?: number` Algorithm. - `digest?: string` Digest. - `digest_type?: number` Digest Type. - `key_tag?: number` Key Tag. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `HTTPSRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "HTTPS"` Record type. - `"HTTPS"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted HTTPS content. See 'data' to set HTTPS properties. - `data?: Data` Components of a HTTPS record. - `priority?: number` Priority. - `target?: string` Target. - `value?: string` Value. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `LOCRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "LOC"` Record type. - `"LOC"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted LOC content. See 'data' to set LOC properties. - `data?: Data` Components of a LOC record. - `altitude?: number` Altitude of location in meters. - `lat_degrees?: number` Degrees of latitude. - `lat_direction?: "N" | "S"` Latitude direction. - `"N"` - `"S"` - `lat_minutes?: number` Minutes of latitude. - `lat_seconds?: number` Seconds of latitude. - `long_degrees?: number` Degrees of longitude. - `long_direction?: "E" | "W"` Longitude direction. - `"E"` - `"W"` - `long_minutes?: number` Minutes of longitude. - `long_seconds?: number` Seconds of longitude. - `precision_horz?: number` Horizontal precision of location. - `precision_vert?: number` Vertical precision of location. - `size?: number` Size of location in meters. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `NAPTRRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "NAPTR"` Record type. - `"NAPTR"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted NAPTR content. See 'data' to set NAPTR properties. - `data?: Data` Components of a NAPTR record. - `flags?: string` Flags. - `order?: number` Order. - `preference?: number` Preference. - `regex?: string` Regex. - `replacement?: string` Replacement. - `service?: string` Service. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `SMIMEARecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "SMIMEA"` Record type. - `"SMIMEA"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted SMIMEA content. See 'data' to set SMIMEA properties. - `data?: Data` Components of a SMIMEA record. - `certificate?: string` Certificate. - `matching_type?: number` Matching Type. - `selector?: number` Selector. - `usage?: number` Usage. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `SRVRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "SRV"` Record type. - `"SRV"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Priority, weight, port, and SRV target. See 'data' for setting the individual component values. - `data?: Data` Components of a SRV record. - `port?: number` The port of the service. - `priority?: number` Required for MX and URI records; ignored for other record types (but may still be returned by the API). Records with lower priorities are preferred. This field is to be deprecated in favor of the priority field within the data map. - `target?: string` A valid hostname. - `weight?: number` The record weight. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `SSHFPRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "SSHFP"` Record type. - `"SSHFP"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted SSHFP content. See 'data' to set SSHFP properties. - `data?: Data` Components of a SSHFP record. - `algorithm?: number` Algorithm. - `fingerprint?: string` Fingerprint. - `type?: number` Type. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `SVCBRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "SVCB"` Record type. - `"SVCB"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted SVCB content. See 'data' to set SVCB properties. - `data?: Data` Components of a SVCB record. - `priority?: number` Priority. - `target?: string` Target. - `value?: string` Value. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `TLSARecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "TLSA"` Record type. - `"TLSA"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted TLSA content. See 'data' to set TLSA properties. - `data?: Data` Components of a TLSA record. - `certificate?: string` Certificate. - `matching_type?: number` Matching Type. - `selector?: number` Selector. - `usage?: number` Usage. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `URIRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `type: "URI"` Record type. - `"URI"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted URI content. See 'data' to set URI properties. - `data?: Data` Components of a URI record. - `target?: string` The record content. - `weight?: number` The record weight. - `priority?: number` Required for MX and URI records; ignored for other record types (but may still be returned by the API). Records with lower priorities are preferred. This field is to be deprecated in favor of the priority field within the data map. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. ### Record Response - `RecordResponse = A | AAAA | CNAME | 18 more` - `A extends ARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `AAAA extends AAAARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CNAME extends CNAMERecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `MX extends MXRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `NS extends NSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `Openpgpkey` - `id: string` Identifier. - `comment: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: string` A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `name: string` Complete DNS record name, including the zone name, in Punycode. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `proxied: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `PTR extends PTRRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `TXT extends TXTRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CAA extends CAARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CERT extends CERTRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `DNSKEY extends DNSKEYRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `DS extends DSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `HTTPS extends HTTPSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `LOC extends LOCRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `NAPTR extends NAPTRRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SMIMEA extends SMIMEARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SRV extends SRVRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SSHFP extends SSHFPRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SVCB extends SVCBRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `TLSA extends TLSARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `URI extends URIRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. ### Record Tags - `RecordTags = string` Individual tag of the form name:value (the name must consist of only letters, numbers, underscores and hyphens) ### SMIMEA Record - `SMIMEARecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "SMIMEA"` Record type. - `"SMIMEA"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted SMIMEA content. See 'data' to set SMIMEA properties. - `data?: Data` Components of a SMIMEA record. - `certificate?: string` Certificate. - `matching_type?: number` Matching Type. - `selector?: number` Selector. - `usage?: number` Usage. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. ### SRV Record - `SRVRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "SRV"` Record type. - `"SRV"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Priority, weight, port, and SRV target. See 'data' for setting the individual component values. - `data?: Data` Components of a SRV record. - `port?: number` The port of the service. - `priority?: number` Required for MX and URI records; ignored for other record types (but may still be returned by the API). Records with lower priorities are preferred. This field is to be deprecated in favor of the priority field within the data map. - `target?: string` A valid hostname. - `weight?: number` The record weight. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. ### SSHFP Record - `SSHFPRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "SSHFP"` Record type. - `"SSHFP"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted SSHFP content. See 'data' to set SSHFP properties. - `data?: Data` Components of a SSHFP record. - `algorithm?: number` Algorithm. - `fingerprint?: string` Fingerprint. - `type?: number` Type. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. ### SVCB Record - `SVCBRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "SVCB"` Record type. - `"SVCB"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted SVCB content. See 'data' to set SVCB properties. - `data?: Data` Components of a SVCB record. - `priority?: number` Priority. - `target?: string` Target. - `value?: string` Value. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. ### TLSA Record - `TLSARecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "TLSA"` Record type. - `"TLSA"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted TLSA content. See 'data' to set TLSA properties. - `data?: Data` Components of a TLSA record. - `certificate?: string` Certificate. - `matching_type?: number` Matching Type. - `selector?: number` Selector. - `usage?: number` Usage. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. ### TTL - `TTL = number | 1` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` ### TXT Record - `TXTRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "TXT"` Record type. - `"TXT"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Text content for the record. The content must consist of quoted "character strings" (RFC 1035), each with a length of up to 255 bytes. Strings exceeding this allowed maximum length are automatically split. Learn more at . - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. ### URI Record - `URIRecord` - `name: string` Complete DNS record name, including the zone name, in Punycode. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "URI"` Record type. - `"URI"` - `comment?: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content?: string` Formatted URI content. See 'data' to set URI properties. - `data?: Data` Components of a URI record. - `target?: string` The record content. - `weight?: number` The record weight. - `priority?: number` Required for MX and URI records; ignored for other record types (but may still be returned by the API). Records with lower priorities are preferred. This field is to be deprecated in favor of the priority field within the data map. - `proxied?: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings?: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags?: Array` Custom tags for the DNS record. This field has no effect on DNS responses. ### Record Delete Response - `RecordDeleteResponse` - `id?: string` Identifier. ### Record Export Response - `RecordExportResponse = string` Exported BIND zone file. ### Record Import Response - `RecordImportResponse` - `recs_added?: number` Number of DNS records added. - `total_records_parsed?: number` Total number of DNS records parsed. ### Record Scan Response - `RecordScanResponse` - `recs_added?: number` Number of DNS records added. - `total_records_parsed?: number` Total number of DNS records parsed. ### Record Scan Trigger Response - `RecordScanTriggerResponse` - `errors: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `messages: Array` - `code: number` - `message: string` - `documentation_url?: string` - `source?: Source` - `pointer?: string` - `success: true` Whether the API call was successful. - `true` ### Record Scan Review Response - `RecordScanReviewResponse` - `accepts?: Array` - `A extends ARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `AAAA extends AAAARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CNAME extends CNAMERecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `MX extends MXRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `NS extends NSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `Openpgpkey` - `id: string` Identifier. - `comment: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: string` A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `name: string` Complete DNS record name, including the zone name, in Punycode. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `proxied: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `PTR extends PTRRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `TXT extends TXTRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CAA extends CAARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CERT extends CERTRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `DNSKEY extends DNSKEYRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `DS extends DSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `HTTPS extends HTTPSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `LOC extends LOCRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `NAPTR extends NAPTRRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SMIMEA extends SMIMEARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SRV extends SRVRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SSHFP extends SSHFPRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SVCB extends SVCBRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `TLSA extends TLSARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `URI extends URIRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `rejects?: Array` ### Record Batch Response - `RecordBatchResponse` - `deletes?: Array` - `A extends ARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `AAAA extends AAAARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CNAME extends CNAMERecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `MX extends MXRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `NS extends NSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `Openpgpkey` - `id: string` Identifier. - `comment: string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: string` A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `name: string` Complete DNS record name, including the zone name, in Punycode. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `proxied: boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: Settings` Settings for the DNS record. - `ipv4_only?: boolean` When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `ipv6_only?: boolean` When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6. - `tags: Array` Custom tags for the DNS record. This field has no effect on DNS responses. - `ttl: TTL` Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones. - `number` - `1` - `1` - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `PTR extends PTRRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `TXT extends TXTRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CAA extends CAARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `CERT extends CERTRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `DNSKEY extends DNSKEYRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `DS extends DSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `HTTPS extends HTTPSRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `LOC extends LOCRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `NAPTR extends NAPTRRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SMIMEA extends SMIMEARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SRV extends SRVRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SSHFP extends SSHFPRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `SVCB extends SVCBRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `TLSA extends TLSARecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `URI extends URIRecord` - `id: string` Identifier. - `created_on: string` When the record was created. - `meta: unknown` Extra Cloudflare-specific information about the record. - `modified_on: string` When the record was last modified. - `proxiable: boolean` Whether the record can be proxied by Cloudflare or not. - `comment_modified_on?: string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on?: string` When the record tags were last modified. Omitted if there are no tags. - `patches?: Array` - `A extends ARecord` - `AAAA extends AAAARecord` - `CNAME extends CNAMERecord` - `MX extends MXRecord` - `NS extends NSRecord` - `Openpgpkey` - `PTR extends PTRRecord` - `TXT extends TXTRecord` - `CAA extends CAARecord` - `CERT extends CERTRecord` - `DNSKEY extends DNSKEYRecord` - `DS extends DSRecord` - `HTTPS extends HTTPSRecord` - `LOC extends LOCRecord` - `NAPTR extends NAPTRRecord` - `SMIMEA extends SMIMEARecord` - `SRV extends SRVRecord` - `SSHFP extends SSHFPRecord` - `SVCB extends SVCBRecord` - `TLSA extends TLSARecord` - `URI extends URIRecord` - `posts?: Array` - `A extends ARecord` - `AAAA extends AAAARecord` - `CNAME extends CNAMERecord` - `MX extends MXRecord` - `NS extends NSRecord` - `Openpgpkey` - `PTR extends PTRRecord` - `TXT extends TXTRecord` - `CAA extends CAARecord` - `CERT extends CERTRecord` - `DNSKEY extends DNSKEYRecord` - `DS extends DSRecord` - `HTTPS extends HTTPSRecord` - `LOC extends LOCRecord` - `NAPTR extends NAPTRRecord` - `SMIMEA extends SMIMEARecord` - `SRV extends SRVRecord` - `SSHFP extends SSHFPRecord` - `SVCB extends SVCBRecord` - `TLSA extends TLSARecord` - `URI extends URIRecord` - `puts?: Array` - `A extends ARecord` - `AAAA extends AAAARecord` - `CNAME extends CNAMERecord` - `MX extends MXRecord` - `NS extends NSRecord` - `Openpgpkey` - `PTR extends PTRRecord` - `TXT extends TXTRecord` - `CAA extends CAARecord` - `CERT extends CERTRecord` - `DNSKEY extends DNSKEYRecord` - `DS extends DSRecord` - `HTTPS extends HTTPSRecord` - `LOC extends LOCRecord` - `NAPTR extends NAPTRRecord` - `SMIMEA extends SMIMEARecord` - `SRV extends SRVRecord` - `SSHFP extends SSHFPRecord` - `SVCB extends SVCBRecord` - `TLSA extends TLSARecord` - `URI extends URIRecord` # Settings # Zone ## Show DNS Settings `client.dns.settings.zone.get(ZoneGetParamsparams, RequestOptionsoptions?): ZoneGetResponse` **get** `/zones/{zone_id}/dns_settings` Show DNS settings for a zone ### Parameters - `params: ZoneGetParams` - `zone_id: string` Identifier. ### Returns - `ZoneGetResponse` - `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 zone = await client.dns.settings.zone.get({ zone_id: '023e105f4ecef8ad9ca31a8372d0c353' }); console.log(zone.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" } } ``` ## 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" } } ``` ## Domain Types ### Zone Get Response - `ZoneGetResponse` - `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"` ### Zone Edit Response - `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"` # Account ## Show DNS Settings `client.dns.settings.account.get(AccountGetParamsparams, RequestOptionsoptions?): AccountGetResponse` **get** `/accounts/{account_id}/dns_settings` Show DNS settings for an account ### Parameters - `params: AccountGetParams` - `account_id: string` Identifier. ### Returns - `AccountGetResponse` - `zone_defaults: ZoneDefaults` - `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" | "cloudflare.standard.random" | "custom.account" | "custom.tenant"` Nameserver type - `"cloudflare.standard"` - `"cloudflare.standard.random"` - `"custom.account"` - `"custom.tenant"` - `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 account = await client.dns.settings.account.get({ account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(account.zone_defaults); ``` #### 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": { "zone_defaults": { "flatten_all_cnames": false, "foundation_dns": false, "internal_dns": { "reference_zone_id": "reference_zone_id" }, "multi_provider": false, "nameservers": { "type": "cloudflare.standard" }, "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" } } } ``` ## Update DNS Settings `client.dns.settings.account.edit(AccountEditParamsparams, RequestOptionsoptions?): AccountEditResponse` **patch** `/accounts/{account_id}/dns_settings` Update DNS settings for an account ### Parameters - `params: AccountEditParams` - `account_id: string` Path param: Identifier. - `zone_defaults?: ZoneDefaults` Body param - `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" | "cloudflare.standard.random" | "custom.account" | "custom.tenant"` Nameserver type - `"cloudflare.standard"` - `"cloudflare.standard.random"` - `"custom.account"` - `"custom.tenant"` - `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"` ### Returns - `AccountEditResponse` - `zone_defaults: ZoneDefaults` - `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" | "cloudflare.standard.random" | "custom.account" | "custom.tenant"` Nameserver type - `"cloudflare.standard"` - `"cloudflare.standard.random"` - `"custom.account"` - `"custom.tenant"` - `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.account.edit({ account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(response.zone_defaults); ``` #### 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": { "zone_defaults": { "flatten_all_cnames": false, "foundation_dns": false, "internal_dns": { "reference_zone_id": "reference_zone_id" }, "multi_provider": false, "nameservers": { "type": "cloudflare.standard" }, "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" } } } ``` ## Domain Types ### Account Get Response - `AccountGetResponse` - `zone_defaults: ZoneDefaults` - `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" | "cloudflare.standard.random" | "custom.account" | "custom.tenant"` Nameserver type - `"cloudflare.standard"` - `"cloudflare.standard.random"` - `"custom.account"` - `"custom.tenant"` - `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"` ### Account Edit Response - `AccountEditResponse` - `zone_defaults: ZoneDefaults` - `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" | "cloudflare.standard.random" | "custom.account" | "custom.tenant"` Nameserver type - `"cloudflare.standard"` - `"cloudflare.standard.random"` - `"custom.account"` - `"custom.tenant"` - `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"` # Views ## List Internal DNS Views `client.dns.settings.account.views.list(ViewListParamsparams, RequestOptionsoptions?): V4PagePaginationArray` **get** `/accounts/{account_id}/dns_settings/views` List DNS Internal Views for an Account ### Parameters - `params: ViewListParams` - `account_id: string` Path param: Identifier. - `direction?: "asc" | "desc"` Query param: Direction to order DNS views in. - `"asc"` - `"desc"` - `match?: "any" | "all"` Query param: Whether to match all search requirements or at least one (any). If set to `all`, acts like a logical AND between filters. If set to `any`, acts like a logical OR instead. - `"any"` - `"all"` - `name?: Name` Query param - `contains?: string` Substring of the DNS view name. - `endswith?: string` Suffix of the DNS view name. - `exact?: string` Exact value of the DNS view name. - `startswith?: string` Prefix of the DNS view name. - `order?: "name" | "created_on" | "modified_on"` Query param: Field to order DNS views by. - `"name"` - `"created_on"` - `"modified_on"` - `page?: number` Query param: Page number of paginated results. - `per_page?: number` Query param: Number of DNS views per page. - `zone_id?: string` Query param: A zone ID that exists in the zones list for the view. - `zone_name?: string` Query param: A zone name that exists in the zones list for the view. ### Returns - `ViewListResponse` - `id: string` Identifier. - `created_time: string` When the view was created. - `modified_time: string` When the view was last modified. - `name: string` The name of the view. - `zones: Array` The list of zones linked to this view. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); // Automatically fetches more pages as needed. for await (const viewListResponse of client.dns.settings.account.views.list({ account_id: '023e105f4ecef8ad9ca31a8372d0c353', })) { console.log(viewListResponse.id); } ``` #### 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": [ { "id": "023e105f4ecef8ad9ca31a8372d0c353", "created_time": "2014-01-01T05:20:00.12345Z", "modified_time": "2014-01-01T05:20:00.12345Z", "name": "my view", "zones": [ "372e67954025e0ba6aaa6d586b9e0b59" ] } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 } } ``` ## DNS Internal View Details `client.dns.settings.account.views.get(stringviewId, ViewGetParamsparams, RequestOptionsoptions?): ViewGetResponse` **get** `/accounts/{account_id}/dns_settings/views/{view_id}` Get DNS Internal View ### Parameters - `viewId: string` Identifier. - `params: ViewGetParams` - `account_id: string` Identifier. ### Returns - `ViewGetResponse` - `id: string` Identifier. - `created_time: string` When the view was created. - `modified_time: string` When the view was last modified. - `name: string` The name of the view. - `zones: Array` The list of zones linked to this view. ### 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 view = await client.dns.settings.account.views.get('023e105f4ecef8ad9ca31a8372d0c353', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(view.id); ``` #### 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": { "id": "023e105f4ecef8ad9ca31a8372d0c353", "created_time": "2014-01-01T05:20:00.12345Z", "modified_time": "2014-01-01T05:20:00.12345Z", "name": "my view", "zones": [ "372e67954025e0ba6aaa6d586b9e0b59" ] } } ``` ## Create Internal DNS View `client.dns.settings.account.views.create(ViewCreateParamsparams, RequestOptionsoptions?): ViewCreateResponse` **post** `/accounts/{account_id}/dns_settings/views` Create Internal DNS View for an account ### Parameters - `params: ViewCreateParams` - `account_id: string` Path param: Identifier. - `name: string` Body param: The name of the view. - `zones: Array` Body param: The list of zones linked to this view. ### Returns - `ViewCreateResponse` - `id: string` Identifier. - `created_time: string` When the view was created. - `modified_time: string` When the view was last modified. - `name: string` The name of the view. - `zones: Array` The list of zones linked to this view. ### 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 view = await client.dns.settings.account.views.create({ account_id: '023e105f4ecef8ad9ca31a8372d0c353', name: 'my view', zones: ['372e67954025e0ba6aaa6d586b9e0b59'], }); console.log(view.id); ``` #### 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": { "id": "023e105f4ecef8ad9ca31a8372d0c353", "created_time": "2014-01-01T05:20:00.12345Z", "modified_time": "2014-01-01T05:20:00.12345Z", "name": "my view", "zones": [ "372e67954025e0ba6aaa6d586b9e0b59" ] } } ``` ## Update Internal DNS View `client.dns.settings.account.views.edit(stringviewId, ViewEditParamsparams, RequestOptionsoptions?): ViewEditResponse` **patch** `/accounts/{account_id}/dns_settings/views/{view_id}` Update an existing Internal DNS View ### Parameters - `viewId: string` Identifier. - `params: ViewEditParams` - `account_id: string` Path param: Identifier. - `name?: string` Body param: The name of the view. - `zones?: Array` Body param: The list of zones linked to this view. ### Returns - `ViewEditResponse` - `id: string` Identifier. - `created_time: string` When the view was created. - `modified_time: string` When the view was last modified. - `name: string` The name of the view. - `zones: Array` The list of zones linked to this view. ### 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.account.views.edit('023e105f4ecef8ad9ca31a8372d0c353', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(response.id); ``` #### 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": { "id": "023e105f4ecef8ad9ca31a8372d0c353", "created_time": "2014-01-01T05:20:00.12345Z", "modified_time": "2014-01-01T05:20:00.12345Z", "name": "my view", "zones": [ "372e67954025e0ba6aaa6d586b9e0b59" ] } } ``` ## Delete Internal DNS View `client.dns.settings.account.views.delete(stringviewId, ViewDeleteParamsparams, RequestOptionsoptions?): ViewDeleteResponse` **delete** `/accounts/{account_id}/dns_settings/views/{view_id}` Delete an existing Internal DNS View ### Parameters - `viewId: string` Identifier. - `params: ViewDeleteParams` - `account_id: string` Identifier. ### Returns - `ViewDeleteResponse` - `id?: string` Identifier. ### 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 view = await client.dns.settings.account.views.delete('023e105f4ecef8ad9ca31a8372d0c353', { account_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(view.id); ``` #### Response ```json { "result": { "id": "023e105f4ecef8ad9ca31a8372d0c353" } } ``` ## Domain Types ### View List Response - `ViewListResponse` - `id: string` Identifier. - `created_time: string` When the view was created. - `modified_time: string` When the view was last modified. - `name: string` The name of the view. - `zones: Array` The list of zones linked to this view. ### View Get Response - `ViewGetResponse` - `id: string` Identifier. - `created_time: string` When the view was created. - `modified_time: string` When the view was last modified. - `name: string` The name of the view. - `zones: Array` The list of zones linked to this view. ### View Create Response - `ViewCreateResponse` - `id: string` Identifier. - `created_time: string` When the view was created. - `modified_time: string` When the view was last modified. - `name: string` The name of the view. - `zones: Array` The list of zones linked to this view. ### View Edit Response - `ViewEditResponse` - `id: string` Identifier. - `created_time: string` When the view was created. - `modified_time: string` When the view was last modified. - `name: string` The name of the view. - `zones: Array` The list of zones linked to this view. ### View Delete Response - `ViewDeleteResponse` - `id?: string` Identifier. # Analytics # Reports ## Table `client.dns.analytics.reports.get(ReportGetParamsparams, RequestOptionsoptions?): Report` **get** `/zones/{zone_id}/dns_analytics/report` Retrieves a list of summarised aggregate metrics over a given time period. See [Analytics API properties](https://developers.cloudflare.com/dns/reference/analytics-api-properties/) for detailed information about the available query parameters. ### Parameters - `params: ReportGetParams` - `zone_id: string` Path param: Identifier. - `dimensions?: string` Query param: A comma-separated list of dimensions to group results by. - `filters?: string` Query param: Segmentation filter in 'attribute operator value' format. - `limit?: number` Query param: Limit number of returned metrics. - `metrics?: string` Query param: A comma-separated list of metrics to query. - `since?: string` Query param: Start date and time of requesting data period in ISO 8601 format. - `sort?: string` Query param: A comma-separated list of dimensions to sort by, where each dimension may be prefixed by - (descending) or + (ascending). - `until?: string` Query param: End date and time of requesting data period in ISO 8601 format. ### Returns - `Report` - `data: Array` Array with one row per combination of dimension values. - `dimensions: Array` Array of dimension values, representing the combination of dimension values corresponding to this row. - `metrics: Array` Array with one item per requested metric. Each item is a single value. - `data_lag: number` Number of seconds between current time and last processed event, in another words how many seconds of data could be missing. - `max: unknown` Maximum results for each metric (object mapping metric names to values). Currently always an empty object. - `min: unknown` Minimum results for each metric (object mapping metric names to values). Currently always an empty object. - `query: Query` - `dimensions: Array` Array of dimension names. - `limit: number` Limit number of returned metrics. - `metrics: Array` Array of metric names. - `since: string` Start date and time of requesting data period in ISO 8601 format. - `until: string` End date and time of requesting data period in ISO 8601 format. - `filters?: string` Segmentation filter in 'attribute operator value' format. - `sort?: Array` Array of dimensions to sort by, where each dimension may be prefixed by - (descending) or + (ascending). - `rows: number` Total number of rows in the result. - `totals: unknown` Total results for metrics across all data (object mapping metric names to values). ### 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 report = await client.dns.analytics.reports.get({ zone_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(report.data); ``` #### 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": { "data": [ { "dimensions": [ "NODATA" ], "metrics": [ 0 ] } ], "data_lag": 60, "max": {}, "min": {}, "query": { "dimensions": [ "responseCode", "queryName" ], "limit": 100, "metrics": [ "queryCount", "responseTimeAvg" ], "since": "2023-11-11T12:00:00Z", "until": "2023-11-11T13:00:00Z", "filters": "responseCode==NOERROR,queryType==A", "sort": [ "+responseCode", "-queryName" ] }, "rows": 100, "totals": {} } } ``` ## Domain Types ### Report - `Report` - `data: Array` Array with one row per combination of dimension values. - `dimensions: Array` Array of dimension values, representing the combination of dimension values corresponding to this row. - `metrics: Array` Array with one item per requested metric. Each item is a single value. - `data_lag: number` Number of seconds between current time and last processed event, in another words how many seconds of data could be missing. - `max: unknown` Maximum results for each metric (object mapping metric names to values). Currently always an empty object. - `min: unknown` Minimum results for each metric (object mapping metric names to values). Currently always an empty object. - `query: Query` - `dimensions: Array` Array of dimension names. - `limit: number` Limit number of returned metrics. - `metrics: Array` Array of metric names. - `since: string` Start date and time of requesting data period in ISO 8601 format. - `until: string` End date and time of requesting data period in ISO 8601 format. - `filters?: string` Segmentation filter in 'attribute operator value' format. - `sort?: Array` Array of dimensions to sort by, where each dimension may be prefixed by - (descending) or + (ascending). - `rows: number` Total number of rows in the result. - `totals: unknown` Total results for metrics across all data (object mapping metric names to values). # Bytimes ## By Time `client.dns.analytics.reports.bytimes.get(BytimeGetParamsparams, RequestOptionsoptions?): ByTime` **get** `/zones/{zone_id}/dns_analytics/report/bytime` Retrieves a list of aggregate metrics grouped by time interval. See [Analytics API properties](https://developers.cloudflare.com/dns/reference/analytics-api-properties/) for detailed information about the available query parameters. ### Parameters - `params: BytimeGetParams` - `zone_id: string` Path param: Identifier. - `dimensions?: string` Query param: A comma-separated list of dimensions to group results by. - `filters?: string` Query param: Segmentation filter in 'attribute operator value' format. - `limit?: number` Query param: Limit number of returned metrics. - `metrics?: string` Query param: A comma-separated list of metrics to query. - `since?: string` Query param: Start date and time of requesting data period in ISO 8601 format. - `sort?: string` Query param: A comma-separated list of dimensions to sort by, where each dimension may be prefixed by - (descending) or + (ascending). - `time_delta?: "all" | "auto" | "year" | 7 more` Query param: Unit of time to group data by. - `"all"` - `"auto"` - `"year"` - `"quarter"` - `"month"` - `"week"` - `"day"` - `"hour"` - `"dekaminute"` - `"minute"` - `until?: string` Query param: End date and time of requesting data period in ISO 8601 format. ### Returns - `ByTime` - `data: Array` Array with one row per combination of dimension values. - `dimensions: Array` Array of dimension values, representing the combination of dimension values corresponding to this row. - `metrics: Array>` Array with one item per requested metric. Each item is an array of values, broken down by time interval. - `data_lag: number` Number of seconds between current time and last processed event, in another words how many seconds of data could be missing. - `max: unknown` Maximum results for each metric (object mapping metric names to values). Currently always an empty object. - `min: unknown` Minimum results for each metric (object mapping metric names to values). Currently always an empty object. - `query: Query` - `dimensions: Array` Array of dimension names. - `limit: number` Limit number of returned metrics. - `metrics: Array` Array of metric names. - `since: string` Start date and time of requesting data period in ISO 8601 format. - `time_delta: "all" | "auto" | "year" | 7 more` Unit of time to group data by. - `"all"` - `"auto"` - `"year"` - `"quarter"` - `"month"` - `"week"` - `"day"` - `"hour"` - `"dekaminute"` - `"minute"` - `until: string` End date and time of requesting data period in ISO 8601 format. - `filters?: string` Segmentation filter in 'attribute operator value' format. - `sort?: Array` Array of dimensions to sort by, where each dimension may be prefixed by - (descending) or + (ascending). - `rows: number` Total number of rows in the result. - `time_intervals: Array>` Array of time intervals in the response data. Each interval is represented as an array containing two values: the start time, and the end time. - `totals: unknown` Total results for metrics across all data (object mapping metric names to values). ### 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 byTime = await client.dns.analytics.reports.bytimes.get({ zone_id: '023e105f4ecef8ad9ca31a8372d0c353', }); console.log(byTime.data); ``` #### 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": { "data": [ { "dimensions": [ "NODATA" ], "metrics": [ [ 0 ] ] } ], "data_lag": 60, "max": {}, "min": {}, "query": { "dimensions": [ "responseCode", "queryName" ], "limit": 100, "metrics": [ "queryCount", "responseTimeAvg" ], "since": "2023-11-11T12:00:00Z", "time_delta": "hour", "until": "2023-11-11T13:00:00Z", "filters": "responseCode==NOERROR,queryType==A", "sort": [ "+responseCode", "-queryName" ] }, "rows": 100, "time_intervals": [ [ "2023-11-11T12:00:00Z" ] ], "totals": {} } } ``` ## Domain Types ### By Time - `ByTime` - `data: Array` Array with one row per combination of dimension values. - `dimensions: Array` Array of dimension values, representing the combination of dimension values corresponding to this row. - `metrics: Array>` Array with one item per requested metric. Each item is an array of values, broken down by time interval. - `data_lag: number` Number of seconds between current time and last processed event, in another words how many seconds of data could be missing. - `max: unknown` Maximum results for each metric (object mapping metric names to values). Currently always an empty object. - `min: unknown` Minimum results for each metric (object mapping metric names to values). Currently always an empty object. - `query: Query` - `dimensions: Array` Array of dimension names. - `limit: number` Limit number of returned metrics. - `metrics: Array` Array of metric names. - `since: string` Start date and time of requesting data period in ISO 8601 format. - `time_delta: "all" | "auto" | "year" | 7 more` Unit of time to group data by. - `"all"` - `"auto"` - `"year"` - `"quarter"` - `"month"` - `"week"` - `"day"` - `"hour"` - `"dekaminute"` - `"minute"` - `until: string` End date and time of requesting data period in ISO 8601 format. - `filters?: string` Segmentation filter in 'attribute operator value' format. - `sort?: Array` Array of dimensions to sort by, where each dimension may be prefixed by - (descending) or + (ascending). - `rows: number` Total number of rows in the result. - `time_intervals: Array>` Array of time intervals in the response data. Each interval is represented as an array containing two values: the start time, and the end time. - `totals: unknown` Total results for metrics across all data (object mapping metric names to values). # Zone Transfers # Force AXFR ## Force AXFR `client.dns.zoneTransfers.forceAXFR.create(ForceAXFRCreateParamsparams, RequestOptionsoptions?): ForceAXFR` **post** `/zones/{zone_id}/secondary_dns/force_axfr` Sends AXFR zone transfer request to primary nameserver(s). ### Parameters - `params: ForceAXFRCreateParams` - `zone_id: string` Path param - `body: unknown` Body param ### Returns - `ForceAXFR = string` When force_axfr query parameter is set to true, the response is a simple string. ### 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 forceAXFR = await client.dns.zoneTransfers.forceAXFR.create({ zone_id: '269d8f4853475ca241c4e730be286b20', body: {}, }); console.log(forceAXFR); ``` #### 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": "OK" } ``` ## Domain Types ### Force AXFR - `ForceAXFR = string` When force_axfr query parameter is set to true, the response is a simple string. # Incoming ## Secondary Zone Configuration Details `client.dns.zoneTransfers.incoming.get(IncomingGetParamsparams, RequestOptionsoptions?): IncomingGetResponse` **get** `/zones/{zone_id}/secondary_dns/incoming` Get secondary zone configuration for incoming zone transfers. ### Parameters - `params: IncomingGetParams` - `zone_id: string` ### Returns - `IncomingGetResponse` - `id?: string` - `auto_refresh_seconds?: number` How often should a secondary zone auto refresh regardless of DNS NOTIFY. Not applicable for primary zones. - `checked_time?: string` The time for a specific event. - `created_time?: string` The time for a specific event. - `modified_time?: string` The time for a specific event. - `name?: string` Zone name. - `peers?: Array` A list of peer tags. - `soa_serial?: number` The serial number of the SOA for the given zone. ### 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 incoming = await client.dns.zoneTransfers.incoming.get({ zone_id: '269d8f4853475ca241c4e730be286b20', }); console.log(incoming.id); ``` #### 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": { "id": "269d8f4853475ca241c4e730be286b20", "auto_refresh_seconds": 86400, "checked_time": "2019-10-24T17:09:42.883908+01:00", "created_time": "2019-10-24T17:09:42.883908+01:00", "modified_time": "2019-10-24T17:09:42.883908+01:00", "name": "www.example.com.", "peers": [ "23ff594956f20c2a721606e94745a8aa", "00920f38ce07c2e2f4df50b1f61d4194" ], "soa_serial": 2019102400 } } ``` ## Create Secondary Zone Configuration `client.dns.zoneTransfers.incoming.create(IncomingCreateParamsparams, RequestOptionsoptions?): IncomingCreateResponse` **post** `/zones/{zone_id}/secondary_dns/incoming` Create secondary zone configuration for incoming zone transfers. ### Parameters - `params: IncomingCreateParams` - `zone_id: string` Path param - `auto_refresh_seconds: number` Body param: How often should a secondary zone auto refresh regardless of DNS NOTIFY. Not applicable for primary zones. - `name: string` Body param: Zone name. - `peers: Array` Body param: A list of peer tags. ### Returns - `IncomingCreateResponse` - `id?: string` - `auto_refresh_seconds?: number` How often should a secondary zone auto refresh regardless of DNS NOTIFY. Not applicable for primary zones. - `checked_time?: string` The time for a specific event. - `created_time?: string` The time for a specific event. - `modified_time?: string` The time for a specific event. - `name?: string` Zone name. - `peers?: Array` A list of peer tags. - `soa_serial?: number` The serial number of the SOA for the given zone. ### 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 incoming = await client.dns.zoneTransfers.incoming.create({ zone_id: '269d8f4853475ca241c4e730be286b20', auto_refresh_seconds: 86400, name: 'www.example.com.', peers: ['23ff594956f20c2a721606e94745a8aa', '00920f38ce07c2e2f4df50b1f61d4194'], }); console.log(incoming.id); ``` #### 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": { "id": "269d8f4853475ca241c4e730be286b20", "auto_refresh_seconds": 86400, "checked_time": "2019-10-24T17:09:42.883908+01:00", "created_time": "2019-10-24T17:09:42.883908+01:00", "modified_time": "2019-10-24T17:09:42.883908+01:00", "name": "www.example.com.", "peers": [ "23ff594956f20c2a721606e94745a8aa", "00920f38ce07c2e2f4df50b1f61d4194" ], "soa_serial": 2019102400 } } ``` ## Update Secondary Zone Configuration `client.dns.zoneTransfers.incoming.update(IncomingUpdateParamsparams, RequestOptionsoptions?): IncomingUpdateResponse` **put** `/zones/{zone_id}/secondary_dns/incoming` Update secondary zone configuration for incoming zone transfers. ### Parameters - `params: IncomingUpdateParams` - `zone_id: string` Path param - `auto_refresh_seconds: number` Body param: How often should a secondary zone auto refresh regardless of DNS NOTIFY. Not applicable for primary zones. - `name: string` Body param: Zone name. - `peers: Array` Body param: A list of peer tags. ### Returns - `IncomingUpdateResponse` - `id?: string` - `auto_refresh_seconds?: number` How often should a secondary zone auto refresh regardless of DNS NOTIFY. Not applicable for primary zones. - `checked_time?: string` The time for a specific event. - `created_time?: string` The time for a specific event. - `modified_time?: string` The time for a specific event. - `name?: string` Zone name. - `peers?: Array` A list of peer tags. - `soa_serial?: number` The serial number of the SOA for the given zone. ### 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 incoming = await client.dns.zoneTransfers.incoming.update({ zone_id: '269d8f4853475ca241c4e730be286b20', auto_refresh_seconds: 86400, name: 'www.example.com.', peers: ['23ff594956f20c2a721606e94745a8aa', '00920f38ce07c2e2f4df50b1f61d4194'], }); console.log(incoming.id); ``` #### 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": { "id": "269d8f4853475ca241c4e730be286b20", "auto_refresh_seconds": 86400, "checked_time": "2019-10-24T17:09:42.883908+01:00", "created_time": "2019-10-24T17:09:42.883908+01:00", "modified_time": "2019-10-24T17:09:42.883908+01:00", "name": "www.example.com.", "peers": [ "23ff594956f20c2a721606e94745a8aa", "00920f38ce07c2e2f4df50b1f61d4194" ], "soa_serial": 2019102400 } } ``` ## Delete Secondary Zone Configuration `client.dns.zoneTransfers.incoming.delete(IncomingDeleteParamsparams, RequestOptionsoptions?): IncomingDeleteResponse` **delete** `/zones/{zone_id}/secondary_dns/incoming` Delete secondary zone configuration for incoming zone transfers. ### Parameters - `params: IncomingDeleteParams` - `zone_id: string` ### Returns - `IncomingDeleteResponse` - `id?: string` ### 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 incoming = await client.dns.zoneTransfers.incoming.delete({ zone_id: '269d8f4853475ca241c4e730be286b20', }); console.log(incoming.id); ``` #### 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": { "id": "269d8f4853475ca241c4e730be286b20" } } ``` ## Domain Types ### Incoming - `Incoming` - `id?: string` - `auto_refresh_seconds?: number` How often should a secondary zone auto refresh regardless of DNS NOTIFY. Not applicable for primary zones. - `checked_time?: string` The time for a specific event. - `created_time?: string` The time for a specific event. - `modified_time?: string` The time for a specific event. - `name?: string` Zone name. - `peers?: Array` A list of peer tags. - `soa_serial?: number` The serial number of the SOA for the given zone. ### Incoming Get Response - `IncomingGetResponse` - `id?: string` - `auto_refresh_seconds?: number` How often should a secondary zone auto refresh regardless of DNS NOTIFY. Not applicable for primary zones. - `checked_time?: string` The time for a specific event. - `created_time?: string` The time for a specific event. - `modified_time?: string` The time for a specific event. - `name?: string` Zone name. - `peers?: Array` A list of peer tags. - `soa_serial?: number` The serial number of the SOA for the given zone. ### Incoming Create Response - `IncomingCreateResponse` - `id?: string` - `auto_refresh_seconds?: number` How often should a secondary zone auto refresh regardless of DNS NOTIFY. Not applicable for primary zones. - `checked_time?: string` The time for a specific event. - `created_time?: string` The time for a specific event. - `modified_time?: string` The time for a specific event. - `name?: string` Zone name. - `peers?: Array` A list of peer tags. - `soa_serial?: number` The serial number of the SOA for the given zone. ### Incoming Update Response - `IncomingUpdateResponse` - `id?: string` - `auto_refresh_seconds?: number` How often should a secondary zone auto refresh regardless of DNS NOTIFY. Not applicable for primary zones. - `checked_time?: string` The time for a specific event. - `created_time?: string` The time for a specific event. - `modified_time?: string` The time for a specific event. - `name?: string` Zone name. - `peers?: Array` A list of peer tags. - `soa_serial?: number` The serial number of the SOA for the given zone. ### Incoming Delete Response - `IncomingDeleteResponse` - `id?: string` # Outgoing ## Primary Zone Configuration Details `client.dns.zoneTransfers.outgoing.get(OutgoingGetParamsparams, RequestOptionsoptions?): OutgoingGetResponse` **get** `/zones/{zone_id}/secondary_dns/outgoing` Get primary zone configuration for outgoing zone transfers. ### Parameters - `params: OutgoingGetParams` - `zone_id: string` ### Returns - `OutgoingGetResponse` - `id?: string` - `checked_time?: string` The time for a specific event. - `created_time?: string` The time for a specific event. - `last_transferred_time?: string` The time for a specific event. - `name?: string` Zone name. - `peers?: Array` A list of peer tags. - `soa_serial?: number` The serial number of the SOA for the given zone. ### 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 outgoing = await client.dns.zoneTransfers.outgoing.get({ zone_id: '269d8f4853475ca241c4e730be286b20', }); console.log(outgoing.id); ``` #### 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": { "id": "269d8f4853475ca241c4e730be286b20", "checked_time": "2019-10-24T17:09:42.883908+01:00", "created_time": "2019-10-24T17:09:42.883908+01:00", "last_transferred_time": "2019-10-24T17:09:42.883908+01:00", "name": "www.example.com.", "peers": [ "23ff594956f20c2a721606e94745a8aa", "00920f38ce07c2e2f4df50b1f61d4194" ], "soa_serial": 2019102400 } } ``` ## Create Primary Zone Configuration `client.dns.zoneTransfers.outgoing.create(OutgoingCreateParamsparams, RequestOptionsoptions?): OutgoingCreateResponse` **post** `/zones/{zone_id}/secondary_dns/outgoing` Create primary zone configuration for outgoing zone transfers. ### Parameters - `params: OutgoingCreateParams` - `zone_id: string` Path param - `name: string` Body param: Zone name. - `peers: Array` Body param: A list of peer tags. ### Returns - `OutgoingCreateResponse` - `id?: string` - `checked_time?: string` The time for a specific event. - `created_time?: string` The time for a specific event. - `last_transferred_time?: string` The time for a specific event. - `name?: string` Zone name. - `peers?: Array` A list of peer tags. - `soa_serial?: number` The serial number of the SOA for the given zone. ### 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 outgoing = await client.dns.zoneTransfers.outgoing.create({ zone_id: '269d8f4853475ca241c4e730be286b20', name: 'www.example.com.', peers: ['23ff594956f20c2a721606e94745a8aa', '00920f38ce07c2e2f4df50b1f61d4194'], }); console.log(outgoing.id); ``` #### 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": { "id": "269d8f4853475ca241c4e730be286b20", "checked_time": "2019-10-24T17:09:42.883908+01:00", "created_time": "2019-10-24T17:09:42.883908+01:00", "last_transferred_time": "2019-10-24T17:09:42.883908+01:00", "name": "www.example.com.", "peers": [ "23ff594956f20c2a721606e94745a8aa", "00920f38ce07c2e2f4df50b1f61d4194" ], "soa_serial": 2019102400 } } ``` ## Update Primary Zone Configuration `client.dns.zoneTransfers.outgoing.update(OutgoingUpdateParamsparams, RequestOptionsoptions?): OutgoingUpdateResponse` **put** `/zones/{zone_id}/secondary_dns/outgoing` Update primary zone configuration for outgoing zone transfers. ### Parameters - `params: OutgoingUpdateParams` - `zone_id: string` Path param - `name: string` Body param: Zone name. - `peers: Array` Body param: A list of peer tags. ### Returns - `OutgoingUpdateResponse` - `id?: string` - `checked_time?: string` The time for a specific event. - `created_time?: string` The time for a specific event. - `last_transferred_time?: string` The time for a specific event. - `name?: string` Zone name. - `peers?: Array` A list of peer tags. - `soa_serial?: number` The serial number of the SOA for the given zone. ### 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 outgoing = await client.dns.zoneTransfers.outgoing.update({ zone_id: '269d8f4853475ca241c4e730be286b20', name: 'www.example.com.', peers: ['23ff594956f20c2a721606e94745a8aa', '00920f38ce07c2e2f4df50b1f61d4194'], }); console.log(outgoing.id); ``` #### 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": { "id": "269d8f4853475ca241c4e730be286b20", "checked_time": "2019-10-24T17:09:42.883908+01:00", "created_time": "2019-10-24T17:09:42.883908+01:00", "last_transferred_time": "2019-10-24T17:09:42.883908+01:00", "name": "www.example.com.", "peers": [ "23ff594956f20c2a721606e94745a8aa", "00920f38ce07c2e2f4df50b1f61d4194" ], "soa_serial": 2019102400 } } ``` ## Delete Primary Zone Configuration `client.dns.zoneTransfers.outgoing.delete(OutgoingDeleteParamsparams, RequestOptionsoptions?): OutgoingDeleteResponse` **delete** `/zones/{zone_id}/secondary_dns/outgoing` Delete primary zone configuration for outgoing zone transfers. ### Parameters - `params: OutgoingDeleteParams` - `zone_id: string` ### Returns - `OutgoingDeleteResponse` - `id?: string` ### 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 outgoing = await client.dns.zoneTransfers.outgoing.delete({ zone_id: '269d8f4853475ca241c4e730be286b20', }); console.log(outgoing.id); ``` #### 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": { "id": "269d8f4853475ca241c4e730be286b20" } } ``` ## Disable Outgoing Zone Transfers `client.dns.zoneTransfers.outgoing.disable(OutgoingDisableParamsparams, RequestOptionsoptions?): DisableTransfer` **post** `/zones/{zone_id}/secondary_dns/outgoing/disable` Disable outgoing zone transfers for primary zone and clears IXFR backlog of primary zone. ### Parameters - `params: OutgoingDisableParams` - `zone_id: string` Path param - `body: unknown` Body param ### Returns - `DisableTransfer = string` The zone transfer status of a primary zone. ### 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 disableTransfer = await client.dns.zoneTransfers.outgoing.disable({ zone_id: '269d8f4853475ca241c4e730be286b20', body: {}, }); console.log(disableTransfer); ``` #### 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": "Disabled" } ``` ## Enable Outgoing Zone Transfers `client.dns.zoneTransfers.outgoing.enable(OutgoingEnableParamsparams, RequestOptionsoptions?): EnableTransfer` **post** `/zones/{zone_id}/secondary_dns/outgoing/enable` Enable outgoing zone transfers for primary zone. ### Parameters - `params: OutgoingEnableParams` - `zone_id: string` Path param - `body: unknown` Body param ### Returns - `EnableTransfer = string` The zone transfer status of a primary zone. ### 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 enableTransfer = await client.dns.zoneTransfers.outgoing.enable({ zone_id: '269d8f4853475ca241c4e730be286b20', body: {}, }); console.log(enableTransfer); ``` #### 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": "Enabled" } ``` ## Force DNS NOTIFY `client.dns.zoneTransfers.outgoing.forceNotify(OutgoingForceNotifyParamsparams, RequestOptionsoptions?): OutgoingForceNotifyResponse` **post** `/zones/{zone_id}/secondary_dns/outgoing/force_notify` Notifies the secondary nameserver(s) and clears IXFR backlog of primary zone. ### Parameters - `params: OutgoingForceNotifyParams` - `zone_id: string` Path param - `body: unknown` Body param ### Returns - `OutgoingForceNotifyResponse = string` When force_notify query parameter is set to true, the response is a simple string. ### 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.zoneTransfers.outgoing.forceNotify({ zone_id: '269d8f4853475ca241c4e730be286b20', body: {}, }); console.log(response); ``` #### 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": "OK" } ``` ## Domain Types ### Disable Transfer - `DisableTransfer = string` The zone transfer status of a primary zone. ### Enable Transfer - `EnableTransfer = string` The zone transfer status of a primary zone. ### Outgoing - `Outgoing` - `id?: string` - `checked_time?: string` The time for a specific event. - `created_time?: string` The time for a specific event. - `last_transferred_time?: string` The time for a specific event. - `name?: string` Zone name. - `peers?: Array` A list of peer tags. - `soa_serial?: number` The serial number of the SOA for the given zone. ### Outgoing Status - `OutgoingStatus = string | null` The zone transfer status of a primary zone. ### Outgoing Get Response - `OutgoingGetResponse` - `id?: string` - `checked_time?: string` The time for a specific event. - `created_time?: string` The time for a specific event. - `last_transferred_time?: string` The time for a specific event. - `name?: string` Zone name. - `peers?: Array` A list of peer tags. - `soa_serial?: number` The serial number of the SOA for the given zone. ### Outgoing Create Response - `OutgoingCreateResponse` - `id?: string` - `checked_time?: string` The time for a specific event. - `created_time?: string` The time for a specific event. - `last_transferred_time?: string` The time for a specific event. - `name?: string` Zone name. - `peers?: Array` A list of peer tags. - `soa_serial?: number` The serial number of the SOA for the given zone. ### Outgoing Update Response - `OutgoingUpdateResponse` - `id?: string` - `checked_time?: string` The time for a specific event. - `created_time?: string` The time for a specific event. - `last_transferred_time?: string` The time for a specific event. - `name?: string` Zone name. - `peers?: Array` A list of peer tags. - `soa_serial?: number` The serial number of the SOA for the given zone. ### Outgoing Delete Response - `OutgoingDeleteResponse` - `id?: string` ### Outgoing Force Notify Response - `OutgoingForceNotifyResponse = string` When force_notify query parameter is set to true, the response is a simple string. # Status ## Get Outgoing Zone Transfer Status `client.dns.zoneTransfers.outgoing.status.get(StatusGetParamsparams, RequestOptionsoptions?): EnableTransfer` **get** `/zones/{zone_id}/secondary_dns/outgoing/status` Get primary zone transfer status. ### Parameters - `params: StatusGetParams` - `zone_id: string` ### Returns - `EnableTransfer = string` The zone transfer status of a primary zone. ### 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 enableTransfer = await client.dns.zoneTransfers.outgoing.status.get({ zone_id: '269d8f4853475ca241c4e730be286b20', }); console.log(enableTransfer); ``` #### 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": "Enabled" } ``` # ACLs ## List ACLs `client.dns.zoneTransfers.acls.list(ACLListParamsparams, RequestOptionsoptions?): SinglePage` **get** `/accounts/{account_id}/secondary_dns/acls` List ACLs. ### Parameters - `params: ACLListParams` - `account_id: string` ### Returns - `ACL` - `id: string` - `ip_range: string` Allowed IPv4/IPv6 address range of primary or secondary nameservers. This will be applied for the entire account. The IP range is used to allow additional NOTIFY IPs for secondary zones and IPs Cloudflare allows AXFR/IXFR requests from for primary zones. CIDRs are limited to a maximum of /24 for IPv4 and /64 for IPv6 respectively. - `name: string` The name of the acl. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); // Automatically fetches more pages as needed. for await (const acl of client.dns.zoneTransfers.acls.list({ account_id: '01a7362d577a6c3019a474fd6f485823', })) { console.log(acl.id); } ``` #### 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": [ { "id": "23ff594956f20c2a721606e94745a8aa", "ip_range": "192.0.2.53/28", "name": "my-acl-1" } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 } } ``` ## ACL Details `client.dns.zoneTransfers.acls.get(stringaclId, ACLGetParamsparams, RequestOptionsoptions?): ACL` **get** `/accounts/{account_id}/secondary_dns/acls/{acl_id}` Get ACL. ### Parameters - `aclId: string` - `params: ACLGetParams` - `account_id: string` ### Returns - `ACL` - `id: string` - `ip_range: string` Allowed IPv4/IPv6 address range of primary or secondary nameservers. This will be applied for the entire account. The IP range is used to allow additional NOTIFY IPs for secondary zones and IPs Cloudflare allows AXFR/IXFR requests from for primary zones. CIDRs are limited to a maximum of /24 for IPv4 and /64 for IPv6 respectively. - `name: string` The name of the acl. ### 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 acl = await client.dns.zoneTransfers.acls.get('23ff594956f20c2a721606e94745a8aa', { account_id: '01a7362d577a6c3019a474fd6f485823', }); console.log(acl.id); ``` #### 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": { "id": "23ff594956f20c2a721606e94745a8aa", "ip_range": "192.0.2.53/28", "name": "my-acl-1" } } ``` ## Create ACL `client.dns.zoneTransfers.acls.create(ACLCreateParamsparams, RequestOptionsoptions?): ACL` **post** `/accounts/{account_id}/secondary_dns/acls` Create ACL. ### Parameters - `params: ACLCreateParams` - `account_id: string` Path param - `ip_range: string` Body param: Allowed IPv4/IPv6 address range of primary or secondary nameservers. This will be applied for the entire account. The IP range is used to allow additional NOTIFY IPs for secondary zones and IPs Cloudflare allows AXFR/IXFR requests from for primary zones. CIDRs are limited to a maximum of /24 for IPv4 and /64 for IPv6 respectively. - `name: string` Body param: The name of the acl. ### Returns - `ACL` - `id: string` - `ip_range: string` Allowed IPv4/IPv6 address range of primary or secondary nameservers. This will be applied for the entire account. The IP range is used to allow additional NOTIFY IPs for secondary zones and IPs Cloudflare allows AXFR/IXFR requests from for primary zones. CIDRs are limited to a maximum of /24 for IPv4 and /64 for IPv6 respectively. - `name: string` The name of the acl. ### 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 acl = await client.dns.zoneTransfers.acls.create({ account_id: '01a7362d577a6c3019a474fd6f485823', ip_range: '192.0.2.53/28', name: 'my-acl-1', }); console.log(acl.id); ``` #### 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": { "id": "23ff594956f20c2a721606e94745a8aa", "ip_range": "192.0.2.53/28", "name": "my-acl-1" } } ``` ## Update ACL `client.dns.zoneTransfers.acls.update(stringaclId, ACLUpdateParamsparams, RequestOptionsoptions?): ACL` **put** `/accounts/{account_id}/secondary_dns/acls/{acl_id}` Modify ACL. ### Parameters - `aclId: string` - `params: ACLUpdateParams` - `account_id: string` Path param - `ip_range: string` Body param: Allowed IPv4/IPv6 address range of primary or secondary nameservers. This will be applied for the entire account. The IP range is used to allow additional NOTIFY IPs for secondary zones and IPs Cloudflare allows AXFR/IXFR requests from for primary zones. CIDRs are limited to a maximum of /24 for IPv4 and /64 for IPv6 respectively. - `name: string` Body param: The name of the acl. ### Returns - `ACL` - `id: string` - `ip_range: string` Allowed IPv4/IPv6 address range of primary or secondary nameservers. This will be applied for the entire account. The IP range is used to allow additional NOTIFY IPs for secondary zones and IPs Cloudflare allows AXFR/IXFR requests from for primary zones. CIDRs are limited to a maximum of /24 for IPv4 and /64 for IPv6 respectively. - `name: string` The name of the acl. ### 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 acl = await client.dns.zoneTransfers.acls.update('23ff594956f20c2a721606e94745a8aa', { account_id: '01a7362d577a6c3019a474fd6f485823', ip_range: '192.0.2.53/28', name: 'my-acl-1', }); console.log(acl.id); ``` #### 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": { "id": "23ff594956f20c2a721606e94745a8aa", "ip_range": "192.0.2.53/28", "name": "my-acl-1" } } ``` ## Delete ACL `client.dns.zoneTransfers.acls.delete(stringaclId, ACLDeleteParamsparams, RequestOptionsoptions?): ACLDeleteResponse` **delete** `/accounts/{account_id}/secondary_dns/acls/{acl_id}` Delete ACL. ### Parameters - `aclId: string` - `params: ACLDeleteParams` - `account_id: string` ### Returns - `ACLDeleteResponse` - `id?: string` ### 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 acl = await client.dns.zoneTransfers.acls.delete('23ff594956f20c2a721606e94745a8aa', { account_id: '01a7362d577a6c3019a474fd6f485823', }); console.log(acl.id); ``` #### 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": { "id": "23ff594956f20c2a721606e94745a8aa" } } ``` ## Domain Types ### ACL - `ACL` - `id: string` - `ip_range: string` Allowed IPv4/IPv6 address range of primary or secondary nameservers. This will be applied for the entire account. The IP range is used to allow additional NOTIFY IPs for secondary zones and IPs Cloudflare allows AXFR/IXFR requests from for primary zones. CIDRs are limited to a maximum of /24 for IPv4 and /64 for IPv6 respectively. - `name: string` The name of the acl. ### ACL Delete Response - `ACLDeleteResponse` - `id?: string` # Peers ## List Peers `client.dns.zoneTransfers.peers.list(PeerListParamsparams, RequestOptionsoptions?): SinglePage` **get** `/accounts/{account_id}/secondary_dns/peers` List Peers. ### Parameters - `params: PeerListParams` - `account_id: string` ### Returns - `Peer` - `id: string` - `name: string` The name of the peer. - `ip?: string` IPv4/IPv6 address of primary or secondary nameserver, depending on what zone this peer is linked to. For primary zones this IP defines the IP of the secondary nameserver Cloudflare will NOTIFY upon zone changes. For secondary zones this IP defines the IP of the primary nameserver Cloudflare will send AXFR/IXFR requests to. - `ixfr_enable?: boolean` Enable IXFR transfer protocol, default is AXFR. Only applicable to secondary zones. - `port?: number` DNS port of primary or secondary nameserver, depending on what zone this peer is linked to. - `tsig_id?: string` TSIG authentication will be used for zone transfer if configured. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); // Automatically fetches more pages as needed. for await (const peer of client.dns.zoneTransfers.peers.list({ account_id: '01a7362d577a6c3019a474fd6f485823', })) { console.log(peer.id); } ``` #### 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": [ { "id": "23ff594956f20c2a721606e94745a8aa", "name": "my-peer-1", "ip": "192.0.2.53", "ixfr_enable": false, "port": 53, "tsig_id": "69cd1e104af3e6ed3cb344f263fd0d5a" } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 } } ``` ## Peer Details `client.dns.zoneTransfers.peers.get(stringpeerId, PeerGetParamsparams, RequestOptionsoptions?): Peer` **get** `/accounts/{account_id}/secondary_dns/peers/{peer_id}` Get Peer. ### Parameters - `peerId: string` - `params: PeerGetParams` - `account_id: string` ### Returns - `Peer` - `id: string` - `name: string` The name of the peer. - `ip?: string` IPv4/IPv6 address of primary or secondary nameserver, depending on what zone this peer is linked to. For primary zones this IP defines the IP of the secondary nameserver Cloudflare will NOTIFY upon zone changes. For secondary zones this IP defines the IP of the primary nameserver Cloudflare will send AXFR/IXFR requests to. - `ixfr_enable?: boolean` Enable IXFR transfer protocol, default is AXFR. Only applicable to secondary zones. - `port?: number` DNS port of primary or secondary nameserver, depending on what zone this peer is linked to. - `tsig_id?: string` TSIG authentication will be used for zone transfer if configured. ### 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 peer = await client.dns.zoneTransfers.peers.get('23ff594956f20c2a721606e94745a8aa', { account_id: '01a7362d577a6c3019a474fd6f485823', }); console.log(peer.id); ``` #### 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": { "id": "23ff594956f20c2a721606e94745a8aa", "name": "my-peer-1", "ip": "192.0.2.53", "ixfr_enable": false, "port": 53, "tsig_id": "69cd1e104af3e6ed3cb344f263fd0d5a" } } ``` ## Create Peer `client.dns.zoneTransfers.peers.create(PeerCreateParamsparams, RequestOptionsoptions?): Peer` **post** `/accounts/{account_id}/secondary_dns/peers` Create Peer. ### Parameters - `params: PeerCreateParams` - `account_id: string` Path param - `name: string` Body param: The name of the peer. ### Returns - `Peer` - `id: string` - `name: string` The name of the peer. - `ip?: string` IPv4/IPv6 address of primary or secondary nameserver, depending on what zone this peer is linked to. For primary zones this IP defines the IP of the secondary nameserver Cloudflare will NOTIFY upon zone changes. For secondary zones this IP defines the IP of the primary nameserver Cloudflare will send AXFR/IXFR requests to. - `ixfr_enable?: boolean` Enable IXFR transfer protocol, default is AXFR. Only applicable to secondary zones. - `port?: number` DNS port of primary or secondary nameserver, depending on what zone this peer is linked to. - `tsig_id?: string` TSIG authentication will be used for zone transfer if configured. ### 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 peer = await client.dns.zoneTransfers.peers.create({ account_id: '01a7362d577a6c3019a474fd6f485823', name: 'my-peer-1', }); console.log(peer.id); ``` #### 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": { "id": "23ff594956f20c2a721606e94745a8aa", "name": "my-peer-1", "ip": "192.0.2.53", "ixfr_enable": false, "port": 53, "tsig_id": "69cd1e104af3e6ed3cb344f263fd0d5a" } } ``` ## Update Peer `client.dns.zoneTransfers.peers.update(stringpeerId, PeerUpdateParamsparams, RequestOptionsoptions?): Peer` **put** `/accounts/{account_id}/secondary_dns/peers/{peer_id}` Modify Peer. ### Parameters - `peerId: string` - `params: PeerUpdateParams` - `account_id: string` Path param - `name: string` Body param: The name of the peer. - `ip?: string` Body param: IPv4/IPv6 address of primary or secondary nameserver, depending on what zone this peer is linked to. For primary zones this IP defines the IP of the secondary nameserver Cloudflare will NOTIFY upon zone changes. For secondary zones this IP defines the IP of the primary nameserver Cloudflare will send AXFR/IXFR requests to. - `ixfr_enable?: boolean` Body param: Enable IXFR transfer protocol, default is AXFR. Only applicable to secondary zones. - `port?: number` Body param: DNS port of primary or secondary nameserver, depending on what zone this peer is linked to. - `tsig_id?: string` Body param: TSIG authentication will be used for zone transfer if configured. ### Returns - `Peer` - `id: string` - `name: string` The name of the peer. - `ip?: string` IPv4/IPv6 address of primary or secondary nameserver, depending on what zone this peer is linked to. For primary zones this IP defines the IP of the secondary nameserver Cloudflare will NOTIFY upon zone changes. For secondary zones this IP defines the IP of the primary nameserver Cloudflare will send AXFR/IXFR requests to. - `ixfr_enable?: boolean` Enable IXFR transfer protocol, default is AXFR. Only applicable to secondary zones. - `port?: number` DNS port of primary or secondary nameserver, depending on what zone this peer is linked to. - `tsig_id?: string` TSIG authentication will be used for zone transfer if configured. ### 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 peer = await client.dns.zoneTransfers.peers.update('23ff594956f20c2a721606e94745a8aa', { account_id: '01a7362d577a6c3019a474fd6f485823', name: 'my-peer-1', }); console.log(peer.id); ``` #### 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": { "id": "23ff594956f20c2a721606e94745a8aa", "name": "my-peer-1", "ip": "192.0.2.53", "ixfr_enable": false, "port": 53, "tsig_id": "69cd1e104af3e6ed3cb344f263fd0d5a" } } ``` ## Delete Peer `client.dns.zoneTransfers.peers.delete(stringpeerId, PeerDeleteParamsparams, RequestOptionsoptions?): PeerDeleteResponse` **delete** `/accounts/{account_id}/secondary_dns/peers/{peer_id}` Delete Peer. ### Parameters - `peerId: string` - `params: PeerDeleteParams` - `account_id: string` ### Returns - `PeerDeleteResponse` - `id?: string` ### 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 peer = await client.dns.zoneTransfers.peers.delete('23ff594956f20c2a721606e94745a8aa', { account_id: '01a7362d577a6c3019a474fd6f485823', }); console.log(peer.id); ``` #### 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": { "id": "23ff594956f20c2a721606e94745a8aa" } } ``` ## Domain Types ### Peer - `Peer` - `id: string` - `name: string` The name of the peer. - `ip?: string` IPv4/IPv6 address of primary or secondary nameserver, depending on what zone this peer is linked to. For primary zones this IP defines the IP of the secondary nameserver Cloudflare will NOTIFY upon zone changes. For secondary zones this IP defines the IP of the primary nameserver Cloudflare will send AXFR/IXFR requests to. - `ixfr_enable?: boolean` Enable IXFR transfer protocol, default is AXFR. Only applicable to secondary zones. - `port?: number` DNS port of primary or secondary nameserver, depending on what zone this peer is linked to. - `tsig_id?: string` TSIG authentication will be used for zone transfer if configured. ### Peer Delete Response - `PeerDeleteResponse` - `id?: string` # TSIGs ## List TSIGs `client.dns.zoneTransfers.tsigs.list(TSIGListParamsparams, RequestOptionsoptions?): SinglePage` **get** `/accounts/{account_id}/secondary_dns/tsigs` List TSIGs. ### Parameters - `params: TSIGListParams` - `account_id: string` ### Returns - `TSIG` - `id: string` - `algo: string` TSIG algorithm. - `name: string` TSIG key name. - `secret: string` TSIG secret. ### Example ```node import Cloudflare from 'cloudflare'; const client = new Cloudflare({ apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted }); // Automatically fetches more pages as needed. for await (const tsig of client.dns.zoneTransfers.tsigs.list({ account_id: '01a7362d577a6c3019a474fd6f485823', })) { console.log(tsig.id); } ``` #### 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": [ { "id": "69cd1e104af3e6ed3cb344f263fd0d5a", "algo": "hmac-sha512.", "name": "tsig.customer.cf.", "secret": "caf79a7804b04337c9c66ccd7bef9190a1e1679b5dd03d8aa10f7ad45e1a9dab92b417896c15d4d007c7c14194538d2a5d0feffdecc5a7f0e1c570cfa700837c" } ], "result_info": { "count": 1, "page": 1, "per_page": 20, "total_count": 2000, "total_pages": 100 } } ``` ## TSIG Details `client.dns.zoneTransfers.tsigs.get(stringtsigId, TSIGGetParamsparams, RequestOptionsoptions?): TSIG` **get** `/accounts/{account_id}/secondary_dns/tsigs/{tsig_id}` Get TSIG. ### Parameters - `tsigId: string` - `params: TSIGGetParams` - `account_id: string` ### Returns - `TSIG` - `id: string` - `algo: string` TSIG algorithm. - `name: string` TSIG key name. - `secret: string` TSIG secret. ### 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 tsig = await client.dns.zoneTransfers.tsigs.get('69cd1e104af3e6ed3cb344f263fd0d5a', { account_id: '01a7362d577a6c3019a474fd6f485823', }); console.log(tsig.id); ``` #### 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": { "id": "69cd1e104af3e6ed3cb344f263fd0d5a", "algo": "hmac-sha512.", "name": "tsig.customer.cf.", "secret": "caf79a7804b04337c9c66ccd7bef9190a1e1679b5dd03d8aa10f7ad45e1a9dab92b417896c15d4d007c7c14194538d2a5d0feffdecc5a7f0e1c570cfa700837c" } } ``` ## Create TSIG `client.dns.zoneTransfers.tsigs.create(TSIGCreateParamsparams, RequestOptionsoptions?): TSIG` **post** `/accounts/{account_id}/secondary_dns/tsigs` Create TSIG. ### Parameters - `params: TSIGCreateParams` - `account_id: string` Path param - `algo: string` Body param: TSIG algorithm. - `name: string` Body param: TSIG key name. - `secret: string` Body param: TSIG secret. ### Returns - `TSIG` - `id: string` - `algo: string` TSIG algorithm. - `name: string` TSIG key name. - `secret: string` TSIG secret. ### 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 tsig = await client.dns.zoneTransfers.tsigs.create({ account_id: '01a7362d577a6c3019a474fd6f485823', algo: 'hmac-sha512.', name: 'tsig.customer.cf.', secret: 'caf79a7804b04337c9c66ccd7bef9190a1e1679b5dd03d8aa10f7ad45e1a9dab92b417896c15d4d007c7c14194538d2a5d0feffdecc5a7f0e1c570cfa700837c', }); console.log(tsig.id); ``` #### 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": { "id": "69cd1e104af3e6ed3cb344f263fd0d5a", "algo": "hmac-sha512.", "name": "tsig.customer.cf.", "secret": "caf79a7804b04337c9c66ccd7bef9190a1e1679b5dd03d8aa10f7ad45e1a9dab92b417896c15d4d007c7c14194538d2a5d0feffdecc5a7f0e1c570cfa700837c" } } ``` ## Update TSIG `client.dns.zoneTransfers.tsigs.update(stringtsigId, TSIGUpdateParamsparams, RequestOptionsoptions?): TSIG` **put** `/accounts/{account_id}/secondary_dns/tsigs/{tsig_id}` Modify TSIG. ### Parameters - `tsigId: string` - `params: TSIGUpdateParams` - `account_id: string` Path param - `algo: string` Body param: TSIG algorithm. - `name: string` Body param: TSIG key name. - `secret: string` Body param: TSIG secret. ### Returns - `TSIG` - `id: string` - `algo: string` TSIG algorithm. - `name: string` TSIG key name. - `secret: string` TSIG secret. ### 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 tsig = await client.dns.zoneTransfers.tsigs.update('69cd1e104af3e6ed3cb344f263fd0d5a', { account_id: '01a7362d577a6c3019a474fd6f485823', algo: 'hmac-sha512.', name: 'tsig.customer.cf.', secret: 'caf79a7804b04337c9c66ccd7bef9190a1e1679b5dd03d8aa10f7ad45e1a9dab92b417896c15d4d007c7c14194538d2a5d0feffdecc5a7f0e1c570cfa700837c', }); console.log(tsig.id); ``` #### 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": { "id": "69cd1e104af3e6ed3cb344f263fd0d5a", "algo": "hmac-sha512.", "name": "tsig.customer.cf.", "secret": "caf79a7804b04337c9c66ccd7bef9190a1e1679b5dd03d8aa10f7ad45e1a9dab92b417896c15d4d007c7c14194538d2a5d0feffdecc5a7f0e1c570cfa700837c" } } ``` ## Delete TSIG `client.dns.zoneTransfers.tsigs.delete(stringtsigId, TSIGDeleteParamsparams, RequestOptionsoptions?): TSIGDeleteResponse` **delete** `/accounts/{account_id}/secondary_dns/tsigs/{tsig_id}` Delete TSIG. ### Parameters - `tsigId: string` - `params: TSIGDeleteParams` - `account_id: string` ### Returns - `TSIGDeleteResponse` - `id?: string` ### 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 tsig = await client.dns.zoneTransfers.tsigs.delete('69cd1e104af3e6ed3cb344f263fd0d5a', { account_id: '01a7362d577a6c3019a474fd6f485823', }); console.log(tsig.id); ``` #### 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": { "id": "69cd1e104af3e6ed3cb344f263fd0d5a" } } ``` ## Domain Types ### TSIG - `TSIG` - `id: string` - `algo: string` TSIG algorithm. - `name: string` TSIG key name. - `secret: string` TSIG secret. ### TSIG Delete Response - `TSIGDeleteResponse` - `id?: string`