# DNS # DNSSEC ## DNSSEC Details **get** `/zones/{zone_id}/dnssec` Details about DNSSEC status and configuration. ### Path Parameters - `zone_id: string` Identifier. ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional DNSSEC` - `algorithm: optional string` Algorithm key code. - `digest: optional string` Digest hash. - `digest_algorithm: optional string` Type of digest algorithm. - `digest_type: optional string` Coded type for digest algorithm. - `dnssec_multi_signer: optional 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: optional 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: optional 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: optional string` Full DS record. - `flags: optional number` Flag for DNSSEC record. - `key_tag: optional number` Code for key tag. - `key_type: optional string` Algorithm key type. - `modified_on: optional string` When DNSSEC was last modified. - `public_key: optional string` Public key for DS record. - `status: optional "active" or "pending" or "disabled" or 2 more` Status of DNSSEC, based on user-desired state and presence of necessary records. - `"active"` - `"pending"` - `"disabled"` - `"pending-disabled"` - `"error"` ### Example ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dnssec \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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 **patch** `/zones/{zone_id}/dnssec` Enable or disable DNSSEC. ### Path Parameters - `zone_id: string` Identifier. ### Body Parameters - `dnssec_multi_signer: optional 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: optional 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: optional 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. - `status: optional "active" or "disabled"` Status of DNSSEC, based on user-desired state and presence of necessary records. - `"active"` - `"disabled"` ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional DNSSEC` - `algorithm: optional string` Algorithm key code. - `digest: optional string` Digest hash. - `digest_algorithm: optional string` Type of digest algorithm. - `digest_type: optional string` Coded type for digest algorithm. - `dnssec_multi_signer: optional 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: optional 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: optional 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: optional string` Full DS record. - `flags: optional number` Flag for DNSSEC record. - `key_tag: optional number` Code for key tag. - `key_type: optional string` Algorithm key type. - `modified_on: optional string` When DNSSEC was last modified. - `public_key: optional string` Public key for DS record. - `status: optional "active" or "pending" or "disabled" or 2 more` Status of DNSSEC, based on user-desired state and presence of necessary records. - `"active"` - `"pending"` - `"disabled"` - `"pending-disabled"` - `"error"` ### Example ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dnssec \ -X PATCH \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ -d '{ "dnssec_presigned": true, "status": "active" }' ``` #### 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 **delete** `/zones/{zone_id}/dnssec` Delete DNSSEC. ### Path Parameters - `zone_id: string` Identifier. ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional string` ### Example ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dnssec \ -X DELETE \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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, digest, digest_algorithm, 11 more }` - `algorithm: optional string` Algorithm key code. - `digest: optional string` Digest hash. - `digest_algorithm: optional string` Type of digest algorithm. - `digest_type: optional string` Coded type for digest algorithm. - `dnssec_multi_signer: optional 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: optional 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: optional 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: optional string` Full DS record. - `flags: optional number` Flag for DNSSEC record. - `key_tag: optional number` Code for key tag. - `key_type: optional string` Algorithm key type. - `modified_on: optional string` When DNSSEC was last modified. - `public_key: optional string` Public key for DS record. - `status: optional "active" or "pending" or "disabled" or 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 **get** `/zones/{zone_id}/dns_records` List, search, sort, and filter a zones' DNS records. ### Path Parameters - `zone_id: string` Identifier. ### Query Parameters - `comment: optional { absent, contains, endswith, 3 more }` - `absent: optional string` If this parameter is present, only records *without* a comment are returned. - `contains: optional string` Substring of the DNS record comment. Comment filters are case-insensitive. - `endswith: optional string` Suffix of the DNS record comment. Comment filters are case-insensitive. - `exact: optional string` Exact value of the DNS record comment. Comment filters are case-insensitive. - `present: optional string` If this parameter is present, only records *with* a comment are returned. - `startswith: optional string` Prefix of the DNS record comment. Comment filters are case-insensitive. - `content: optional { contains, endswith, exact, startswith }` - `contains: optional string` Substring of the DNS record content. Content filters are case-insensitive. - `endswith: optional string` Suffix of the DNS record content. Content filters are case-insensitive. - `exact: optional string` Exact value of the DNS record content. Content filters are case-insensitive. - `startswith: optional string` Prefix of the DNS record content. Content filters are case-insensitive. - `direction: optional SortDirection` Direction to order DNS records in. - `"asc"` - `"desc"` - `match: optional "any" or "all"` 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: optional { contains, endswith, exact, startswith }` - `contains: optional string` Substring of the DNS record name. Name filters are case-insensitive. - `endswith: optional string` Suffix of the DNS record name. Name filters are case-insensitive. - `exact: optional string` Exact value of the DNS record name. Name filters are case-insensitive. - `startswith: optional string` Prefix of the DNS record name. Name filters are case-insensitive. - `order: optional "type" or "name" or "content" or 2 more` Field to order DNS records by. - `"type"` - `"name"` - `"content"` - `"ttl"` - `"proxied"` - `page: optional number` Page number of paginated results. - `per_page: optional number` Number of DNS records per page. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `search: optional string` 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: optional { absent, contains, endswith, 3 more }` - `absent: optional string` Name of a tag which must *not* be present on the DNS record. Tag filters are case-insensitive. - `contains: optional 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: optional 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: optional 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: optional string` Name of a tag which must be present on the DNS record. Tag filters are case-insensitive. - `startswith: optional 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: optional "any" or "all"` 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: optional "A" or "AAAA" or "CAA" or 18 more` Record type. - `"A"` - `"AAAA"` - `"CAA"` - `"CERT"` - `"CNAME"` - `"DNSKEY"` - `"DS"` - `"HTTPS"` - `"LOC"` - `"MX"` - `"NAPTR"` - `"NS"` - `"OPENPGPKEY"` - `"PTR"` - `"SMIMEA"` - `"SRV"` - `"SSHFP"` - `"SVCB"` - `"TLSA"` - `"TXT"` - `"URI"` ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional array of RecordResponse` - `A = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `AAAA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CNAME = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `MX = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `NS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `Openpgpkey { id, comment, content, 12 more }` - `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: { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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 of RecordTags` 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` 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. - `1` - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment_modified_on: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `PTR = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `TXT = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CAA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CERT = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `DNSKEY = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `DS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `HTTPS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `LOC = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `NAPTR = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SMIMEA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SRV = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SSHFP = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SVCB = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `TLSA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `URI = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `result_info: optional { count, page, per_page, 2 more }` - `count: optional number` Total number of results for the requested service. - `page: optional number` Current page within paginated list of results. - `per_page: optional number` Number of results per page of results. - `total_count: optional number` Total results available without any search parameters. - `total_pages: optional number` The number of total pages in the entire result set. ### Example ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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 **get** `/zones/{zone_id}/dns_records/{dns_record_id}` DNS Record Details ### Path Parameters - `zone_id: string` Identifier. - `dns_record_id: string` Identifier. ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional RecordResponse` - `A = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `AAAA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CNAME = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `MX = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `NS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `Openpgpkey { id, comment, content, 12 more }` - `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: { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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 of RecordTags` 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` 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. - `1` - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment_modified_on: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `PTR = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `TXT = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CAA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CERT = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `DNSKEY = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `DS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `HTTPS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `LOC = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `NAPTR = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SMIMEA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SRV = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SSHFP = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SVCB = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `TLSA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `URI = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. ### Example ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/$DNS_RECORD_ID \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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 **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. ### Path Parameters - `zone_id: string` Identifier. ### Body Parameters - `body: ARecord or AAAARecord or CNAMERecord or 18 more` - `ARecord { name, ttl, type, 6 more }` - `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` 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. - `1` - `type: "A"` Record type. - `"A"` - `comment: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid IPv4 address. - `private_routing: optional boolean` Enables private network routing to the origin. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `AAAARecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid IPv6 address. - `private_routing: optional boolean` Enables private network routing to the origin. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `CNAMERecord { name, ttl, type, 5 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid hostname. Must not match the record's name. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { flatten_cname, ipv4_only, ipv6_only }` Settings for the DNS record. - `flatten_cname: optional 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: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `MXRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid mail server hostname. - `priority: optional 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: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `NSRecord { name, ttl, type, 5 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid name server host name. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `DNSRecordsOpenpgpkeyRecord { name, ttl, type, 5 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `PTRRecord { name, ttl, type, 5 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Domain name pointing to the address. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `TXTRecord { name, ttl, type, 5 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional 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: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `CAARecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted CAA content. See 'data' to set CAA properties. - `data: optional { flags, tag, value }` Components of a CAA record. - `flags: optional number` Flags for the CAA record. - `tag: optional string` Name of the property controlled by this record (e.g.: issue, issuewild, iodef). - `value: optional string` Value of the record. This field's semantics depend on the chosen tag. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `CERTRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted CERT content. See 'data' to set CERT properties. - `data: optional { algorithm, certificate, key_tag, type }` Components of a CERT record. - `algorithm: optional number` Algorithm. - `certificate: optional string` Certificate. - `key_tag: optional number` Key Tag. - `type: optional number` Type. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `DNSKEYRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted DNSKEY content. See 'data' to set DNSKEY properties. - `data: optional { algorithm, flags, protocol, public_key }` Components of a DNSKEY record. - `algorithm: optional number` Algorithm. - `flags: optional number` Flags. - `protocol: optional number` Protocol. - `public_key: optional string` Public Key. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `DSRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted DS content. See 'data' to set DS properties. - `data: optional { algorithm, digest, digest_type, key_tag }` Components of a DS record. - `algorithm: optional number` Algorithm. - `digest: optional string` Digest. - `digest_type: optional number` Digest Type. - `key_tag: optional number` Key Tag. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `HTTPSRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted HTTPS content. See 'data' to set HTTPS properties. - `data: optional { priority, target, value }` Components of a HTTPS record. - `priority: optional number` Priority. - `target: optional string` Target. - `value: optional string` Value. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `LOCRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted LOC content. See 'data' to set LOC properties. - `data: optional { altitude, lat_degrees, lat_direction, 9 more }` Components of a LOC record. - `altitude: optional number` Altitude of location in meters. - `lat_degrees: optional number` Degrees of latitude. - `lat_direction: optional "N" or "S"` Latitude direction. - `"N"` - `"S"` - `lat_minutes: optional number` Minutes of latitude. - `lat_seconds: optional number` Seconds of latitude. - `long_degrees: optional number` Degrees of longitude. - `long_direction: optional "E" or "W"` Longitude direction. - `"E"` - `"W"` - `long_minutes: optional number` Minutes of longitude. - `long_seconds: optional number` Seconds of longitude. - `precision_horz: optional number` Horizontal precision of location. - `precision_vert: optional number` Vertical precision of location. - `size: optional number` Size of location in meters. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `NAPTRRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted NAPTR content. See 'data' to set NAPTR properties. - `data: optional { flags, order, preference, 3 more }` Components of a NAPTR record. - `flags: optional string` Flags. - `order: optional number` Order. - `preference: optional number` Preference. - `regex: optional string` Regex. - `replacement: optional string` Replacement. - `service: optional string` Service. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `SMIMEARecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted SMIMEA content. See 'data' to set SMIMEA properties. - `data: optional { certificate, matching_type, selector, usage }` Components of a SMIMEA record. - `certificate: optional string` Certificate. - `matching_type: optional number` Matching Type. - `selector: optional number` Selector. - `usage: optional number` Usage. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `SRVRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Priority, weight, port, and SRV target. See 'data' for setting the individual component values. - `data: optional { port, priority, target, weight }` Components of a SRV record. - `port: optional number` The port of the service. - `priority: optional 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: optional string` A valid hostname. - `weight: optional number` The record weight. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `SSHFPRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted SSHFP content. See 'data' to set SSHFP properties. - `data: optional { algorithm, fingerprint, type }` Components of a SSHFP record. - `algorithm: optional number` Algorithm. - `fingerprint: optional string` Fingerprint. - `type: optional number` Type. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `SVCBRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted SVCB content. See 'data' to set SVCB properties. - `data: optional { priority, target, value }` Components of a SVCB record. - `priority: optional number` Priority. - `target: optional string` Target. - `value: optional string` Value. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `TLSARecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted TLSA content. See 'data' to set TLSA properties. - `data: optional { certificate, matching_type, selector, usage }` Components of a TLSA record. - `certificate: optional string` Certificate. - `matching_type: optional number` Matching Type. - `selector: optional number` Selector. - `usage: optional number` Usage. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `URIRecord { name, ttl, type, 7 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted URI content. See 'data' to set URI properties. - `data: optional { target, weight }` Components of a URI record. - `target: optional string` The record content. - `weight: optional number` The record weight. - `priority: optional 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: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional RecordResponse` - `A = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `AAAA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CNAME = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `MX = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `NS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `Openpgpkey { id, comment, content, 12 more }` - `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: { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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 of RecordTags` 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` 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. - `1` - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment_modified_on: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `PTR = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `TXT = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CAA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CERT = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `DNSKEY = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `DS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `HTTPS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `LOC = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `NAPTR = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SMIMEA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SRV = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SSHFP = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SVCB = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `TLSA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `URI = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. ### Example ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ -d '{ "name": "example.com", "ttl": 3600, "type": "A", "comment": "Domain verification record", "content": "198.51.100.4", "private_routing": true, "proxied": true }' ``` #### 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 **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. ### Path Parameters - `zone_id: string` Identifier. - `dns_record_id: string` Identifier. ### Body Parameters - `body: ARecord or AAAARecord or CNAMERecord or 18 more` - `ARecord { name, ttl, type, 6 more }` - `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` 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. - `1` - `type: "A"` Record type. - `"A"` - `comment: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid IPv4 address. - `private_routing: optional boolean` Enables private network routing to the origin. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `AAAARecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid IPv6 address. - `private_routing: optional boolean` Enables private network routing to the origin. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `CNAMERecord { name, ttl, type, 5 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid hostname. Must not match the record's name. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { flatten_cname, ipv4_only, ipv6_only }` Settings for the DNS record. - `flatten_cname: optional 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: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `MXRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid mail server hostname. - `priority: optional 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: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `NSRecord { name, ttl, type, 5 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid name server host name. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `DNSRecordsOpenpgpkeyRecord { name, ttl, type, 5 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `PTRRecord { name, ttl, type, 5 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Domain name pointing to the address. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `TXTRecord { name, ttl, type, 5 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional 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: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `CAARecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted CAA content. See 'data' to set CAA properties. - `data: optional { flags, tag, value }` Components of a CAA record. - `flags: optional number` Flags for the CAA record. - `tag: optional string` Name of the property controlled by this record (e.g.: issue, issuewild, iodef). - `value: optional string` Value of the record. This field's semantics depend on the chosen tag. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `CERTRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted CERT content. See 'data' to set CERT properties. - `data: optional { algorithm, certificate, key_tag, type }` Components of a CERT record. - `algorithm: optional number` Algorithm. - `certificate: optional string` Certificate. - `key_tag: optional number` Key Tag. - `type: optional number` Type. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `DNSKEYRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted DNSKEY content. See 'data' to set DNSKEY properties. - `data: optional { algorithm, flags, protocol, public_key }` Components of a DNSKEY record. - `algorithm: optional number` Algorithm. - `flags: optional number` Flags. - `protocol: optional number` Protocol. - `public_key: optional string` Public Key. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `DSRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted DS content. See 'data' to set DS properties. - `data: optional { algorithm, digest, digest_type, key_tag }` Components of a DS record. - `algorithm: optional number` Algorithm. - `digest: optional string` Digest. - `digest_type: optional number` Digest Type. - `key_tag: optional number` Key Tag. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `HTTPSRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted HTTPS content. See 'data' to set HTTPS properties. - `data: optional { priority, target, value }` Components of a HTTPS record. - `priority: optional number` Priority. - `target: optional string` Target. - `value: optional string` Value. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `LOCRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted LOC content. See 'data' to set LOC properties. - `data: optional { altitude, lat_degrees, lat_direction, 9 more }` Components of a LOC record. - `altitude: optional number` Altitude of location in meters. - `lat_degrees: optional number` Degrees of latitude. - `lat_direction: optional "N" or "S"` Latitude direction. - `"N"` - `"S"` - `lat_minutes: optional number` Minutes of latitude. - `lat_seconds: optional number` Seconds of latitude. - `long_degrees: optional number` Degrees of longitude. - `long_direction: optional "E" or "W"` Longitude direction. - `"E"` - `"W"` - `long_minutes: optional number` Minutes of longitude. - `long_seconds: optional number` Seconds of longitude. - `precision_horz: optional number` Horizontal precision of location. - `precision_vert: optional number` Vertical precision of location. - `size: optional number` Size of location in meters. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `NAPTRRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted NAPTR content. See 'data' to set NAPTR properties. - `data: optional { flags, order, preference, 3 more }` Components of a NAPTR record. - `flags: optional string` Flags. - `order: optional number` Order. - `preference: optional number` Preference. - `regex: optional string` Regex. - `replacement: optional string` Replacement. - `service: optional string` Service. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `SMIMEARecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted SMIMEA content. See 'data' to set SMIMEA properties. - `data: optional { certificate, matching_type, selector, usage }` Components of a SMIMEA record. - `certificate: optional string` Certificate. - `matching_type: optional number` Matching Type. - `selector: optional number` Selector. - `usage: optional number` Usage. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `SRVRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Priority, weight, port, and SRV target. See 'data' for setting the individual component values. - `data: optional { port, priority, target, weight }` Components of a SRV record. - `port: optional number` The port of the service. - `priority: optional 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: optional string` A valid hostname. - `weight: optional number` The record weight. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `SSHFPRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted SSHFP content. See 'data' to set SSHFP properties. - `data: optional { algorithm, fingerprint, type }` Components of a SSHFP record. - `algorithm: optional number` Algorithm. - `fingerprint: optional string` Fingerprint. - `type: optional number` Type. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `SVCBRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted SVCB content. See 'data' to set SVCB properties. - `data: optional { priority, target, value }` Components of a SVCB record. - `priority: optional number` Priority. - `target: optional string` Target. - `value: optional string` Value. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `TLSARecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted TLSA content. See 'data' to set TLSA properties. - `data: optional { certificate, matching_type, selector, usage }` Components of a TLSA record. - `certificate: optional string` Certificate. - `matching_type: optional number` Matching Type. - `selector: optional number` Selector. - `usage: optional number` Usage. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `URIRecord { name, ttl, type, 7 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted URI content. See 'data' to set URI properties. - `data: optional { target, weight }` Components of a URI record. - `target: optional string` The record content. - `weight: optional number` The record weight. - `priority: optional 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: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional RecordResponse` - `A = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `AAAA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CNAME = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `MX = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `NS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `Openpgpkey { id, comment, content, 12 more }` - `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: { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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 of RecordTags` 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` 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. - `1` - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment_modified_on: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `PTR = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `TXT = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CAA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CERT = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `DNSKEY = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `DS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `HTTPS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `LOC = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `NAPTR = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SMIMEA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SRV = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SSHFP = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SVCB = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `TLSA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `URI = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. ### Example ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/$DNS_RECORD_ID \ -X PUT \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ -d '{ "name": "example.com", "ttl": 3600, "type": "A", "comment": "Domain verification record", "content": "198.51.100.4", "private_routing": true, "proxied": true }' ``` #### 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 **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. ### Path Parameters - `zone_id: string` Identifier. - `dns_record_id: string` Identifier. ### Body Parameters - `body: ARecord or AAAARecord or CNAMERecord or 18 more` - `ARecord { name, ttl, type, 6 more }` - `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` 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. - `1` - `type: "A"` Record type. - `"A"` - `comment: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid IPv4 address. - `private_routing: optional boolean` Enables private network routing to the origin. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `AAAARecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid IPv6 address. - `private_routing: optional boolean` Enables private network routing to the origin. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `CNAMERecord { name, ttl, type, 5 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid hostname. Must not match the record's name. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { flatten_cname, ipv4_only, ipv6_only }` Settings for the DNS record. - `flatten_cname: optional 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: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `MXRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid mail server hostname. - `priority: optional 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: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `NSRecord { name, ttl, type, 5 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid name server host name. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `DNSRecordsOpenpgpkeyRecord { name, ttl, type, 5 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `PTRRecord { name, ttl, type, 5 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Domain name pointing to the address. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `TXTRecord { name, ttl, type, 5 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional 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: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `CAARecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted CAA content. See 'data' to set CAA properties. - `data: optional { flags, tag, value }` Components of a CAA record. - `flags: optional number` Flags for the CAA record. - `tag: optional string` Name of the property controlled by this record (e.g.: issue, issuewild, iodef). - `value: optional string` Value of the record. This field's semantics depend on the chosen tag. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `CERTRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted CERT content. See 'data' to set CERT properties. - `data: optional { algorithm, certificate, key_tag, type }` Components of a CERT record. - `algorithm: optional number` Algorithm. - `certificate: optional string` Certificate. - `key_tag: optional number` Key Tag. - `type: optional number` Type. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `DNSKEYRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted DNSKEY content. See 'data' to set DNSKEY properties. - `data: optional { algorithm, flags, protocol, public_key }` Components of a DNSKEY record. - `algorithm: optional number` Algorithm. - `flags: optional number` Flags. - `protocol: optional number` Protocol. - `public_key: optional string` Public Key. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `DSRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted DS content. See 'data' to set DS properties. - `data: optional { algorithm, digest, digest_type, key_tag }` Components of a DS record. - `algorithm: optional number` Algorithm. - `digest: optional string` Digest. - `digest_type: optional number` Digest Type. - `key_tag: optional number` Key Tag. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `HTTPSRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted HTTPS content. See 'data' to set HTTPS properties. - `data: optional { priority, target, value }` Components of a HTTPS record. - `priority: optional number` Priority. - `target: optional string` Target. - `value: optional string` Value. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `LOCRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted LOC content. See 'data' to set LOC properties. - `data: optional { altitude, lat_degrees, lat_direction, 9 more }` Components of a LOC record. - `altitude: optional number` Altitude of location in meters. - `lat_degrees: optional number` Degrees of latitude. - `lat_direction: optional "N" or "S"` Latitude direction. - `"N"` - `"S"` - `lat_minutes: optional number` Minutes of latitude. - `lat_seconds: optional number` Seconds of latitude. - `long_degrees: optional number` Degrees of longitude. - `long_direction: optional "E" or "W"` Longitude direction. - `"E"` - `"W"` - `long_minutes: optional number` Minutes of longitude. - `long_seconds: optional number` Seconds of longitude. - `precision_horz: optional number` Horizontal precision of location. - `precision_vert: optional number` Vertical precision of location. - `size: optional number` Size of location in meters. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `NAPTRRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted NAPTR content. See 'data' to set NAPTR properties. - `data: optional { flags, order, preference, 3 more }` Components of a NAPTR record. - `flags: optional string` Flags. - `order: optional number` Order. - `preference: optional number` Preference. - `regex: optional string` Regex. - `replacement: optional string` Replacement. - `service: optional string` Service. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `SMIMEARecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted SMIMEA content. See 'data' to set SMIMEA properties. - `data: optional { certificate, matching_type, selector, usage }` Components of a SMIMEA record. - `certificate: optional string` Certificate. - `matching_type: optional number` Matching Type. - `selector: optional number` Selector. - `usage: optional number` Usage. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `SRVRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Priority, weight, port, and SRV target. See 'data' for setting the individual component values. - `data: optional { port, priority, target, weight }` Components of a SRV record. - `port: optional number` The port of the service. - `priority: optional 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: optional string` A valid hostname. - `weight: optional number` The record weight. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `SSHFPRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted SSHFP content. See 'data' to set SSHFP properties. - `data: optional { algorithm, fingerprint, type }` Components of a SSHFP record. - `algorithm: optional number` Algorithm. - `fingerprint: optional string` Fingerprint. - `type: optional number` Type. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `SVCBRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted SVCB content. See 'data' to set SVCB properties. - `data: optional { priority, target, value }` Components of a SVCB record. - `priority: optional number` Priority. - `target: optional string` Target. - `value: optional string` Value. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `TLSARecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted TLSA content. See 'data' to set TLSA properties. - `data: optional { certificate, matching_type, selector, usage }` Components of a TLSA record. - `certificate: optional string` Certificate. - `matching_type: optional number` Matching Type. - `selector: optional number` Selector. - `usage: optional number` Usage. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `URIRecord { name, ttl, type, 7 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted URI content. See 'data' to set URI properties. - `data: optional { target, weight }` Components of a URI record. - `target: optional string` The record content. - `weight: optional number` The record weight. - `priority: optional 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: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional RecordResponse` - `A = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `AAAA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CNAME = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `MX = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `NS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `Openpgpkey { id, comment, content, 12 more }` - `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: { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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 of RecordTags` 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` 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. - `1` - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment_modified_on: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `PTR = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `TXT = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CAA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CERT = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `DNSKEY = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `DS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `HTTPS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `LOC = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `NAPTR = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SMIMEA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SRV = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SSHFP = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SVCB = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `TLSA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `URI = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. ### Example ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/$DNS_RECORD_ID \ -X PATCH \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ -d '{ "name": "example.com", "ttl": 3600, "type": "A", "comment": "Domain verification record", "content": "198.51.100.4", "private_routing": true, "proxied": true }' ``` #### 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 **delete** `/zones/{zone_id}/dns_records/{dns_record_id}` Delete DNS Record ### Path Parameters - `zone_id: string` Identifier. - `dns_record_id: string` Identifier. ### Returns - `result: optional { id }` - `id: optional string` Identifier. ### Example ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/$DNS_RECORD_ID \ -X DELETE \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### Response ```json { "result": { "id": "023e105f4ecef8ad9ca31a8372d0c353" } } ``` ## Export DNS Records **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. ### Path Parameters - `zone_id: string` Identifier. ### Example ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/export \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` ## Import DNS Records **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. ### Path Parameters - `zone_id: string` Identifier. ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional { recs_added, total_records_parsed }` - `recs_added: optional number` Number of DNS records added. - `total_records_parsed: optional number` Total number of DNS records parsed. ### Example ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/import \ -H 'Content-Type: multipart/form-data' \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ -F file='www.example.com. 300 IN A 127.0.0.1' \ -F proxied=true ``` #### 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 **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. ### Path Parameters - `zone_id: string` Identifier. ### Body Parameters - `body: unknown` ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional { recs_added, total_records_parsed }` - `recs_added: optional number` Number of DNS records added. - `total_records_parsed: optional number` Total number of DNS records parsed. ### Example ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/scan \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ -d '{}' ``` #### 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 **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. ### Path Parameters - `zone_id: string` Identifier. ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` ### Example ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/scan/trigger \ -X POST \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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 **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. ### Path Parameters - `zone_id: string` Identifier. ### Body Parameters - `accepts: optional array of ARecord or AAAARecord or CNAMERecord or 18 more` - `ARecord { name, ttl, type, 6 more }` - `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` 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. - `1` - `type: "A"` Record type. - `"A"` - `comment: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid IPv4 address. - `private_routing: optional boolean` Enables private network routing to the origin. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `AAAARecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid IPv6 address. - `private_routing: optional boolean` Enables private network routing to the origin. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `CNAMERecord { name, ttl, type, 5 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid hostname. Must not match the record's name. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { flatten_cname, ipv4_only, ipv6_only }` Settings for the DNS record. - `flatten_cname: optional 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: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `MXRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid mail server hostname. - `priority: optional 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: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `NSRecord { name, ttl, type, 5 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid name server host name. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `DNSRecordsOpenpgpkeyRecord { name, ttl, type, 5 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `PTRRecord { name, ttl, type, 5 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Domain name pointing to the address. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `TXTRecord { name, ttl, type, 5 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional 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: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `CAARecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted CAA content. See 'data' to set CAA properties. - `data: optional { flags, tag, value }` Components of a CAA record. - `flags: optional number` Flags for the CAA record. - `tag: optional string` Name of the property controlled by this record (e.g.: issue, issuewild, iodef). - `value: optional string` Value of the record. This field's semantics depend on the chosen tag. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `CERTRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted CERT content. See 'data' to set CERT properties. - `data: optional { algorithm, certificate, key_tag, type }` Components of a CERT record. - `algorithm: optional number` Algorithm. - `certificate: optional string` Certificate. - `key_tag: optional number` Key Tag. - `type: optional number` Type. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `DNSKEYRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted DNSKEY content. See 'data' to set DNSKEY properties. - `data: optional { algorithm, flags, protocol, public_key }` Components of a DNSKEY record. - `algorithm: optional number` Algorithm. - `flags: optional number` Flags. - `protocol: optional number` Protocol. - `public_key: optional string` Public Key. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `DSRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted DS content. See 'data' to set DS properties. - `data: optional { algorithm, digest, digest_type, key_tag }` Components of a DS record. - `algorithm: optional number` Algorithm. - `digest: optional string` Digest. - `digest_type: optional number` Digest Type. - `key_tag: optional number` Key Tag. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `HTTPSRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted HTTPS content. See 'data' to set HTTPS properties. - `data: optional { priority, target, value }` Components of a HTTPS record. - `priority: optional number` Priority. - `target: optional string` Target. - `value: optional string` Value. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `LOCRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted LOC content. See 'data' to set LOC properties. - `data: optional { altitude, lat_degrees, lat_direction, 9 more }` Components of a LOC record. - `altitude: optional number` Altitude of location in meters. - `lat_degrees: optional number` Degrees of latitude. - `lat_direction: optional "N" or "S"` Latitude direction. - `"N"` - `"S"` - `lat_minutes: optional number` Minutes of latitude. - `lat_seconds: optional number` Seconds of latitude. - `long_degrees: optional number` Degrees of longitude. - `long_direction: optional "E" or "W"` Longitude direction. - `"E"` - `"W"` - `long_minutes: optional number` Minutes of longitude. - `long_seconds: optional number` Seconds of longitude. - `precision_horz: optional number` Horizontal precision of location. - `precision_vert: optional number` Vertical precision of location. - `size: optional number` Size of location in meters. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `NAPTRRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted NAPTR content. See 'data' to set NAPTR properties. - `data: optional { flags, order, preference, 3 more }` Components of a NAPTR record. - `flags: optional string` Flags. - `order: optional number` Order. - `preference: optional number` Preference. - `regex: optional string` Regex. - `replacement: optional string` Replacement. - `service: optional string` Service. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `SMIMEARecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted SMIMEA content. See 'data' to set SMIMEA properties. - `data: optional { certificate, matching_type, selector, usage }` Components of a SMIMEA record. - `certificate: optional string` Certificate. - `matching_type: optional number` Matching Type. - `selector: optional number` Selector. - `usage: optional number` Usage. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `SRVRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Priority, weight, port, and SRV target. See 'data' for setting the individual component values. - `data: optional { port, priority, target, weight }` Components of a SRV record. - `port: optional number` The port of the service. - `priority: optional 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: optional string` A valid hostname. - `weight: optional number` The record weight. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `SSHFPRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted SSHFP content. See 'data' to set SSHFP properties. - `data: optional { algorithm, fingerprint, type }` Components of a SSHFP record. - `algorithm: optional number` Algorithm. - `fingerprint: optional string` Fingerprint. - `type: optional number` Type. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `SVCBRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted SVCB content. See 'data' to set SVCB properties. - `data: optional { priority, target, value }` Components of a SVCB record. - `priority: optional number` Priority. - `target: optional string` Target. - `value: optional string` Value. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `TLSARecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted TLSA content. See 'data' to set TLSA properties. - `data: optional { certificate, matching_type, selector, usage }` Components of a TLSA record. - `certificate: optional string` Certificate. - `matching_type: optional number` Matching Type. - `selector: optional number` Selector. - `usage: optional number` Usage. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `URIRecord { name, ttl, type, 7 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted URI content. See 'data' to set URI properties. - `data: optional { target, weight }` Components of a URI record. - `target: optional string` The record content. - `weight: optional number` The record weight. - `priority: optional 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: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `rejects: optional array of { id }` - `id: string` Identifier. ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional { accepts, rejects }` - `accepts: optional array of RecordResponse` - `A = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `AAAA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CNAME = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `MX = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `NS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `Openpgpkey { id, comment, content, 12 more }` - `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: { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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 of RecordTags` 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` 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. - `1` - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment_modified_on: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `PTR = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `TXT = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CAA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CERT = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `DNSKEY = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `DS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `HTTPS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `LOC = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `NAPTR = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SMIMEA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SRV = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SSHFP = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SVCB = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `TLSA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `URI = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `rejects: optional array of string` ### Example ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/scan/review \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ -d '{}' ``` #### 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 **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. ### Path Parameters - `zone_id: string` Identifier. ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional array of RecordResponse` - `A = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `AAAA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CNAME = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `MX = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `NS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `Openpgpkey { id, comment, content, 12 more }` - `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: { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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 of RecordTags` 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` 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. - `1` - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment_modified_on: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `PTR = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `TXT = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CAA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CERT = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `DNSKEY = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `DS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `HTTPS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `LOC = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `NAPTR = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SMIMEA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SRV = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SSHFP = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SVCB = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `TLSA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `URI = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `result_info: optional { count, page, per_page, 2 more }` - `count: optional number` Total number of results for the requested service. - `page: optional number` Current page within paginated list of results. - `per_page: optional number` Number of results per page of results. - `total_count: optional number` Total results available without any search parameters. - `total_pages: optional number` The number of total pages in the entire result set. ### Example ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/scan/review \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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 **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 ### Path Parameters - `zone_id: string` Identifier. ### Body Parameters - `deletes: optional array of { id }` - `id: string` Identifier. - `patches: optional array of BatchPatch` - `ARecord = ARecord` - `id: string` Identifier. - `AAAARecord = AAAARecord` - `id: string` Identifier. - `CNAMERecord = CNAMERecord` - `id: string` Identifier. - `MXRecord = MXRecord` - `id: string` Identifier. - `NSRecord = NSRecord` - `id: string` Identifier. - `OpenpgpkeyRecord { id, name, ttl, 6 more }` - `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` 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. - `1` - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `PTRRecord = PTRRecord` - `id: string` Identifier. - `TXTRecord = TXTRecord` - `id: string` Identifier. - `CAARecord = CAARecord` - `id: string` Identifier. - `CERTRecord = CERTRecord` - `id: string` Identifier. - `DNSKEYRecord = DNSKEYRecord` - `id: string` Identifier. - `DSRecord = DSRecord` - `id: string` Identifier. - `HTTPSRecord = HTTPSRecord` - `id: string` Identifier. - `LOCRecord = LOCRecord` - `id: string` Identifier. - `NAPTRRecord = NAPTRRecord` - `id: string` Identifier. - `SMIMEARecord = SMIMEARecord` - `id: string` Identifier. - `SRVRecord = SRVRecord` - `id: string` Identifier. - `SSHFPRecord = SSHFPRecord` - `id: string` Identifier. - `SVCBRecord = SVCBRecord` - `id: string` Identifier. - `TLSARecord = TLSARecord` - `id: string` Identifier. - `URIRecord = URIRecord` - `id: string` Identifier. - `posts: optional array of ARecord or AAAARecord or CNAMERecord or 18 more` - `ARecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid IPv4 address. - `private_routing: optional boolean` Enables private network routing to the origin. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `AAAARecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid IPv6 address. - `private_routing: optional boolean` Enables private network routing to the origin. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `CNAMERecord { name, ttl, type, 5 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid hostname. Must not match the record's name. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { flatten_cname, ipv4_only, ipv6_only }` Settings for the DNS record. - `flatten_cname: optional 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: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `MXRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid mail server hostname. - `priority: optional 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: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `NSRecord { name, ttl, type, 5 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid name server host name. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `DNSRecordsOpenpgpkeyRecord { name, ttl, type, 5 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `PTRRecord { name, ttl, type, 5 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Domain name pointing to the address. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `TXTRecord { name, ttl, type, 5 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional 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: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `CAARecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted CAA content. See 'data' to set CAA properties. - `data: optional { flags, tag, value }` Components of a CAA record. - `flags: optional number` Flags for the CAA record. - `tag: optional string` Name of the property controlled by this record (e.g.: issue, issuewild, iodef). - `value: optional string` Value of the record. This field's semantics depend on the chosen tag. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `CERTRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted CERT content. See 'data' to set CERT properties. - `data: optional { algorithm, certificate, key_tag, type }` Components of a CERT record. - `algorithm: optional number` Algorithm. - `certificate: optional string` Certificate. - `key_tag: optional number` Key Tag. - `type: optional number` Type. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `DNSKEYRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted DNSKEY content. See 'data' to set DNSKEY properties. - `data: optional { algorithm, flags, protocol, public_key }` Components of a DNSKEY record. - `algorithm: optional number` Algorithm. - `flags: optional number` Flags. - `protocol: optional number` Protocol. - `public_key: optional string` Public Key. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `DSRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted DS content. See 'data' to set DS properties. - `data: optional { algorithm, digest, digest_type, key_tag }` Components of a DS record. - `algorithm: optional number` Algorithm. - `digest: optional string` Digest. - `digest_type: optional number` Digest Type. - `key_tag: optional number` Key Tag. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `HTTPSRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted HTTPS content. See 'data' to set HTTPS properties. - `data: optional { priority, target, value }` Components of a HTTPS record. - `priority: optional number` Priority. - `target: optional string` Target. - `value: optional string` Value. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `LOCRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted LOC content. See 'data' to set LOC properties. - `data: optional { altitude, lat_degrees, lat_direction, 9 more }` Components of a LOC record. - `altitude: optional number` Altitude of location in meters. - `lat_degrees: optional number` Degrees of latitude. - `lat_direction: optional "N" or "S"` Latitude direction. - `"N"` - `"S"` - `lat_minutes: optional number` Minutes of latitude. - `lat_seconds: optional number` Seconds of latitude. - `long_degrees: optional number` Degrees of longitude. - `long_direction: optional "E" or "W"` Longitude direction. - `"E"` - `"W"` - `long_minutes: optional number` Minutes of longitude. - `long_seconds: optional number` Seconds of longitude. - `precision_horz: optional number` Horizontal precision of location. - `precision_vert: optional number` Vertical precision of location. - `size: optional number` Size of location in meters. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `NAPTRRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted NAPTR content. See 'data' to set NAPTR properties. - `data: optional { flags, order, preference, 3 more }` Components of a NAPTR record. - `flags: optional string` Flags. - `order: optional number` Order. - `preference: optional number` Preference. - `regex: optional string` Regex. - `replacement: optional string` Replacement. - `service: optional string` Service. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `SMIMEARecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted SMIMEA content. See 'data' to set SMIMEA properties. - `data: optional { certificate, matching_type, selector, usage }` Components of a SMIMEA record. - `certificate: optional string` Certificate. - `matching_type: optional number` Matching Type. - `selector: optional number` Selector. - `usage: optional number` Usage. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `SRVRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Priority, weight, port, and SRV target. See 'data' for setting the individual component values. - `data: optional { port, priority, target, weight }` Components of a SRV record. - `port: optional number` The port of the service. - `priority: optional 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: optional string` A valid hostname. - `weight: optional number` The record weight. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `SSHFPRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted SSHFP content. See 'data' to set SSHFP properties. - `data: optional { algorithm, fingerprint, type }` Components of a SSHFP record. - `algorithm: optional number` Algorithm. - `fingerprint: optional string` Fingerprint. - `type: optional number` Type. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `SVCBRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted SVCB content. See 'data' to set SVCB properties. - `data: optional { priority, target, value }` Components of a SVCB record. - `priority: optional number` Priority. - `target: optional string` Target. - `value: optional string` Value. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `TLSARecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted TLSA content. See 'data' to set TLSA properties. - `data: optional { certificate, matching_type, selector, usage }` Components of a TLSA record. - `certificate: optional string` Certificate. - `matching_type: optional number` Matching Type. - `selector: optional number` Selector. - `usage: optional number` Usage. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `URIRecord { name, ttl, type, 7 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted URI content. See 'data' to set URI properties. - `data: optional { target, weight }` Components of a URI record. - `target: optional string` The record content. - `weight: optional number` The record weight. - `priority: optional 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: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `puts: optional array of BatchPut` - `ARecord = ARecord` - `id: string` Identifier. - `AAAARecord = AAAARecord` - `id: string` Identifier. - `CNAMERecord = CNAMERecord` - `id: string` Identifier. - `MXRecord = MXRecord` - `id: string` Identifier. - `NSRecord = NSRecord` - `id: string` Identifier. - `OpenpgpkeyRecord { id, name, ttl, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `PTRRecord = PTRRecord` - `id: string` Identifier. - `TXTRecord = TXTRecord` - `id: string` Identifier. - `CAARecord = CAARecord` - `id: string` Identifier. - `CERTRecord = CERTRecord` - `id: string` Identifier. - `DNSKEYRecord = DNSKEYRecord` - `id: string` Identifier. - `DSRecord = DSRecord` - `id: string` Identifier. - `HTTPSRecord = HTTPSRecord` - `id: string` Identifier. - `LOCRecord = LOCRecord` - `id: string` Identifier. - `NAPTRRecord = NAPTRRecord` - `id: string` Identifier. - `SMIMEARecord = SMIMEARecord` - `id: string` Identifier. - `SRVRecord = SRVRecord` - `id: string` Identifier. - `SSHFPRecord = SSHFPRecord` - `id: string` Identifier. - `SVCBRecord = SVCBRecord` - `id: string` Identifier. - `TLSARecord = TLSARecord` - `id: string` Identifier. - `URIRecord = URIRecord` - `id: string` Identifier. ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional { deletes, patches, posts, puts }` - `deletes: optional array of RecordResponse` - `A = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `AAAA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CNAME = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `MX = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `NS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `Openpgpkey { id, comment, content, 12 more }` - `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: { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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 of RecordTags` 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` 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. - `1` - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment_modified_on: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `PTR = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `TXT = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CAA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CERT = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `DNSKEY = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `DS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `HTTPS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `LOC = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `NAPTR = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SMIMEA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SRV = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SSHFP = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SVCB = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `TLSA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `URI = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `patches: optional array of RecordResponse` - `A = ARecord` - `AAAA = AAAARecord` - `CNAME = CNAMERecord` - `MX = MXRecord` - `NS = NSRecord` - `Openpgpkey { id, comment, content, 12 more }` - `PTR = PTRRecord` - `TXT = TXTRecord` - `CAA = CAARecord` - `CERT = CERTRecord` - `DNSKEY = DNSKEYRecord` - `DS = DSRecord` - `HTTPS = HTTPSRecord` - `LOC = LOCRecord` - `NAPTR = NAPTRRecord` - `SMIMEA = SMIMEARecord` - `SRV = SRVRecord` - `SSHFP = SSHFPRecord` - `SVCB = SVCBRecord` - `TLSA = TLSARecord` - `URI = URIRecord` - `posts: optional array of RecordResponse` - `A = ARecord` - `AAAA = AAAARecord` - `CNAME = CNAMERecord` - `MX = MXRecord` - `NS = NSRecord` - `Openpgpkey { id, comment, content, 12 more }` - `PTR = PTRRecord` - `TXT = TXTRecord` - `CAA = CAARecord` - `CERT = CERTRecord` - `DNSKEY = DNSKEYRecord` - `DS = DSRecord` - `HTTPS = HTTPSRecord` - `LOC = LOCRecord` - `NAPTR = NAPTRRecord` - `SMIMEA = SMIMEARecord` - `SRV = SRVRecord` - `SSHFP = SSHFPRecord` - `SVCB = SVCBRecord` - `TLSA = TLSARecord` - `URI = URIRecord` - `puts: optional array of RecordResponse` - `A = ARecord` - `AAAA = AAAARecord` - `CNAME = CNAMERecord` - `MX = MXRecord` - `NS = NSRecord` - `Openpgpkey { id, comment, content, 12 more }` - `PTR = PTRRecord` - `TXT = TXTRecord` - `CAA = CAARecord` - `CERT = CERTRecord` - `DNSKEY = DNSKEYRecord` - `DS = DSRecord` - `HTTPS = HTTPSRecord` - `LOC = LOCRecord` - `NAPTR = NAPTRRecord` - `SMIMEA = SMIMEARecord` - `SRV = SRVRecord` - `SSHFP = SSHFPRecord` - `SVCB = SVCBRecord` - `TLSA = TLSARecord` - `URI = URIRecord` ### Example ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_records/batch \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ -d '{}' ``` #### 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, ttl, type, 6 more }` - `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` 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. - `1` - `type: "A"` Record type. - `"A"` - `comment: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid IPv4 address. - `private_routing: optional boolean` Enables private network routing to the origin. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. ### AAAA Record - `AAAARecord { name, ttl, type, 6 more }` - `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` 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. - `1` - `type: "AAAA"` Record type. - `"AAAA"` - `comment: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid IPv6 address. - `private_routing: optional boolean` Enables private network routing to the origin. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. ### Batch Patch - `BatchPatch = ARecord or AAAARecord or CNAMERecord or 18 more` - `ARecord = ARecord` - `id: string` Identifier. - `AAAARecord = AAAARecord` - `id: string` Identifier. - `CNAMERecord = CNAMERecord` - `id: string` Identifier. - `MXRecord = MXRecord` - `id: string` Identifier. - `NSRecord = NSRecord` - `id: string` Identifier. - `OpenpgpkeyRecord { id, name, ttl, 6 more }` - `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` 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. - `1` - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `PTRRecord = PTRRecord` - `id: string` Identifier. - `TXTRecord = TXTRecord` - `id: string` Identifier. - `CAARecord = CAARecord` - `id: string` Identifier. - `CERTRecord = CERTRecord` - `id: string` Identifier. - `DNSKEYRecord = DNSKEYRecord` - `id: string` Identifier. - `DSRecord = DSRecord` - `id: string` Identifier. - `HTTPSRecord = HTTPSRecord` - `id: string` Identifier. - `LOCRecord = LOCRecord` - `id: string` Identifier. - `NAPTRRecord = NAPTRRecord` - `id: string` Identifier. - `SMIMEARecord = SMIMEARecord` - `id: string` Identifier. - `SRVRecord = SRVRecord` - `id: string` Identifier. - `SSHFPRecord = SSHFPRecord` - `id: string` Identifier. - `SVCBRecord = SVCBRecord` - `id: string` Identifier. - `TLSARecord = TLSARecord` - `id: string` Identifier. - `URIRecord = URIRecord` - `id: string` Identifier. ### Batch Put - `BatchPut = ARecord or AAAARecord or CNAMERecord or 18 more` - `ARecord = ARecord` - `id: string` Identifier. - `AAAARecord = AAAARecord` - `id: string` Identifier. - `CNAMERecord = CNAMERecord` - `id: string` Identifier. - `MXRecord = MXRecord` - `id: string` Identifier. - `NSRecord = NSRecord` - `id: string` Identifier. - `OpenpgpkeyRecord { id, name, ttl, 6 more }` - `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` 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. - `1` - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `PTRRecord = PTRRecord` - `id: string` Identifier. - `TXTRecord = TXTRecord` - `id: string` Identifier. - `CAARecord = CAARecord` - `id: string` Identifier. - `CERTRecord = CERTRecord` - `id: string` Identifier. - `DNSKEYRecord = DNSKEYRecord` - `id: string` Identifier. - `DSRecord = DSRecord` - `id: string` Identifier. - `HTTPSRecord = HTTPSRecord` - `id: string` Identifier. - `LOCRecord = LOCRecord` - `id: string` Identifier. - `NAPTRRecord = NAPTRRecord` - `id: string` Identifier. - `SMIMEARecord = SMIMEARecord` - `id: string` Identifier. - `SRVRecord = SRVRecord` - `id: string` Identifier. - `SSHFPRecord = SSHFPRecord` - `id: string` Identifier. - `SVCBRecord = SVCBRecord` - `id: string` Identifier. - `TLSARecord = TLSARecord` - `id: string` Identifier. - `URIRecord = URIRecord` - `id: string` Identifier. ### CAA Record - `CAARecord { name, ttl, type, 6 more }` - `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` 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. - `1` - `type: "CAA"` Record type. - `"CAA"` - `comment: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted CAA content. See 'data' to set CAA properties. - `data: optional { flags, tag, value }` Components of a CAA record. - `flags: optional number` Flags for the CAA record. - `tag: optional string` Name of the property controlled by this record (e.g.: issue, issuewild, iodef). - `value: optional string` Value of the record. This field's semantics depend on the chosen tag. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. ### CERT Record - `CERTRecord { name, ttl, type, 6 more }` - `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` 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. - `1` - `type: "CERT"` Record type. - `"CERT"` - `comment: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted CERT content. See 'data' to set CERT properties. - `data: optional { algorithm, certificate, key_tag, type }` Components of a CERT record. - `algorithm: optional number` Algorithm. - `certificate: optional string` Certificate. - `key_tag: optional number` Key Tag. - `type: optional number` Type. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. ### CNAME Record - `CNAMERecord { name, ttl, type, 5 more }` - `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` 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. - `1` - `type: "CNAME"` Record type. - `"CNAME"` - `comment: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid hostname. Must not match the record's name. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { flatten_cname, ipv4_only, ipv6_only }` Settings for the DNS record. - `flatten_cname: optional 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: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. ### DNSKEY Record - `DNSKEYRecord { name, ttl, type, 6 more }` - `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` 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. - `1` - `type: "DNSKEY"` Record type. - `"DNSKEY"` - `comment: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted DNSKEY content. See 'data' to set DNSKEY properties. - `data: optional { algorithm, flags, protocol, public_key }` Components of a DNSKEY record. - `algorithm: optional number` Algorithm. - `flags: optional number` Flags. - `protocol: optional number` Protocol. - `public_key: optional string` Public Key. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. ### DS Record - `DSRecord { name, ttl, type, 6 more }` - `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` 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. - `1` - `type: "DS"` Record type. - `"DS"` - `comment: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted DS content. See 'data' to set DS properties. - `data: optional { algorithm, digest, digest_type, key_tag }` Components of a DS record. - `algorithm: optional number` Algorithm. - `digest: optional string` Digest. - `digest_type: optional number` Digest Type. - `key_tag: optional number` Key Tag. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. ### HTTPS Record - `HTTPSRecord { name, ttl, type, 6 more }` - `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` 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. - `1` - `type: "HTTPS"` Record type. - `"HTTPS"` - `comment: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted HTTPS content. See 'data' to set HTTPS properties. - `data: optional { priority, target, value }` Components of a HTTPS record. - `priority: optional number` Priority. - `target: optional string` Target. - `value: optional string` Value. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. ### LOC Record - `LOCRecord { name, ttl, type, 6 more }` - `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` 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. - `1` - `type: "LOC"` Record type. - `"LOC"` - `comment: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted LOC content. See 'data' to set LOC properties. - `data: optional { altitude, lat_degrees, lat_direction, 9 more }` Components of a LOC record. - `altitude: optional number` Altitude of location in meters. - `lat_degrees: optional number` Degrees of latitude. - `lat_direction: optional "N" or "S"` Latitude direction. - `"N"` - `"S"` - `lat_minutes: optional number` Minutes of latitude. - `lat_seconds: optional number` Seconds of latitude. - `long_degrees: optional number` Degrees of longitude. - `long_direction: optional "E" or "W"` Longitude direction. - `"E"` - `"W"` - `long_minutes: optional number` Minutes of longitude. - `long_seconds: optional number` Seconds of longitude. - `precision_horz: optional number` Horizontal precision of location. - `precision_vert: optional number` Vertical precision of location. - `size: optional number` Size of location in meters. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. ### MX Record - `MXRecord { name, ttl, type, 6 more }` - `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` 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. - `1` - `type: "MX"` Record type. - `"MX"` - `comment: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid mail server hostname. - `priority: optional 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: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. ### NAPTR Record - `NAPTRRecord { name, ttl, type, 6 more }` - `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` 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. - `1` - `type: "NAPTR"` Record type. - `"NAPTR"` - `comment: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted NAPTR content. See 'data' to set NAPTR properties. - `data: optional { flags, order, preference, 3 more }` Components of a NAPTR record. - `flags: optional string` Flags. - `order: optional number` Order. - `preference: optional number` Preference. - `regex: optional string` Regex. - `replacement: optional string` Replacement. - `service: optional string` Service. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. ### NS Record - `NSRecord { name, ttl, type, 5 more }` - `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` 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. - `1` - `type: "NS"` Record type. - `"NS"` - `comment: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid name server host name. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. ### PTR Record - `PTRRecord { name, ttl, type, 5 more }` - `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` 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. - `1` - `type: "PTR"` Record type. - `"PTR"` - `comment: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Domain name pointing to the address. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. ### Record - `Record = ARecord or AAAARecord or CNAMERecord or 18 more` - `ARecord { name, ttl, type, 6 more }` - `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` 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. - `1` - `type: "A"` Record type. - `"A"` - `comment: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid IPv4 address. - `private_routing: optional boolean` Enables private network routing to the origin. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `AAAARecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid IPv6 address. - `private_routing: optional boolean` Enables private network routing to the origin. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `CNAMERecord { name, ttl, type, 5 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid hostname. Must not match the record's name. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { flatten_cname, ipv4_only, ipv6_only }` Settings for the DNS record. - `flatten_cname: optional 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: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `MXRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid mail server hostname. - `priority: optional 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: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `NSRecord { name, ttl, type, 5 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A valid name server host name. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `Openpgpkey { name, ttl, type, 5 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1) - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `PTRRecord { name, ttl, type, 5 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Domain name pointing to the address. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `TXTRecord { name, ttl, type, 5 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional 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: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `CAARecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted CAA content. See 'data' to set CAA properties. - `data: optional { flags, tag, value }` Components of a CAA record. - `flags: optional number` Flags for the CAA record. - `tag: optional string` Name of the property controlled by this record (e.g.: issue, issuewild, iodef). - `value: optional string` Value of the record. This field's semantics depend on the chosen tag. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `CERTRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted CERT content. See 'data' to set CERT properties. - `data: optional { algorithm, certificate, key_tag, type }` Components of a CERT record. - `algorithm: optional number` Algorithm. - `certificate: optional string` Certificate. - `key_tag: optional number` Key Tag. - `type: optional number` Type. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `DNSKEYRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted DNSKEY content. See 'data' to set DNSKEY properties. - `data: optional { algorithm, flags, protocol, public_key }` Components of a DNSKEY record. - `algorithm: optional number` Algorithm. - `flags: optional number` Flags. - `protocol: optional number` Protocol. - `public_key: optional string` Public Key. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `DSRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted DS content. See 'data' to set DS properties. - `data: optional { algorithm, digest, digest_type, key_tag }` Components of a DS record. - `algorithm: optional number` Algorithm. - `digest: optional string` Digest. - `digest_type: optional number` Digest Type. - `key_tag: optional number` Key Tag. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `HTTPSRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted HTTPS content. See 'data' to set HTTPS properties. - `data: optional { priority, target, value }` Components of a HTTPS record. - `priority: optional number` Priority. - `target: optional string` Target. - `value: optional string` Value. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `LOCRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted LOC content. See 'data' to set LOC properties. - `data: optional { altitude, lat_degrees, lat_direction, 9 more }` Components of a LOC record. - `altitude: optional number` Altitude of location in meters. - `lat_degrees: optional number` Degrees of latitude. - `lat_direction: optional "N" or "S"` Latitude direction. - `"N"` - `"S"` - `lat_minutes: optional number` Minutes of latitude. - `lat_seconds: optional number` Seconds of latitude. - `long_degrees: optional number` Degrees of longitude. - `long_direction: optional "E" or "W"` Longitude direction. - `"E"` - `"W"` - `long_minutes: optional number` Minutes of longitude. - `long_seconds: optional number` Seconds of longitude. - `precision_horz: optional number` Horizontal precision of location. - `precision_vert: optional number` Vertical precision of location. - `size: optional number` Size of location in meters. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `NAPTRRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted NAPTR content. See 'data' to set NAPTR properties. - `data: optional { flags, order, preference, 3 more }` Components of a NAPTR record. - `flags: optional string` Flags. - `order: optional number` Order. - `preference: optional number` Preference. - `regex: optional string` Regex. - `replacement: optional string` Replacement. - `service: optional string` Service. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `SMIMEARecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted SMIMEA content. See 'data' to set SMIMEA properties. - `data: optional { certificate, matching_type, selector, usage }` Components of a SMIMEA record. - `certificate: optional string` Certificate. - `matching_type: optional number` Matching Type. - `selector: optional number` Selector. - `usage: optional number` Usage. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `SRVRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Priority, weight, port, and SRV target. See 'data' for setting the individual component values. - `data: optional { port, priority, target, weight }` Components of a SRV record. - `port: optional number` The port of the service. - `priority: optional 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: optional string` A valid hostname. - `weight: optional number` The record weight. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `SSHFPRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted SSHFP content. See 'data' to set SSHFP properties. - `data: optional { algorithm, fingerprint, type }` Components of a SSHFP record. - `algorithm: optional number` Algorithm. - `fingerprint: optional string` Fingerprint. - `type: optional number` Type. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `SVCBRecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted SVCB content. See 'data' to set SVCB properties. - `data: optional { priority, target, value }` Components of a SVCB record. - `priority: optional number` Priority. - `target: optional string` Target. - `value: optional string` Value. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `TLSARecord { name, ttl, type, 6 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted TLSA content. See 'data' to set TLSA properties. - `data: optional { certificate, matching_type, selector, usage }` Components of a TLSA record. - `certificate: optional string` Certificate. - `matching_type: optional number` Matching Type. - `selector: optional number` Selector. - `usage: optional number` Usage. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. - `URIRecord { name, ttl, type, 7 more }` - `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: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted URI content. See 'data' to set URI properties. - `data: optional { target, weight }` Components of a URI record. - `target: optional string` The record content. - `weight: optional number` The record weight. - `priority: optional 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: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. ### Record Response - `RecordResponse = ARecord or AAAARecord or CNAMERecord or 18 more` - `A = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `AAAA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CNAME = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `MX = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `NS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `Openpgpkey { id, comment, content, 12 more }` - `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: { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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 of RecordTags` 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` 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. - `1` - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment_modified_on: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `PTR = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `TXT = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CAA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CERT = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `DNSKEY = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `DS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `HTTPS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `LOC = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `NAPTR = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SMIMEA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SRV = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SSHFP = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SVCB = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `TLSA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `URI = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional 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, ttl, type, 6 more }` - `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` 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. - `1` - `type: "SMIMEA"` Record type. - `"SMIMEA"` - `comment: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted SMIMEA content. See 'data' to set SMIMEA properties. - `data: optional { certificate, matching_type, selector, usage }` Components of a SMIMEA record. - `certificate: optional string` Certificate. - `matching_type: optional number` Matching Type. - `selector: optional number` Selector. - `usage: optional number` Usage. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. ### SRV Record - `SRVRecord { name, ttl, type, 6 more }` - `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` 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. - `1` - `type: "SRV"` Record type. - `"SRV"` - `comment: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Priority, weight, port, and SRV target. See 'data' for setting the individual component values. - `data: optional { port, priority, target, weight }` Components of a SRV record. - `port: optional number` The port of the service. - `priority: optional 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: optional string` A valid hostname. - `weight: optional number` The record weight. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. ### SSHFP Record - `SSHFPRecord { name, ttl, type, 6 more }` - `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` 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. - `1` - `type: "SSHFP"` Record type. - `"SSHFP"` - `comment: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted SSHFP content. See 'data' to set SSHFP properties. - `data: optional { algorithm, fingerprint, type }` Components of a SSHFP record. - `algorithm: optional number` Algorithm. - `fingerprint: optional string` Fingerprint. - `type: optional number` Type. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. ### SVCB Record - `SVCBRecord { name, ttl, type, 6 more }` - `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` 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. - `1` - `type: "SVCB"` Record type. - `"SVCB"` - `comment: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted SVCB content. See 'data' to set SVCB properties. - `data: optional { priority, target, value }` Components of a SVCB record. - `priority: optional number` Priority. - `target: optional string` Target. - `value: optional string` Value. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. ### TLSA Record - `TLSARecord { name, ttl, type, 6 more }` - `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` 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. - `1` - `type: "TLSA"` Record type. - `"TLSA"` - `comment: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted TLSA content. See 'data' to set TLSA properties. - `data: optional { certificate, matching_type, selector, usage }` Components of a TLSA record. - `certificate: optional string` Certificate. - `matching_type: optional number` Matching Type. - `selector: optional number` Selector. - `usage: optional number` Usage. - `proxied: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. ### TTL - `TTL = number or 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` 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. - `1` ### TXT Record - `TXTRecord { name, ttl, type, 5 more }` - `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` 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. - `1` - `type: "TXT"` Record type. - `"TXT"` - `comment: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional 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: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. ### URI Record - `URIRecord { name, ttl, type, 7 more }` - `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` 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. - `1` - `type: "URI"` Record type. - `"URI"` - `comment: optional string` Comments or notes about the DNS record. This field has no effect on DNS responses. - `content: optional string` Formatted URI content. See 'data' to set URI properties. - `data: optional { target, weight }` Components of a URI record. - `target: optional string` The record content. - `weight: optional number` The record weight. - `priority: optional 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: optional boolean` Whether the record is receiving the performance and security benefits of Cloudflare. - `settings: optional { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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: optional array of RecordTags` Custom tags for the DNS record. This field has no effect on DNS responses. ### Record Delete Response - `RecordDeleteResponse { id }` - `id: optional string` Identifier. ### Record Export Response - `RecordExportResponse = string` Exported BIND zone file. ### Record Import Response - `RecordImportResponse { recs_added, total_records_parsed }` - `recs_added: optional number` Number of DNS records added. - `total_records_parsed: optional number` Total number of DNS records parsed. ### Record Scan Response - `RecordScanResponse { recs_added, total_records_parsed }` - `recs_added: optional number` Number of DNS records added. - `total_records_parsed: optional number` Total number of DNS records parsed. ### Record Scan Trigger Response - `RecordScanTriggerResponse { errors, messages, success }` - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` ### Record Scan Review Response - `RecordScanReviewResponse { accepts, rejects }` - `accepts: optional array of RecordResponse` - `A = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `AAAA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CNAME = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `MX = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `NS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `Openpgpkey { id, comment, content, 12 more }` - `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: { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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 of RecordTags` 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` 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. - `1` - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment_modified_on: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `PTR = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `TXT = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CAA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CERT = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `DNSKEY = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `DS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `HTTPS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `LOC = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `NAPTR = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SMIMEA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SRV = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SSHFP = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SVCB = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `TLSA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `URI = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `rejects: optional array of string` ### Record Batch Response - `RecordBatchResponse { deletes, patches, posts, puts }` - `deletes: optional array of RecordResponse` - `A = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `AAAA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CNAME = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `MX = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `NS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `Openpgpkey { id, comment, content, 12 more }` - `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: { ipv4_only, ipv6_only }` Settings for the DNS record. - `ipv4_only: optional 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: optional 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 of RecordTags` 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` 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. - `1` - `type: "OPENPGPKEY"` Record type. - `"OPENPGPKEY"` - `comment_modified_on: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `PTR = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `TXT = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CAA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `CERT = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `DNSKEY = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `DS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `HTTPS = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `LOC = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `NAPTR = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SMIMEA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SRV = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SSHFP = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `SVCB = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `TLSA = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `URI = 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: optional string` When the record comment was last modified. Omitted if there is no comment. - `tags_modified_on: optional string` When the record tags were last modified. Omitted if there are no tags. - `patches: optional array of RecordResponse` - `A = ARecord` - `AAAA = AAAARecord` - `CNAME = CNAMERecord` - `MX = MXRecord` - `NS = NSRecord` - `Openpgpkey { id, comment, content, 12 more }` - `PTR = PTRRecord` - `TXT = TXTRecord` - `CAA = CAARecord` - `CERT = CERTRecord` - `DNSKEY = DNSKEYRecord` - `DS = DSRecord` - `HTTPS = HTTPSRecord` - `LOC = LOCRecord` - `NAPTR = NAPTRRecord` - `SMIMEA = SMIMEARecord` - `SRV = SRVRecord` - `SSHFP = SSHFPRecord` - `SVCB = SVCBRecord` - `TLSA = TLSARecord` - `URI = URIRecord` - `posts: optional array of RecordResponse` - `A = ARecord` - `AAAA = AAAARecord` - `CNAME = CNAMERecord` - `MX = MXRecord` - `NS = NSRecord` - `Openpgpkey { id, comment, content, 12 more }` - `PTR = PTRRecord` - `TXT = TXTRecord` - `CAA = CAARecord` - `CERT = CERTRecord` - `DNSKEY = DNSKEYRecord` - `DS = DSRecord` - `HTTPS = HTTPSRecord` - `LOC = LOCRecord` - `NAPTR = NAPTRRecord` - `SMIMEA = SMIMEARecord` - `SRV = SRVRecord` - `SSHFP = SSHFPRecord` - `SVCB = SVCBRecord` - `TLSA = TLSARecord` - `URI = URIRecord` - `puts: optional array of RecordResponse` - `A = ARecord` - `AAAA = AAAARecord` - `CNAME = CNAMERecord` - `MX = MXRecord` - `NS = NSRecord` - `Openpgpkey { id, comment, content, 12 more }` - `PTR = PTRRecord` - `TXT = TXTRecord` - `CAA = CAARecord` - `CERT = CERTRecord` - `DNSKEY = DNSKEYRecord` - `DS = DSRecord` - `HTTPS = HTTPSRecord` - `LOC = LOCRecord` - `NAPTR = NAPTRRecord` - `SMIMEA = SMIMEARecord` - `SRV = SRVRecord` - `SSHFP = SSHFPRecord` - `SVCB = SVCBRecord` - `TLSA = TLSARecord` - `URI = URIRecord` # Usage # Zone # Account # Settings # Zone ## Show DNS Settings **get** `/zones/{zone_id}/dns_settings` Show DNS settings for a zone ### Path Parameters - `zone_id: string` Identifier. ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional { flatten_all_cnames, foundation_dns, internal_dns, 6 more }` - `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: { reference_zone_id }` Settings for this internal zone. - `reference_zone_id: optional 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: { type, ns_set }` Settings determining the nameservers through which the zone should be available. - `type: "cloudflare.standard" or "custom.account" or "custom.tenant" or "custom.zone"` Nameserver type - `"cloudflare.standard"` - `"custom.account"` - `"custom.tenant"` - `"custom.zone"` - `ns_set: optional 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: { expire, min_ttl, mname, 4 more }` Components of the zone's SOA record. - `expire: optional number` Time in seconds of being unable to query the primary server after which secondary servers should stop serving the zone. - `min_ttl: optional number` The time to live (TTL) for negative caching of records within the zone. - `mname: optional string` The primary nameserver, which may be used for outbound zone transfers. If null, a Cloudflare-assigned value will be used. - `refresh: optional number` Time in seconds after which secondary servers should re-check the SOA record to see if the zone has been updated. - `retry: optional number` Time in seconds after which secondary servers should retry queries after the primary server was unresponsive. - `rname: optional string` The email address of the zone administrator, with the first label representing the local part of the email address. - `ttl: optional number` The time to live (TTL) of the SOA record itself. - `zone_mode: "standard" or "cdn_only" or "dns_only"` Whether the zone mode is a regular or CDN/DNS only zone. - `"standard"` - `"cdn_only"` - `"dns_only"` ### Example ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_settings \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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 **patch** `/zones/{zone_id}/dns_settings` Update DNS settings for a zone ### Path Parameters - `zone_id: string` Identifier. ### Body Parameters - `flatten_all_cnames: optional 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: optional boolean` Whether to enable Foundation DNS Advanced Nameservers on the zone. - `internal_dns: optional { reference_zone_id }` Settings for this internal zone. - `reference_zone_id: optional string` The ID of the zone to fallback to. - `multi_provider: optional 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: optional { ns_set, type }` Settings determining the nameservers through which the zone should be available. - `ns_set: optional number` Configured nameserver set to be used for this zone - `type: optional "cloudflare.standard" or "custom.account" or "custom.tenant" or "custom.zone"` Nameserver type - `"cloudflare.standard"` - `"custom.account"` - `"custom.tenant"` - `"custom.zone"` - `ns_ttl: optional number` The time to live (TTL) of the zone's nameserver (NS) records. - `secondary_overrides: optional boolean` Allows a Secondary DNS zone to use (proxied) override records and CNAME flattening at the zone apex. - `soa: optional { expire, min_ttl, mname, 4 more }` Components of the zone's SOA record. - `expire: optional number` Time in seconds of being unable to query the primary server after which secondary servers should stop serving the zone. - `min_ttl: optional number` The time to live (TTL) for negative caching of records within the zone. - `mname: optional string` The primary nameserver, which may be used for outbound zone transfers. If null, a Cloudflare-assigned value will be used. - `refresh: optional number` Time in seconds after which secondary servers should re-check the SOA record to see if the zone has been updated. - `retry: optional number` Time in seconds after which secondary servers should retry queries after the primary server was unresponsive. - `rname: optional string` The email address of the zone administrator, with the first label representing the local part of the email address. - `ttl: optional number` The time to live (TTL) of the SOA record itself. - `zone_mode: optional "standard" or "cdn_only" or "dns_only"` Whether the zone mode is a regular or CDN/DNS only zone. - `"standard"` - `"cdn_only"` - `"dns_only"` ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional { flatten_all_cnames, foundation_dns, internal_dns, 6 more }` - `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: { reference_zone_id }` Settings for this internal zone. - `reference_zone_id: optional 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: { type, ns_set }` Settings determining the nameservers through which the zone should be available. - `type: "cloudflare.standard" or "custom.account" or "custom.tenant" or "custom.zone"` Nameserver type - `"cloudflare.standard"` - `"custom.account"` - `"custom.tenant"` - `"custom.zone"` - `ns_set: optional 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: { expire, min_ttl, mname, 4 more }` Components of the zone's SOA record. - `expire: optional number` Time in seconds of being unable to query the primary server after which secondary servers should stop serving the zone. - `min_ttl: optional number` The time to live (TTL) for negative caching of records within the zone. - `mname: optional string` The primary nameserver, which may be used for outbound zone transfers. If null, a Cloudflare-assigned value will be used. - `refresh: optional number` Time in seconds after which secondary servers should re-check the SOA record to see if the zone has been updated. - `retry: optional number` Time in seconds after which secondary servers should retry queries after the primary server was unresponsive. - `rname: optional string` The email address of the zone administrator, with the first label representing the local part of the email address. - `ttl: optional number` The time to live (TTL) of the SOA record itself. - `zone_mode: "standard" or "cdn_only" or "dns_only"` Whether the zone mode is a regular or CDN/DNS only zone. - `"standard"` - `"cdn_only"` - `"dns_only"` ### Example ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_settings \ -X PATCH \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ -d '{ "ns_ttl": 86400, "zone_mode": "dns_only" }' ``` #### 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, foundation_dns, internal_dns, 6 more }` - `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: { reference_zone_id }` Settings for this internal zone. - `reference_zone_id: optional 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: { type, ns_set }` Settings determining the nameservers through which the zone should be available. - `type: "cloudflare.standard" or "custom.account" or "custom.tenant" or "custom.zone"` Nameserver type - `"cloudflare.standard"` - `"custom.account"` - `"custom.tenant"` - `"custom.zone"` - `ns_set: optional 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: { expire, min_ttl, mname, 4 more }` Components of the zone's SOA record. - `expire: optional number` Time in seconds of being unable to query the primary server after which secondary servers should stop serving the zone. - `min_ttl: optional number` The time to live (TTL) for negative caching of records within the zone. - `mname: optional string` The primary nameserver, which may be used for outbound zone transfers. If null, a Cloudflare-assigned value will be used. - `refresh: optional number` Time in seconds after which secondary servers should re-check the SOA record to see if the zone has been updated. - `retry: optional number` Time in seconds after which secondary servers should retry queries after the primary server was unresponsive. - `rname: optional string` The email address of the zone administrator, with the first label representing the local part of the email address. - `ttl: optional number` The time to live (TTL) of the SOA record itself. - `zone_mode: "standard" or "cdn_only" or "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, foundation_dns, internal_dns, 6 more }` - `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: { reference_zone_id }` Settings for this internal zone. - `reference_zone_id: optional 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: { type, ns_set }` Settings determining the nameservers through which the zone should be available. - `type: "cloudflare.standard" or "custom.account" or "custom.tenant" or "custom.zone"` Nameserver type - `"cloudflare.standard"` - `"custom.account"` - `"custom.tenant"` - `"custom.zone"` - `ns_set: optional 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: { expire, min_ttl, mname, 4 more }` Components of the zone's SOA record. - `expire: optional number` Time in seconds of being unable to query the primary server after which secondary servers should stop serving the zone. - `min_ttl: optional number` The time to live (TTL) for negative caching of records within the zone. - `mname: optional string` The primary nameserver, which may be used for outbound zone transfers. If null, a Cloudflare-assigned value will be used. - `refresh: optional number` Time in seconds after which secondary servers should re-check the SOA record to see if the zone has been updated. - `retry: optional number` Time in seconds after which secondary servers should retry queries after the primary server was unresponsive. - `rname: optional string` The email address of the zone administrator, with the first label representing the local part of the email address. - `ttl: optional number` The time to live (TTL) of the SOA record itself. - `zone_mode: "standard" or "cdn_only" or "dns_only"` Whether the zone mode is a regular or CDN/DNS only zone. - `"standard"` - `"cdn_only"` - `"dns_only"` # Account ## Show DNS Settings **get** `/accounts/{account_id}/dns_settings` Show DNS settings for an account ### Path Parameters - `account_id: string` Identifier. ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional { zone_defaults }` - `zone_defaults: { flatten_all_cnames, foundation_dns, internal_dns, 6 more }` - `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: { reference_zone_id }` Settings for this internal zone. - `reference_zone_id: optional 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: { type }` Settings determining the nameservers through which the zone should be available. - `type: "cloudflare.standard" or "cloudflare.standard.random" or "custom.account" or "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: { expire, min_ttl, mname, 4 more }` Components of the zone's SOA record. - `expire: optional number` Time in seconds of being unable to query the primary server after which secondary servers should stop serving the zone. - `min_ttl: optional number` The time to live (TTL) for negative caching of records within the zone. - `mname: optional string` The primary nameserver, which may be used for outbound zone transfers. If null, a Cloudflare-assigned value will be used. - `refresh: optional number` Time in seconds after which secondary servers should re-check the SOA record to see if the zone has been updated. - `retry: optional number` Time in seconds after which secondary servers should retry queries after the primary server was unresponsive. - `rname: optional string` The email address of the zone administrator, with the first label representing the local part of the email address. - `ttl: optional number` The time to live (TTL) of the SOA record itself. - `zone_mode: "standard" or "cdn_only" or "dns_only"` Whether the zone mode is a regular or CDN/DNS only zone. - `"standard"` - `"cdn_only"` - `"dns_only"` ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/dns_settings \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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 **patch** `/accounts/{account_id}/dns_settings` Update DNS settings for an account ### Path Parameters - `account_id: string` Identifier. ### Body Parameters - `zone_defaults: optional { flatten_all_cnames, foundation_dns, internal_dns, 6 more }` - `flatten_all_cnames: optional 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: optional boolean` Whether to enable Foundation DNS Advanced Nameservers on the zone. - `internal_dns: optional { reference_zone_id }` Settings for this internal zone. - `reference_zone_id: optional string` The ID of the zone to fallback to. - `multi_provider: optional 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: optional { type }` Settings determining the nameservers through which the zone should be available. - `type: optional "cloudflare.standard" or "cloudflare.standard.random" or "custom.account" or "custom.tenant"` Nameserver type - `"cloudflare.standard"` - `"cloudflare.standard.random"` - `"custom.account"` - `"custom.tenant"` - `ns_ttl: optional number` The time to live (TTL) of the zone's nameserver (NS) records. - `secondary_overrides: optional boolean` Allows a Secondary DNS zone to use (proxied) override records and CNAME flattening at the zone apex. - `soa: optional { expire, min_ttl, mname, 4 more }` Components of the zone's SOA record. - `expire: optional number` Time in seconds of being unable to query the primary server after which secondary servers should stop serving the zone. - `min_ttl: optional number` The time to live (TTL) for negative caching of records within the zone. - `mname: optional string` The primary nameserver, which may be used for outbound zone transfers. If null, a Cloudflare-assigned value will be used. - `refresh: optional number` Time in seconds after which secondary servers should re-check the SOA record to see if the zone has been updated. - `retry: optional number` Time in seconds after which secondary servers should retry queries after the primary server was unresponsive. - `rname: optional string` The email address of the zone administrator, with the first label representing the local part of the email address. - `ttl: optional number` The time to live (TTL) of the SOA record itself. - `zone_mode: optional "standard" or "cdn_only" or "dns_only"` Whether the zone mode is a regular or CDN/DNS only zone. - `"standard"` - `"cdn_only"` - `"dns_only"` ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional { zone_defaults }` - `zone_defaults: { flatten_all_cnames, foundation_dns, internal_dns, 6 more }` - `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: { reference_zone_id }` Settings for this internal zone. - `reference_zone_id: optional 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: { type }` Settings determining the nameservers through which the zone should be available. - `type: "cloudflare.standard" or "cloudflare.standard.random" or "custom.account" or "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: { expire, min_ttl, mname, 4 more }` Components of the zone's SOA record. - `expire: optional number` Time in seconds of being unable to query the primary server after which secondary servers should stop serving the zone. - `min_ttl: optional number` The time to live (TTL) for negative caching of records within the zone. - `mname: optional string` The primary nameserver, which may be used for outbound zone transfers. If null, a Cloudflare-assigned value will be used. - `refresh: optional number` Time in seconds after which secondary servers should re-check the SOA record to see if the zone has been updated. - `retry: optional number` Time in seconds after which secondary servers should retry queries after the primary server was unresponsive. - `rname: optional string` The email address of the zone administrator, with the first label representing the local part of the email address. - `ttl: optional number` The time to live (TTL) of the SOA record itself. - `zone_mode: "standard" or "cdn_only" or "dns_only"` Whether the zone mode is a regular or CDN/DNS only zone. - `"standard"` - `"cdn_only"` - `"dns_only"` ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/dns_settings \ -X PATCH \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ -d '{}' ``` #### 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 }` - `zone_defaults: { flatten_all_cnames, foundation_dns, internal_dns, 6 more }` - `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: { reference_zone_id }` Settings for this internal zone. - `reference_zone_id: optional 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: { type }` Settings determining the nameservers through which the zone should be available. - `type: "cloudflare.standard" or "cloudflare.standard.random" or "custom.account" or "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: { expire, min_ttl, mname, 4 more }` Components of the zone's SOA record. - `expire: optional number` Time in seconds of being unable to query the primary server after which secondary servers should stop serving the zone. - `min_ttl: optional number` The time to live (TTL) for negative caching of records within the zone. - `mname: optional string` The primary nameserver, which may be used for outbound zone transfers. If null, a Cloudflare-assigned value will be used. - `refresh: optional number` Time in seconds after which secondary servers should re-check the SOA record to see if the zone has been updated. - `retry: optional number` Time in seconds after which secondary servers should retry queries after the primary server was unresponsive. - `rname: optional string` The email address of the zone administrator, with the first label representing the local part of the email address. - `ttl: optional number` The time to live (TTL) of the SOA record itself. - `zone_mode: "standard" or "cdn_only" or "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 }` - `zone_defaults: { flatten_all_cnames, foundation_dns, internal_dns, 6 more }` - `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: { reference_zone_id }` Settings for this internal zone. - `reference_zone_id: optional 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: { type }` Settings determining the nameservers through which the zone should be available. - `type: "cloudflare.standard" or "cloudflare.standard.random" or "custom.account" or "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: { expire, min_ttl, mname, 4 more }` Components of the zone's SOA record. - `expire: optional number` Time in seconds of being unable to query the primary server after which secondary servers should stop serving the zone. - `min_ttl: optional number` The time to live (TTL) for negative caching of records within the zone. - `mname: optional string` The primary nameserver, which may be used for outbound zone transfers. If null, a Cloudflare-assigned value will be used. - `refresh: optional number` Time in seconds after which secondary servers should re-check the SOA record to see if the zone has been updated. - `retry: optional number` Time in seconds after which secondary servers should retry queries after the primary server was unresponsive. - `rname: optional string` The email address of the zone administrator, with the first label representing the local part of the email address. - `ttl: optional number` The time to live (TTL) of the SOA record itself. - `zone_mode: "standard" or "cdn_only" or "dns_only"` Whether the zone mode is a regular or CDN/DNS only zone. - `"standard"` - `"cdn_only"` - `"dns_only"` # Views ## List Internal DNS Views **get** `/accounts/{account_id}/dns_settings/views` List DNS Internal Views for an Account ### Path Parameters - `account_id: string` Identifier. ### Query Parameters - `direction: optional "asc" or "desc"` Direction to order DNS views in. - `"asc"` - `"desc"` - `match: optional "any" or "all"` 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: optional { contains, endswith, exact, startswith }` - `contains: optional string` Substring of the DNS view name. - `endswith: optional string` Suffix of the DNS view name. - `exact: optional string` Exact value of the DNS view name. - `startswith: optional string` Prefix of the DNS view name. - `order: optional "name" or "created_on" or "modified_on"` Field to order DNS views by. - `"name"` - `"created_on"` - `"modified_on"` - `page: optional number` Page number of paginated results. - `per_page: optional number` Number of DNS views per page. - `zone_id: optional string` A zone ID that exists in the zones list for the view. - `zone_name: optional string` A zone name that exists in the zones list for the view. ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional array of { id, created_time, modified_time, 2 more }` - `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 of string` The list of zones linked to this view. - `result_info: optional { count, page, per_page, 2 more }` - `count: optional number` Total number of results for the requested service. - `page: optional number` Current page within paginated list of results. - `per_page: optional number` Number of results per page of results. - `total_count: optional number` Total results available without any search parameters. - `total_pages: optional number` The number of total pages in the entire result set. ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/dns_settings/views \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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 **get** `/accounts/{account_id}/dns_settings/views/{view_id}` Get DNS Internal View ### Path Parameters - `account_id: string` Identifier. - `view_id: string` Identifier. ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional { id, created_time, modified_time, 2 more }` - `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 of string` The list of zones linked to this view. ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/dns_settings/views/$VIEW_ID \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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 **post** `/accounts/{account_id}/dns_settings/views` Create Internal DNS View for an account ### Path Parameters - `account_id: string` Identifier. ### Body Parameters - `name: string` The name of the view. - `zones: array of string` The list of zones linked to this view. ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional { id, created_time, modified_time, 2 more }` - `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 of string` The list of zones linked to this view. ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/dns_settings/views \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ -d '{ "name": "my view", "zones": [ "372e67954025e0ba6aaa6d586b9e0b59" ] }' ``` #### 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 **patch** `/accounts/{account_id}/dns_settings/views/{view_id}` Update an existing Internal DNS View ### Path Parameters - `account_id: string` Identifier. - `view_id: string` Identifier. ### Body Parameters - `name: optional string` The name of the view. - `zones: optional array of string` The list of zones linked to this view. ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional { id, created_time, modified_time, 2 more }` - `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 of string` The list of zones linked to this view. ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/dns_settings/views/$VIEW_ID \ -X PATCH \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ -d '{ "name": "my view" }' ``` #### 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 **delete** `/accounts/{account_id}/dns_settings/views/{view_id}` Delete an existing Internal DNS View ### Path Parameters - `account_id: string` Identifier. - `view_id: string` Identifier. ### Returns - `result: optional { id }` - `id: optional string` Identifier. ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/dns_settings/views/$VIEW_ID \ -X DELETE \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### Response ```json { "result": { "id": "023e105f4ecef8ad9ca31a8372d0c353" } } ``` ## Domain Types ### View List Response - `ViewListResponse { id, created_time, modified_time, 2 more }` - `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 of string` The list of zones linked to this view. ### View Get Response - `ViewGetResponse { id, created_time, modified_time, 2 more }` - `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 of string` The list of zones linked to this view. ### View Create Response - `ViewCreateResponse { id, created_time, modified_time, 2 more }` - `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 of string` The list of zones linked to this view. ### View Edit Response - `ViewEditResponse { id, created_time, modified_time, 2 more }` - `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 of string` The list of zones linked to this view. ### View Delete Response - `ViewDeleteResponse { id }` - `id: optional string` Identifier. # Analytics # Reports ## Table **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. ### Path Parameters - `zone_id: string` Identifier. ### Query Parameters - `dimensions: optional string` A comma-separated list of dimensions to group results by. - `filters: optional string` Segmentation filter in 'attribute operator value' format. - `limit: optional number` Limit number of returned metrics. - `metrics: optional string` A comma-separated list of metrics to query. - `since: optional string` Start date and time of requesting data period in ISO 8601 format. - `sort: optional string` A comma-separated list of dimensions to sort by, where each dimension may be prefixed by - (descending) or + (ascending). - `until: optional string` End date and time of requesting data period in ISO 8601 format. ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional Report` - `data: array of { dimensions, metrics }` Array with one row per combination of dimension values. - `dimensions: array of string` Array of dimension values, representing the combination of dimension values corresponding to this row. - `metrics: array of number` 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: { dimensions, limit, metrics, 4 more }` - `dimensions: array of string` Array of dimension names. - `limit: number` Limit number of returned metrics. - `metrics: array of string` 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: optional string` Segmentation filter in 'attribute operator value' format. - `sort: optional array of string` 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 ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_analytics/report \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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, data_lag, max, 4 more }` - `data: array of { dimensions, metrics }` Array with one row per combination of dimension values. - `dimensions: array of string` Array of dimension values, representing the combination of dimension values corresponding to this row. - `metrics: array of number` 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: { dimensions, limit, metrics, 4 more }` - `dimensions: array of string` Array of dimension names. - `limit: number` Limit number of returned metrics. - `metrics: array of string` 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: optional string` Segmentation filter in 'attribute operator value' format. - `sort: optional array of string` 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 **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. ### Path Parameters - `zone_id: string` Identifier. ### Query Parameters - `dimensions: optional string` A comma-separated list of dimensions to group results by. - `filters: optional string` Segmentation filter in 'attribute operator value' format. - `limit: optional number` Limit number of returned metrics. - `metrics: optional string` A comma-separated list of metrics to query. - `since: optional string` Start date and time of requesting data period in ISO 8601 format. - `sort: optional string` A comma-separated list of dimensions to sort by, where each dimension may be prefixed by - (descending) or + (ascending). - `time_delta: optional "all" or "auto" or "year" or 7 more` Unit of time to group data by. - `"all"` - `"auto"` - `"year"` - `"quarter"` - `"month"` - `"week"` - `"day"` - `"hour"` - `"dekaminute"` - `"minute"` - `until: optional string` End date and time of requesting data period in ISO 8601 format. ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional ByTime` - `data: array of { dimensions, metrics }` Array with one row per combination of dimension values. - `dimensions: array of string` Array of dimension values, representing the combination of dimension values corresponding to this row. - `metrics: array of array of number` 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: { dimensions, limit, metrics, 5 more }` - `dimensions: array of string` Array of dimension names. - `limit: number` Limit number of returned metrics. - `metrics: array of string` Array of metric names. - `since: string` Start date and time of requesting data period in ISO 8601 format. - `time_delta: "all" or "auto" or "year" or 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: optional string` Segmentation filter in 'attribute operator value' format. - `sort: optional array of string` 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 of array of string` 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 ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/dns_analytics/report/bytime \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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, data_lag, max, 5 more }` - `data: array of { dimensions, metrics }` Array with one row per combination of dimension values. - `dimensions: array of string` Array of dimension values, representing the combination of dimension values corresponding to this row. - `metrics: array of array of number` 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: { dimensions, limit, metrics, 5 more }` - `dimensions: array of string` Array of dimension names. - `limit: number` Limit number of returned metrics. - `metrics: array of string` Array of metric names. - `since: string` Start date and time of requesting data period in ISO 8601 format. - `time_delta: "all" or "auto" or "year" or 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: optional string` Segmentation filter in 'attribute operator value' format. - `sort: optional array of string` 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 of array of string` 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 **post** `/zones/{zone_id}/secondary_dns/force_axfr` Sends AXFR zone transfer request to primary nameserver(s). ### Path Parameters - `zone_id: string` ### Body Parameters - `body: unknown` ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional ForceAXFR` When force_axfr query parameter is set to true, the response is a simple string. ### Example ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/secondary_dns/force_axfr \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ -d '{}' ``` #### 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 **get** `/zones/{zone_id}/secondary_dns/incoming` Get secondary zone configuration for incoming zone transfers. ### Path Parameters - `zone_id: string` ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional { id, auto_refresh_seconds, checked_time, 5 more }` - `id: optional string` - `auto_refresh_seconds: optional number` How often should a secondary zone auto refresh regardless of DNS NOTIFY. Not applicable for primary zones. - `checked_time: optional string` The time for a specific event. - `created_time: optional string` The time for a specific event. - `modified_time: optional string` The time for a specific event. - `name: optional string` Zone name. - `peers: optional array of string` A list of peer tags. - `soa_serial: optional number` The serial number of the SOA for the given zone. ### Example ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/secondary_dns/incoming \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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 **post** `/zones/{zone_id}/secondary_dns/incoming` Create secondary zone configuration for incoming zone transfers. ### Path Parameters - `zone_id: string` ### Body Parameters - `auto_refresh_seconds: number` How often should a secondary zone auto refresh regardless of DNS NOTIFY. Not applicable for primary zones. - `name: string` Zone name. - `peers: array of string` A list of peer tags. ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional { id, auto_refresh_seconds, checked_time, 5 more }` - `id: optional string` - `auto_refresh_seconds: optional number` How often should a secondary zone auto refresh regardless of DNS NOTIFY. Not applicable for primary zones. - `checked_time: optional string` The time for a specific event. - `created_time: optional string` The time for a specific event. - `modified_time: optional string` The time for a specific event. - `name: optional string` Zone name. - `peers: optional array of string` A list of peer tags. - `soa_serial: optional number` The serial number of the SOA for the given zone. ### Example ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/secondary_dns/incoming \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ -d '{ "auto_refresh_seconds": 86400, "name": "www.example.com.", "peers": [ "23ff594956f20c2a721606e94745a8aa", "00920f38ce07c2e2f4df50b1f61d4194" ] }' ``` #### 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 **put** `/zones/{zone_id}/secondary_dns/incoming` Update secondary zone configuration for incoming zone transfers. ### Path Parameters - `zone_id: string` ### Body Parameters - `auto_refresh_seconds: number` How often should a secondary zone auto refresh regardless of DNS NOTIFY. Not applicable for primary zones. - `name: string` Zone name. - `peers: array of string` A list of peer tags. ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional { id, auto_refresh_seconds, checked_time, 5 more }` - `id: optional string` - `auto_refresh_seconds: optional number` How often should a secondary zone auto refresh regardless of DNS NOTIFY. Not applicable for primary zones. - `checked_time: optional string` The time for a specific event. - `created_time: optional string` The time for a specific event. - `modified_time: optional string` The time for a specific event. - `name: optional string` Zone name. - `peers: optional array of string` A list of peer tags. - `soa_serial: optional number` The serial number of the SOA for the given zone. ### Example ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/secondary_dns/incoming \ -X PUT \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ -d '{ "auto_refresh_seconds": 86400, "name": "www.example.com.", "peers": [ "23ff594956f20c2a721606e94745a8aa", "00920f38ce07c2e2f4df50b1f61d4194" ] }' ``` #### 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 **delete** `/zones/{zone_id}/secondary_dns/incoming` Delete secondary zone configuration for incoming zone transfers. ### Path Parameters - `zone_id: string` ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional { id }` - `id: optional string` ### Example ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/secondary_dns/incoming \ -X DELETE \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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, auto_refresh_seconds, checked_time, 5 more }` - `id: optional string` - `auto_refresh_seconds: optional number` How often should a secondary zone auto refresh regardless of DNS NOTIFY. Not applicable for primary zones. - `checked_time: optional string` The time for a specific event. - `created_time: optional string` The time for a specific event. - `modified_time: optional string` The time for a specific event. - `name: optional string` Zone name. - `peers: optional array of string` A list of peer tags. - `soa_serial: optional number` The serial number of the SOA for the given zone. ### Incoming Get Response - `IncomingGetResponse { id, auto_refresh_seconds, checked_time, 5 more }` - `id: optional string` - `auto_refresh_seconds: optional number` How often should a secondary zone auto refresh regardless of DNS NOTIFY. Not applicable for primary zones. - `checked_time: optional string` The time for a specific event. - `created_time: optional string` The time for a specific event. - `modified_time: optional string` The time for a specific event. - `name: optional string` Zone name. - `peers: optional array of string` A list of peer tags. - `soa_serial: optional number` The serial number of the SOA for the given zone. ### Incoming Create Response - `IncomingCreateResponse { id, auto_refresh_seconds, checked_time, 5 more }` - `id: optional string` - `auto_refresh_seconds: optional number` How often should a secondary zone auto refresh regardless of DNS NOTIFY. Not applicable for primary zones. - `checked_time: optional string` The time for a specific event. - `created_time: optional string` The time for a specific event. - `modified_time: optional string` The time for a specific event. - `name: optional string` Zone name. - `peers: optional array of string` A list of peer tags. - `soa_serial: optional number` The serial number of the SOA for the given zone. ### Incoming Update Response - `IncomingUpdateResponse { id, auto_refresh_seconds, checked_time, 5 more }` - `id: optional string` - `auto_refresh_seconds: optional number` How often should a secondary zone auto refresh regardless of DNS NOTIFY. Not applicable for primary zones. - `checked_time: optional string` The time for a specific event. - `created_time: optional string` The time for a specific event. - `modified_time: optional string` The time for a specific event. - `name: optional string` Zone name. - `peers: optional array of string` A list of peer tags. - `soa_serial: optional number` The serial number of the SOA for the given zone. ### Incoming Delete Response - `IncomingDeleteResponse { id }` - `id: optional string` # Outgoing ## Primary Zone Configuration Details **get** `/zones/{zone_id}/secondary_dns/outgoing` Get primary zone configuration for outgoing zone transfers. ### Path Parameters - `zone_id: string` ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional { id, checked_time, created_time, 4 more }` - `id: optional string` - `checked_time: optional string` The time for a specific event. - `created_time: optional string` The time for a specific event. - `last_transferred_time: optional string` The time for a specific event. - `name: optional string` Zone name. - `peers: optional array of string` A list of peer tags. - `soa_serial: optional number` The serial number of the SOA for the given zone. ### Example ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/secondary_dns/outgoing \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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 **post** `/zones/{zone_id}/secondary_dns/outgoing` Create primary zone configuration for outgoing zone transfers. ### Path Parameters - `zone_id: string` ### Body Parameters - `name: string` Zone name. - `peers: array of string` A list of peer tags. ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional { id, checked_time, created_time, 4 more }` - `id: optional string` - `checked_time: optional string` The time for a specific event. - `created_time: optional string` The time for a specific event. - `last_transferred_time: optional string` The time for a specific event. - `name: optional string` Zone name. - `peers: optional array of string` A list of peer tags. - `soa_serial: optional number` The serial number of the SOA for the given zone. ### Example ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/secondary_dns/outgoing \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ -d '{ "name": "www.example.com.", "peers": [ "23ff594956f20c2a721606e94745a8aa", "00920f38ce07c2e2f4df50b1f61d4194" ] }' ``` #### 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 **put** `/zones/{zone_id}/secondary_dns/outgoing` Update primary zone configuration for outgoing zone transfers. ### Path Parameters - `zone_id: string` ### Body Parameters - `name: string` Zone name. - `peers: array of string` A list of peer tags. ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional { id, checked_time, created_time, 4 more }` - `id: optional string` - `checked_time: optional string` The time for a specific event. - `created_time: optional string` The time for a specific event. - `last_transferred_time: optional string` The time for a specific event. - `name: optional string` Zone name. - `peers: optional array of string` A list of peer tags. - `soa_serial: optional number` The serial number of the SOA for the given zone. ### Example ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/secondary_dns/outgoing \ -X PUT \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ -d '{ "name": "www.example.com.", "peers": [ "23ff594956f20c2a721606e94745a8aa", "00920f38ce07c2e2f4df50b1f61d4194" ] }' ``` #### 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 **delete** `/zones/{zone_id}/secondary_dns/outgoing` Delete primary zone configuration for outgoing zone transfers. ### Path Parameters - `zone_id: string` ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional { id }` - `id: optional string` ### Example ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/secondary_dns/outgoing \ -X DELETE \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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 **post** `/zones/{zone_id}/secondary_dns/outgoing/disable` Disable outgoing zone transfers for primary zone and clears IXFR backlog of primary zone. ### Path Parameters - `zone_id: string` ### Body Parameters - `body: unknown` ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional DisableTransfer` The zone transfer status of a primary zone. ### Example ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/secondary_dns/outgoing/disable \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ -d '{}' ``` #### 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 **post** `/zones/{zone_id}/secondary_dns/outgoing/enable` Enable outgoing zone transfers for primary zone. ### Path Parameters - `zone_id: string` ### Body Parameters - `body: unknown` ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional EnableTransfer` The zone transfer status of a primary zone. ### Example ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/secondary_dns/outgoing/enable \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ -d '{}' ``` #### 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 **post** `/zones/{zone_id}/secondary_dns/outgoing/force_notify` Notifies the secondary nameserver(s) and clears IXFR backlog of primary zone. ### Path Parameters - `zone_id: string` ### Body Parameters - `body: unknown` ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional string` When force_notify query parameter is set to true, the response is a simple string. ### Example ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/secondary_dns/outgoing/force_notify \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ -d '{}' ``` #### 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, checked_time, created_time, 4 more }` - `id: optional string` - `checked_time: optional string` The time for a specific event. - `created_time: optional string` The time for a specific event. - `last_transferred_time: optional string` The time for a specific event. - `name: optional string` Zone name. - `peers: optional array of string` A list of peer tags. - `soa_serial: optional number` The serial number of the SOA for the given zone. ### Outgoing Status - `OutgoingStatus = string` The zone transfer status of a primary zone. ### Outgoing Get Response - `OutgoingGetResponse { id, checked_time, created_time, 4 more }` - `id: optional string` - `checked_time: optional string` The time for a specific event. - `created_time: optional string` The time for a specific event. - `last_transferred_time: optional string` The time for a specific event. - `name: optional string` Zone name. - `peers: optional array of string` A list of peer tags. - `soa_serial: optional number` The serial number of the SOA for the given zone. ### Outgoing Create Response - `OutgoingCreateResponse { id, checked_time, created_time, 4 more }` - `id: optional string` - `checked_time: optional string` The time for a specific event. - `created_time: optional string` The time for a specific event. - `last_transferred_time: optional string` The time for a specific event. - `name: optional string` Zone name. - `peers: optional array of string` A list of peer tags. - `soa_serial: optional number` The serial number of the SOA for the given zone. ### Outgoing Update Response - `OutgoingUpdateResponse { id, checked_time, created_time, 4 more }` - `id: optional string` - `checked_time: optional string` The time for a specific event. - `created_time: optional string` The time for a specific event. - `last_transferred_time: optional string` The time for a specific event. - `name: optional string` Zone name. - `peers: optional array of string` A list of peer tags. - `soa_serial: optional number` The serial number of the SOA for the given zone. ### Outgoing Delete Response - `OutgoingDeleteResponse { id }` - `id: optional 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 **get** `/zones/{zone_id}/secondary_dns/outgoing/status` Get primary zone transfer status. ### Path Parameters - `zone_id: string` ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional EnableTransfer` The zone transfer status of a primary zone. ### Example ```http curl https://api.cloudflare.com/client/v4/zones/$ZONE_ID/secondary_dns/outgoing/status \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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 **get** `/accounts/{account_id}/secondary_dns/acls` List ACLs. ### Path Parameters - `account_id: string` ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional array of 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. - `result_info: optional { count, page, per_page, 2 more }` - `count: optional number` Total number of results for the requested service. - `page: optional number` Current page within paginated list of results. - `per_page: optional number` Number of results per page of results. - `total_count: optional number` Total results available without any search parameters. - `total_pages: optional number` The number of total pages in the entire result set. ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/secondary_dns/acls \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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 **get** `/accounts/{account_id}/secondary_dns/acls/{acl_id}` Get ACL. ### Path Parameters - `account_id: string` - `acl_id: string` ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional 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 ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/secondary_dns/acls/$ACL_ID \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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 **post** `/accounts/{account_id}/secondary_dns/acls` Create ACL. ### Path Parameters - `account_id: string` ### Body Parameters - `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. ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional 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 ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/secondary_dns/acls \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ -d '{ "ip_range": "192.0.2.53/28", "name": "my-acl-1" }' ``` #### 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 **put** `/accounts/{account_id}/secondary_dns/acls/{acl_id}` Modify ACL. ### Path Parameters - `account_id: string` - `acl_id: string` ### Body Parameters - `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. ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional 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 ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/secondary_dns/acls/$ACL_ID \ -X PUT \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ -d '{ "ip_range": "192.0.2.53/28", "name": "my-acl-1" }' ``` #### 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 **delete** `/accounts/{account_id}/secondary_dns/acls/{acl_id}` Delete ACL. ### Path Parameters - `account_id: string` - `acl_id: string` ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional { id }` - `id: optional string` ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/secondary_dns/acls/$ACL_ID \ -X DELETE \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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, ip_range, name }` - `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 }` - `id: optional string` # Peers ## List Peers **get** `/accounts/{account_id}/secondary_dns/peers` List Peers. ### Path Parameters - `account_id: string` ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional array of Peer` - `id: string` - `name: string` The name of the peer. - `ip: optional 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: optional boolean` Enable IXFR transfer protocol, default is AXFR. Only applicable to secondary zones. - `port: optional number` DNS port of primary or secondary nameserver, depending on what zone this peer is linked to. - `tsig_id: optional string` TSIG authentication will be used for zone transfer if configured. - `result_info: optional { count, page, per_page, 2 more }` - `count: optional number` Total number of results for the requested service. - `page: optional number` Current page within paginated list of results. - `per_page: optional number` Number of results per page of results. - `total_count: optional number` Total results available without any search parameters. - `total_pages: optional number` The number of total pages in the entire result set. ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/secondary_dns/peers \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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 **get** `/accounts/{account_id}/secondary_dns/peers/{peer_id}` Get Peer. ### Path Parameters - `account_id: string` - `peer_id: string` ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional Peer` - `id: string` - `name: string` The name of the peer. - `ip: optional 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: optional boolean` Enable IXFR transfer protocol, default is AXFR. Only applicable to secondary zones. - `port: optional number` DNS port of primary or secondary nameserver, depending on what zone this peer is linked to. - `tsig_id: optional string` TSIG authentication will be used for zone transfer if configured. ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/secondary_dns/peers/$PEER_ID \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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 **post** `/accounts/{account_id}/secondary_dns/peers` Create Peer. ### Path Parameters - `account_id: string` ### Body Parameters - `name: string` The name of the peer. ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional Peer` - `id: string` - `name: string` The name of the peer. - `ip: optional 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: optional boolean` Enable IXFR transfer protocol, default is AXFR. Only applicable to secondary zones. - `port: optional number` DNS port of primary or secondary nameserver, depending on what zone this peer is linked to. - `tsig_id: optional string` TSIG authentication will be used for zone transfer if configured. ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/secondary_dns/peers \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ -d '{ "name": "my-peer-1" }' ``` #### 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 **put** `/accounts/{account_id}/secondary_dns/peers/{peer_id}` Modify Peer. ### Path Parameters - `account_id: string` - `peer_id: string` ### Body Parameters - `name: string` The name of the peer. - `ip: optional 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: optional boolean` Enable IXFR transfer protocol, default is AXFR. Only applicable to secondary zones. - `port: optional number` DNS port of primary or secondary nameserver, depending on what zone this peer is linked to. - `tsig_id: optional string` TSIG authentication will be used for zone transfer if configured. ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional Peer` - `id: string` - `name: string` The name of the peer. - `ip: optional 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: optional boolean` Enable IXFR transfer protocol, default is AXFR. Only applicable to secondary zones. - `port: optional number` DNS port of primary or secondary nameserver, depending on what zone this peer is linked to. - `tsig_id: optional string` TSIG authentication will be used for zone transfer if configured. ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/secondary_dns/peers/$PEER_ID \ -X PUT \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ -d '{ "name": "my-peer-1", "ip": "192.0.2.53", "port": 53, "tsig_id": "69cd1e104af3e6ed3cb344f263fd0d5a" }' ``` #### 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 **delete** `/accounts/{account_id}/secondary_dns/peers/{peer_id}` Delete Peer. ### Path Parameters - `account_id: string` - `peer_id: string` ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional { id }` - `id: optional string` ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/secondary_dns/peers/$PEER_ID \ -X DELETE \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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, name, ip, 3 more }` - `id: string` - `name: string` The name of the peer. - `ip: optional 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: optional boolean` Enable IXFR transfer protocol, default is AXFR. Only applicable to secondary zones. - `port: optional number` DNS port of primary or secondary nameserver, depending on what zone this peer is linked to. - `tsig_id: optional string` TSIG authentication will be used for zone transfer if configured. ### Peer Delete Response - `PeerDeleteResponse { id }` - `id: optional string` # TSIGs ## List TSIGs **get** `/accounts/{account_id}/secondary_dns/tsigs` List TSIGs. ### Path Parameters - `account_id: string` ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional array of TSIG` - `id: string` - `algo: string` TSIG algorithm. - `name: string` TSIG key name. - `secret: string` TSIG secret. - `result_info: optional { count, page, per_page, 2 more }` - `count: optional number` Total number of results for the requested service. - `page: optional number` Current page within paginated list of results. - `per_page: optional number` Number of results per page of results. - `total_count: optional number` Total results available without any search parameters. - `total_pages: optional number` The number of total pages in the entire result set. ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/secondary_dns/tsigs \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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 **get** `/accounts/{account_id}/secondary_dns/tsigs/{tsig_id}` Get TSIG. ### Path Parameters - `account_id: string` - `tsig_id: string` ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional TSIG` - `id: string` - `algo: string` TSIG algorithm. - `name: string` TSIG key name. - `secret: string` TSIG secret. ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/secondary_dns/tsigs/$TSIG_ID \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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 **post** `/accounts/{account_id}/secondary_dns/tsigs` Create TSIG. ### Path Parameters - `account_id: string` ### Body Parameters - `algo: string` TSIG algorithm. - `name: string` TSIG key name. - `secret: string` TSIG secret. ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional TSIG` - `id: string` - `algo: string` TSIG algorithm. - `name: string` TSIG key name. - `secret: string` TSIG secret. ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/secondary_dns/tsigs \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ -d '{ "algo": "hmac-sha512.", "name": "tsig.customer.cf.", "secret": "caf79a7804b04337c9c66ccd7bef9190a1e1679b5dd03d8aa10f7ad45e1a9dab92b417896c15d4d007c7c14194538d2a5d0feffdecc5a7f0e1c570cfa700837c" }' ``` #### 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 **put** `/accounts/{account_id}/secondary_dns/tsigs/{tsig_id}` Modify TSIG. ### Path Parameters - `account_id: string` - `tsig_id: string` ### Body Parameters - `algo: string` TSIG algorithm. - `name: string` TSIG key name. - `secret: string` TSIG secret. ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional TSIG` - `id: string` - `algo: string` TSIG algorithm. - `name: string` TSIG key name. - `secret: string` TSIG secret. ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/secondary_dns/tsigs/$TSIG_ID \ -X PUT \ -H 'Content-Type: application/json' \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \ -d '{ "algo": "hmac-sha512.", "name": "tsig.customer.cf.", "secret": "caf79a7804b04337c9c66ccd7bef9190a1e1679b5dd03d8aa10f7ad45e1a9dab92b417896c15d4d007c7c14194538d2a5d0feffdecc5a7f0e1c570cfa700837c" }' ``` #### 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 **delete** `/accounts/{account_id}/secondary_dns/tsigs/{tsig_id}` Delete TSIG. ### Path Parameters - `account_id: string` - `tsig_id: string` ### Returns - `errors: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `messages: array of { code, message, documentation_url, source }` - `code: number` - `message: string` - `documentation_url: optional string` - `source: optional { pointer }` - `pointer: optional string` - `success: true` Whether the API call was successful. - `true` - `result: optional { id }` - `id: optional string` ### Example ```http curl https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/secondary_dns/tsigs/$TSIG_ID \ -X DELETE \ -H "Authorization: Bearer $CLOUDFLARE_API_TOKEN" ``` #### 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, algo, name, secret }` - `id: string` - `algo: string` TSIG algorithm. - `name: string` TSIG key name. - `secret: string` TSIG secret. ### TSIG Delete Response - `TSIGDeleteResponse { id }` - `id: optional string`