Skip to content
Start here

DNS

DNSDNSSEC

DNSSEC Details
GET/zones/{zone_id}/dnssec
Edit DNSSEC Status
PATCH/zones/{zone_id}/dnssec
Delete DNSSEC records
DELETE/zones/{zone_id}/dnssec
ModelsExpand Collapse
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 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 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 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.

formatdate-time
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.

One of the following:
"active"
"pending"
"disabled"
"pending-disabled"
"error"
DNSSECDeleteResponse = string

DNSRecords

List DNS Records
GET/zones/{zone_id}/dns_records
DNS Record Details
GET/zones/{zone_id}/dns_records/{dns_record_id}
Create DNS Record
POST/zones/{zone_id}/dns_records
Overwrite DNS Record
PUT/zones/{zone_id}/dns_records/{dns_record_id}
Update DNS Record
PATCH/zones/{zone_id}/dns_records/{dns_record_id}
Delete DNS Record
DELETE/zones/{zone_id}/dns_records/{dns_record_id}
Export DNS Records
GET/zones/{zone_id}/dns_records/export
Import DNS Records
POST/zones/{zone_id}/dns_records/import
Scan DNS Records
Deprecated
POST/zones/{zone_id}/dns_records/scan
Trigger DNS Record Scan
POST/zones/{zone_id}/dns_records/scan/trigger
Review Scanned DNS Records
POST/zones/{zone_id}/dns_records/scan/review
List Scanned DNS Records
GET/zones/{zone_id}/dns_records/scan/review
Batch DNS Records
POST/zones/{zone_id}/dns_records/batch
ModelsExpand Collapse
ARecord { name, ttl, type, 6 more }
name: string

Complete DNS record name, including the zone name, in Punycode.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

formatipv4
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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

formatipv6
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.

BatchPatch = ARecord { name, ttl, type, 6 more } or AAAARecord { name, ttl, type, 6 more } or CNAMERecord { name, ttl, type, 5 more } or 18 more
One of the following:
ARecord = ARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
AAAARecord = AAAARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
CNAMERecord = CNAMERecord { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
MXRecord = MXRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
NSRecord = NSRecord { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
OpenpgpkeyRecord { id, name, ttl, 6 more }
id: string

Identifier.

maxLength32
name: string

Complete DNS record name, including the zone name, in Punycode.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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 { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
TXTRecord = TXTRecord { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
CAARecord = CAARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
CERTRecord = CERTRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
DNSKEYRecord = DNSKEYRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
DSRecord = DSRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
HTTPSRecord = HTTPSRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
LOCRecord = LOCRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
NAPTRRecord = NAPTRRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
SMIMEARecord = SMIMEARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
SRVRecord = SRVRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
SSHFPRecord = SSHFPRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
SVCBRecord = SVCBRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
TLSARecord = TLSARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
URIRecord = URIRecord { name, ttl, type, 7 more }
id: string

Identifier.

maxLength32
BatchPut = ARecord { name, ttl, type, 6 more } or AAAARecord { name, ttl, type, 6 more } or CNAMERecord { name, ttl, type, 5 more } or 18 more
One of the following:
ARecord = ARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
AAAARecord = AAAARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
CNAMERecord = CNAMERecord { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
MXRecord = MXRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
NSRecord = NSRecord { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
OpenpgpkeyRecord { id, name, ttl, 6 more }
id: string

Identifier.

maxLength32
name: string

Complete DNS record name, including the zone name, in Punycode.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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 { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
TXTRecord = TXTRecord { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
CAARecord = CAARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
CERTRecord = CERTRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
DNSKEYRecord = DNSKEYRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
DSRecord = DSRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
HTTPSRecord = HTTPSRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
LOCRecord = LOCRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
NAPTRRecord = NAPTRRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
SMIMEARecord = SMIMEARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
SRVRecord = SRVRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
SSHFPRecord = SSHFPRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
SVCBRecord = SVCBRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
TLSARecord = TLSARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
URIRecord = URIRecord { name, ttl, type, 7 more }
id: string

Identifier.

maxLength32
CAARecord { name, ttl, type, 6 more }
name: string

Complete DNS record name, including the zone name, in Punycode.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

maximum255
minimum0
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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

maximum255
minimum0
certificate: optional string

Certificate.

key_tag: optional number

Key Tag.

maximum65535
minimum0
type: optional number

Type.

maximum65535
minimum0
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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

DNSKEYRecord { name, ttl, type, 6 more }
name: string

Complete DNS record name, including the zone name, in Punycode.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

maximum255
minimum0
flags: optional number

Flags.

maximum65535
minimum0
protocol: optional number

Protocol.

maximum255
minimum0
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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

maximum255
minimum0
digest: optional string

Digest.

digest_type: optional number

Digest Type.

maximum255
minimum0
key_tag: optional number

Key Tag.

maximum65535
minimum0
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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

maximum65535
minimum0
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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

maximum42849672.95
minimum-100000
lat_degrees: optional number

Degrees of latitude.

maximum90
minimum0
lat_direction: optional "N" or "S"

Latitude direction.

One of the following:
"N"
"S"
lat_minutes: optional number

Minutes of latitude.

maximum59
minimum0
lat_seconds: optional number

Seconds of latitude.

maximum59.999
minimum0
long_degrees: optional number

Degrees of longitude.

maximum180
minimum0
long_direction: optional "E" or "W"

Longitude direction.

One of the following:
"E"
"W"
long_minutes: optional number

Minutes of longitude.

maximum59
minimum0
long_seconds: optional number

Seconds of longitude.

maximum59.999
minimum0
precision_horz: optional number

Horizontal precision of location.

maximum90000000
minimum0
precision_vert: optional number

Vertical precision of location.

maximum90000000
minimum0
size: optional number

Size of location in meters.

maximum90000000
minimum0
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.

MXRecord { name, ttl, type, 6 more }
name: string

Complete DNS record name, including the zone name, in Punycode.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

formathostname
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.

maximum65535
minimum0
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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

maximum65535
minimum0
preference: optional number

Preference.

maximum65535
minimum0
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.

NSRecord { name, ttl, type, 5 more }
name: string

Complete DNS record name, including the zone name, in Punycode.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

PTRRecord { name, ttl, type, 5 more }
name: string

Complete DNS record name, including the zone name, in Punycode.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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 = ARecord { name, ttl, type, 6 more } or AAAARecord { name, ttl, type, 6 more } or CNAMERecord { name, ttl, type, 5 more } or 18 more
One of the following:
ARecord { name, ttl, type, 6 more }
name: string

Complete DNS record name, including the zone name, in Punycode.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

formatipv4
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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

formatipv6
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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

formathostname
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.

maximum65535
minimum0
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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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 https://www.cloudflare.com/learning/dns/dns-records/dns-txt-record/.

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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

maximum255
minimum0
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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

maximum255
minimum0
certificate: optional string

Certificate.

key_tag: optional number

Key Tag.

maximum65535
minimum0
type: optional number

Type.

maximum65535
minimum0
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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

maximum255
minimum0
flags: optional number

Flags.

maximum65535
minimum0
protocol: optional number

Protocol.

maximum255
minimum0
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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

maximum255
minimum0
digest: optional string

Digest.

digest_type: optional number

Digest Type.

maximum255
minimum0
key_tag: optional number

Key Tag.

maximum65535
minimum0
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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

maximum65535
minimum0
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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

maximum42849672.95
minimum-100000
lat_degrees: optional number

Degrees of latitude.

maximum90
minimum0
lat_direction: optional "N" or "S"

Latitude direction.

One of the following:
"N"
"S"
lat_minutes: optional number

Minutes of latitude.

maximum59
minimum0
lat_seconds: optional number

Seconds of latitude.

maximum59.999
minimum0
long_degrees: optional number

Degrees of longitude.

maximum180
minimum0
long_direction: optional "E" or "W"

Longitude direction.

One of the following:
"E"
"W"
long_minutes: optional number

Minutes of longitude.

maximum59
minimum0
long_seconds: optional number

Seconds of longitude.

maximum59.999
minimum0
precision_horz: optional number

Horizontal precision of location.

maximum90000000
minimum0
precision_vert: optional number

Vertical precision of location.

maximum90000000
minimum0
size: optional number

Size of location in meters.

maximum90000000
minimum0
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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

maximum65535
minimum0
preference: optional number

Preference.

maximum65535
minimum0
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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

maximum255
minimum0
selector: optional number

Selector.

maximum255
minimum0
usage: optional number

Usage.

maximum255
minimum0
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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

maximum65535
minimum0
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.

maximum65535
minimum0
target: optional string

A valid hostname.

formathostname
weight: optional number

The record weight.

maximum65535
minimum0
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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

maximum255
minimum0
fingerprint: optional string

Fingerprint.

type: optional number

Type.

maximum255
minimum0
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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

maximum65535
minimum0
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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

maximum255
minimum0
selector: optional number

Selector.

maximum255
minimum0
usage: optional number

Usage.

maximum255
minimum0
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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

maximum65535
minimum0
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.

maximum65535
minimum0
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.

RecordResponse = ARecord { name, ttl, type, 6 more } or AAAARecord { name, ttl, type, 6 more } or CNAMERecord { name, ttl, type, 5 more } or 18 more
One of the following:
A = ARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
AAAA = AAAARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
CNAME = CNAMERecord { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
MX = MXRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
NS = NSRecord { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
Openpgpkey { id, comment, content, 12 more }
id: string

Identifier.

maxLength32
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.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
name: string

Complete DNS record name, including the zone name, in Punycode.

maxLength255
minLength1
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.

type: "OPENPGPKEY"

Record type.

comment_modified_on: optional string

When the record comment was last modified. Omitted if there is no comment.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
PTR = PTRRecord { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
TXT = TXTRecord { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
CAA = CAARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
CERT = CERTRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
DNSKEY = DNSKEYRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
DS = DSRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
HTTPS = HTTPSRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
LOC = LOCRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
NAPTR = NAPTRRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
SMIMEA = SMIMEARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
SRV = SRVRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
SSHFP = SSHFPRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
SVCB = SVCBRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
TLSA = TLSARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
URI = URIRecord { name, ttl, type, 7 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
RecordTags = string

Individual tag of the form name:value (the name must consist of only letters, numbers, underscores and hyphens)

SMIMEARecord { name, ttl, type, 6 more }
name: string

Complete DNS record name, including the zone name, in Punycode.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

maximum255
minimum0
selector: optional number

Selector.

maximum255
minimum0
usage: optional number

Usage.

maximum255
minimum0
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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

maximum65535
minimum0
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.

maximum65535
minimum0
target: optional string

A valid hostname.

formathostname
weight: optional number

The record weight.

maximum65535
minimum0
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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

maximum255
minimum0
fingerprint: optional string

Fingerprint.

type: optional number

Type.

maximum255
minimum0
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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

maximum65535
minimum0
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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

maximum255
minimum0
selector: optional number

Selector.

maximum255
minimum0
usage: optional number

Usage.

maximum255
minimum0
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 = 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.

One of the following:
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.

TXTRecord { name, ttl, type, 5 more }
name: string

Complete DNS record name, including the zone name, in Punycode.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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 https://www.cloudflare.com/learning/dns/dns-records/dns-txt-record/.

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.

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS 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.

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.

maximum65535
minimum0
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.

maximum65535
minimum0
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.

RecordDeleteResponse { id }
id: optional string

Identifier.

maxLength32
RecordExportResponse = string

Exported BIND zone file.

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.

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.

RecordScanTriggerResponse { errors, messages, success }
errors: array of { code, message, documentation_url, source }
code: number
minimum1000
message: string
documentation_url: optional string
source: optional { pointer }
pointer: optional string
messages: array of { code, message, documentation_url, source }
code: number
minimum1000
message: string
documentation_url: optional string
source: optional { pointer }
pointer: optional string
success: true

Whether the API call was successful.

RecordScanReviewResponse { accepts, rejects }
accepts: optional array of RecordResponse
One of the following:
A = ARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
AAAA = AAAARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
CNAME = CNAMERecord { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
MX = MXRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
NS = NSRecord { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
Openpgpkey { id, comment, content, 12 more }
id: string

Identifier.

maxLength32
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.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
name: string

Complete DNS record name, including the zone name, in Punycode.

maxLength255
minLength1
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.

type: "OPENPGPKEY"

Record type.

comment_modified_on: optional string

When the record comment was last modified. Omitted if there is no comment.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
PTR = PTRRecord { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
TXT = TXTRecord { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
CAA = CAARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
CERT = CERTRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
DNSKEY = DNSKEYRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
DS = DSRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
HTTPS = HTTPSRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
LOC = LOCRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
NAPTR = NAPTRRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
SMIMEA = SMIMEARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
SRV = SRVRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
SSHFP = SSHFPRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
SVCB = SVCBRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
TLSA = TLSARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
URI = URIRecord { name, ttl, type, 7 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
rejects: optional array of string
RecordBatchResponse { deletes, patches, posts, puts }
deletes: optional array of RecordResponse
One of the following:
A = ARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
AAAA = AAAARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
CNAME = CNAMERecord { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
MX = MXRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
NS = NSRecord { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
Openpgpkey { id, comment, content, 12 more }
id: string

Identifier.

maxLength32
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.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
name: string

Complete DNS record name, including the zone name, in Punycode.

maxLength255
minLength1
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.

type: "OPENPGPKEY"

Record type.

comment_modified_on: optional string

When the record comment was last modified. Omitted if there is no comment.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
PTR = PTRRecord { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
TXT = TXTRecord { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
CAA = CAARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
CERT = CERTRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
DNSKEY = DNSKEYRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
DS = DSRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
HTTPS = HTTPSRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
LOC = LOCRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
NAPTR = NAPTRRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
SMIMEA = SMIMEARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
SRV = SRVRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
SSHFP = SSHFPRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
SVCB = SVCBRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
TLSA = TLSARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
URI = URIRecord { name, ttl, type, 7 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
patches: optional array of RecordResponse
One of the following:
A = ARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
AAAA = AAAARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
CNAME = CNAMERecord { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
MX = MXRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
NS = NSRecord { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
Openpgpkey { id, comment, content, 12 more }
id: string

Identifier.

maxLength32
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.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
name: string

Complete DNS record name, including the zone name, in Punycode.

maxLength255
minLength1
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.

type: "OPENPGPKEY"

Record type.

comment_modified_on: optional string

When the record comment was last modified. Omitted if there is no comment.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
PTR = PTRRecord { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
TXT = TXTRecord { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
CAA = CAARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
CERT = CERTRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
DNSKEY = DNSKEYRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
DS = DSRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
HTTPS = HTTPSRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
LOC = LOCRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
NAPTR = NAPTRRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
SMIMEA = SMIMEARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
SRV = SRVRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
SSHFP = SSHFPRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
SVCB = SVCBRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
TLSA = TLSARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
URI = URIRecord { name, ttl, type, 7 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
posts: optional array of RecordResponse
One of the following:
A = ARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
AAAA = AAAARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
CNAME = CNAMERecord { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
MX = MXRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
NS = NSRecord { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
Openpgpkey { id, comment, content, 12 more }
id: string

Identifier.

maxLength32
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.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
name: string

Complete DNS record name, including the zone name, in Punycode.

maxLength255
minLength1
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.

type: "OPENPGPKEY"

Record type.

comment_modified_on: optional string

When the record comment was last modified. Omitted if there is no comment.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
PTR = PTRRecord { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
TXT = TXTRecord { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
CAA = CAARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
CERT = CERTRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
DNSKEY = DNSKEYRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
DS = DSRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
HTTPS = HTTPSRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
LOC = LOCRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
NAPTR = NAPTRRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
SMIMEA = SMIMEARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
SRV = SRVRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
SSHFP = SSHFPRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
SVCB = SVCBRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
TLSA = TLSARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
URI = URIRecord { name, ttl, type, 7 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
puts: optional array of RecordResponse
One of the following:
A = ARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
AAAA = AAAARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
CNAME = CNAMERecord { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
MX = MXRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
NS = NSRecord { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
Openpgpkey { id, comment, content, 12 more }
id: string

Identifier.

maxLength32
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.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
name: string

Complete DNS record name, including the zone name, in Punycode.

maxLength255
minLength1
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.

type: "OPENPGPKEY"

Record type.

comment_modified_on: optional string

When the record comment was last modified. Omitted if there is no comment.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
PTR = PTRRecord { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
TXT = TXTRecord { name, ttl, type, 5 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
CAA = CAARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
CERT = CERTRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
DNSKEY = DNSKEYRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
DS = DSRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
HTTPS = HTTPSRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
LOC = LOCRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
NAPTR = NAPTRRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
SMIMEA = SMIMEARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
SRV = SRVRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
SSHFP = SSHFPRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
SVCB = SVCBRecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
TLSA = TLSARecord { name, ttl, type, 6 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time
URI = URIRecord { name, ttl, type, 7 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
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.

formatdate-time
tags_modified_on: optional string

When the record tags were last modified. Omitted if there are no tags.

formatdate-time

DNSUsage

DNSUsageZone

DNSUsageAccount

DNSSettings

DNSSettingsZone

Show DNS Settings
GET/zones/{zone_id}/dns_settings
Update DNS Settings
PATCH/zones/{zone_id}/dns_settings
ModelsExpand Collapse
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

One of the following:
"cloudflare.standard"
"custom.account"
"custom.tenant"
"custom.zone"
ns_set: optional number

Configured nameserver set to be used for this zone

maximum5
minimum1
ns_ttl: number

The time to live (TTL) of the zone’s nameserver (NS) records.

maximum86400
minimum30
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.

maximum2419200
minimum86400
min_ttl: optional number

The time to live (TTL) for negative caching of records within the zone.

maximum86400
minimum60
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.

maximum86400
minimum600
retry: optional number

Time in seconds after which secondary servers should retry queries after the primary server was unresponsive.

maximum86400
minimum600
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.

maximum86400
minimum300
zone_mode: "standard" or "cdn_only" or "dns_only"

Whether the zone mode is a regular or CDN/DNS only zone.

One of the following:
"standard"
"cdn_only"
"dns_only"
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

One of the following:
"cloudflare.standard"
"custom.account"
"custom.tenant"
"custom.zone"
ns_set: optional number

Configured nameserver set to be used for this zone

maximum5
minimum1
ns_ttl: number

The time to live (TTL) of the zone’s nameserver (NS) records.

maximum86400
minimum30
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.

maximum2419200
minimum86400
min_ttl: optional number

The time to live (TTL) for negative caching of records within the zone.

maximum86400
minimum60
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.

maximum86400
minimum600
retry: optional number

Time in seconds after which secondary servers should retry queries after the primary server was unresponsive.

maximum86400
minimum600
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.

maximum86400
minimum300
zone_mode: "standard" or "cdn_only" or "dns_only"

Whether the zone mode is a regular or CDN/DNS only zone.

One of the following:
"standard"
"cdn_only"
"dns_only"

DNSSettingsAccount

Show DNS Settings
GET/accounts/{account_id}/dns_settings
Update DNS Settings
PATCH/accounts/{account_id}/dns_settings
ModelsExpand Collapse
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

One of the following:
"cloudflare.standard"
"cloudflare.standard.random"
"custom.account"
"custom.tenant"
ns_ttl: number

The time to live (TTL) of the zone’s nameserver (NS) records.

maximum86400
minimum30
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.

maximum2419200
minimum86400
min_ttl: optional number

The time to live (TTL) for negative caching of records within the zone.

maximum86400
minimum60
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.

maximum86400
minimum600
retry: optional number

Time in seconds after which secondary servers should retry queries after the primary server was unresponsive.

maximum86400
minimum600
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.

maximum86400
minimum300
zone_mode: "standard" or "cdn_only" or "dns_only"

Whether the zone mode is a regular or CDN/DNS only zone.

One of the following:
"standard"
"cdn_only"
"dns_only"
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

One of the following:
"cloudflare.standard"
"cloudflare.standard.random"
"custom.account"
"custom.tenant"
ns_ttl: number

The time to live (TTL) of the zone’s nameserver (NS) records.

maximum86400
minimum30
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.

maximum2419200
minimum86400
min_ttl: optional number

The time to live (TTL) for negative caching of records within the zone.

maximum86400
minimum60
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.

maximum86400
minimum600
retry: optional number

Time in seconds after which secondary servers should retry queries after the primary server was unresponsive.

maximum86400
minimum600
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.

maximum86400
minimum300
zone_mode: "standard" or "cdn_only" or "dns_only"

Whether the zone mode is a regular or CDN/DNS only zone.

One of the following:
"standard"
"cdn_only"
"dns_only"

DNSSettingsAccountViews

List Internal DNS Views
GET/accounts/{account_id}/dns_settings/views
DNS Internal View Details
GET/accounts/{account_id}/dns_settings/views/{view_id}
Create Internal DNS View
POST/accounts/{account_id}/dns_settings/views
Update Internal DNS View
PATCH/accounts/{account_id}/dns_settings/views/{view_id}
Delete Internal DNS View
DELETE/accounts/{account_id}/dns_settings/views/{view_id}
ModelsExpand Collapse
ViewListResponse { id, created_time, modified_time, 2 more }
id: string

Identifier.

maxLength32
created_time: string

When the view was created.

formatdate-time
modified_time: string

When the view was last modified.

formatdate-time
name: string

The name of the view.

maxLength255
minLength1
zones: array of string

The list of zones linked to this view.

ViewGetResponse { id, created_time, modified_time, 2 more }
id: string

Identifier.

maxLength32
created_time: string

When the view was created.

formatdate-time
modified_time: string

When the view was last modified.

formatdate-time
name: string

The name of the view.

maxLength255
minLength1
zones: array of string

The list of zones linked to this view.

ViewCreateResponse { id, created_time, modified_time, 2 more }
id: string

Identifier.

maxLength32
created_time: string

When the view was created.

formatdate-time
modified_time: string

When the view was last modified.

formatdate-time
name: string

The name of the view.

maxLength255
minLength1
zones: array of string

The list of zones linked to this view.

ViewEditResponse { id, created_time, modified_time, 2 more }
id: string

Identifier.

maxLength32
created_time: string

When the view was created.

formatdate-time
modified_time: string

When the view was last modified.

formatdate-time
name: string

The name of the view.

maxLength255
minLength1
zones: array of string

The list of zones linked to this view.

ViewDeleteResponse { id }
id: optional string

Identifier.

maxLength32

DNSAnalytics

DNSAnalyticsReports

Table
GET/zones/{zone_id}/dns_analytics/report
ModelsExpand Collapse
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.

minimum0
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.

formatdate-time
until: string

End date and time of requesting data period in ISO 8601 format.

formatdate-time
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.

minimum0
totals: unknown

Total results for metrics across all data (object mapping metric names to values).

DNSAnalyticsReportsBytimes

By Time
GET/zones/{zone_id}/dns_analytics/report/bytime
ModelsExpand Collapse
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.

minimum0
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.

formatdate-time
time_delta: "all" or "auto" or "year" or 7 more

Unit of time to group data by.

One of the following:
"all"
"auto"
"year"
"quarter"
"month"
"week"
"day"
"hour"
"dekaminute"
"minute"
until: string

End date and time of requesting data period in ISO 8601 format.

formatdate-time
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.

minimum0
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).

DNSZone Transfers

DNSZone TransfersForce AXFR

Force AXFR
POST/zones/{zone_id}/secondary_dns/force_axfr
ModelsExpand Collapse
ForceAXFR = string

When force_axfr query parameter is set to true, the response is a simple string.

DNSZone TransfersIncoming

Secondary Zone Configuration Details
GET/zones/{zone_id}/secondary_dns/incoming
Create Secondary Zone Configuration
POST/zones/{zone_id}/secondary_dns/incoming
Update Secondary Zone Configuration
PUT/zones/{zone_id}/secondary_dns/incoming
Delete Secondary Zone Configuration
DELETE/zones/{zone_id}/secondary_dns/incoming
ModelsExpand Collapse
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.

minimum300
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.

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.

minimum300
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.

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.

minimum300
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.

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.

minimum300
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.

IncomingDeleteResponse { id }
id: optional string

DNSZone TransfersOutgoing

Primary Zone Configuration Details
GET/zones/{zone_id}/secondary_dns/outgoing
Create Primary Zone Configuration
POST/zones/{zone_id}/secondary_dns/outgoing
Update Primary Zone Configuration
PUT/zones/{zone_id}/secondary_dns/outgoing
Delete Primary Zone Configuration
DELETE/zones/{zone_id}/secondary_dns/outgoing
Disable Outgoing Zone Transfers
POST/zones/{zone_id}/secondary_dns/outgoing/disable
Enable Outgoing Zone Transfers
POST/zones/{zone_id}/secondary_dns/outgoing/enable
Force DNS NOTIFY
POST/zones/{zone_id}/secondary_dns/outgoing/force_notify
ModelsExpand Collapse
DisableTransfer = string

The zone transfer status of a primary zone.

EnableTransfer = string

The zone transfer status of a primary zone.

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.

OutgoingStatus = string

The zone transfer status of a primary zone.

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.

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.

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.

OutgoingDeleteResponse { id }
id: optional string
OutgoingForceNotifyResponse = string

When force_notify query parameter is set to true, the response is a simple string.

DNSZone TransfersOutgoingStatus

Get Outgoing Zone Transfer Status
GET/zones/{zone_id}/secondary_dns/outgoing/status

DNSZone TransfersACLs

List ACLs
GET/accounts/{account_id}/secondary_dns/acls
ACL Details
GET/accounts/{account_id}/secondary_dns/acls/{acl_id}
Create ACL
POST/accounts/{account_id}/secondary_dns/acls
Update ACL
PUT/accounts/{account_id}/secondary_dns/acls/{acl_id}
Delete ACL
DELETE/accounts/{account_id}/secondary_dns/acls/{acl_id}
ModelsExpand Collapse
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.

ACLDeleteResponse { id }
id: optional string

DNSZone TransfersPeers

List Peers
GET/accounts/{account_id}/secondary_dns/peers
Peer Details
GET/accounts/{account_id}/secondary_dns/peers/{peer_id}
Create Peer
POST/accounts/{account_id}/secondary_dns/peers
Update Peer
PUT/accounts/{account_id}/secondary_dns/peers/{peer_id}
Delete Peer
DELETE/accounts/{account_id}/secondary_dns/peers/{peer_id}
ModelsExpand Collapse
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.

PeerDeleteResponse { id }
id: optional string

DNSZone TransfersTSIGs

List TSIGs
GET/accounts/{account_id}/secondary_dns/tsigs
TSIG Details
GET/accounts/{account_id}/secondary_dns/tsigs/{tsig_id}
Create TSIG
POST/accounts/{account_id}/secondary_dns/tsigs
Update TSIG
PUT/accounts/{account_id}/secondary_dns/tsigs/{tsig_id}
Delete TSIG
DELETE/accounts/{account_id}/secondary_dns/tsigs/{tsig_id}
ModelsExpand Collapse
TSIG { id, algo, name, secret }
id: string
algo: string

TSIG algorithm.

name: string

TSIG key name.

secret: string

TSIG secret.

TSIGDeleteResponse { id }
id: optional string