Skip to content
Start here

DNS

DNSDNSSEC

DNSSEC Details
dns.dnssec.get(DNSSECGetParams**kwargs) -> DNSSEC
GET/zones/{zone_id}/dnssec
Edit DNSSEC Status
dns.dnssec.edit(DNSSECEditParams**kwargs) -> DNSSEC
PATCH/zones/{zone_id}/dnssec
Delete DNSSEC records
dns.dnssec.delete(DNSSECDeleteParams**kwargs) -> DNSSECDeleteResponse
DELETE/zones/{zone_id}/dnssec
ModelsExpand Collapse
class DNSSEC:
algorithm: Optional[str]

Algorithm key code.

digest: Optional[str]

Digest hash.

digest_algorithm: Optional[str]

Type of digest algorithm.

digest_type: Optional[str]

Coded type for digest algorithm.

dnssec_multi_signer: Optional[bool]

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[bool]

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[bool]

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[str]

Full DS record.

flags: Optional[float]

Flag for DNSSEC record.

key_tag: Optional[float]

Code for key tag.

key_type: Optional[str]

Algorithm key type.

modified_on: Optional[datetime]

When DNSSEC was last modified.

formatdate-time
public_key: Optional[str]

Public key for DS record.

status: Optional[Literal["active", "pending", "disabled", 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"
str

DNSRecords

List DNS Records
dns.records.list(RecordListParams**kwargs) -> SyncV4PagePaginationArray[RecordResponse]
GET/zones/{zone_id}/dns_records
DNS Record Details
dns.records.get(strdns_record_id, RecordGetParams**kwargs) -> RecordResponse
GET/zones/{zone_id}/dns_records/{dns_record_id}
Create DNS Record
dns.records.create(RecordCreateParams**kwargs) -> RecordResponse
POST/zones/{zone_id}/dns_records
Overwrite DNS Record
dns.records.update(strdns_record_id, RecordUpdateParams**kwargs) -> RecordResponse
PUT/zones/{zone_id}/dns_records/{dns_record_id}
Update DNS Record
dns.records.edit(strdns_record_id, RecordEditParams**kwargs) -> RecordResponse
PATCH/zones/{zone_id}/dns_records/{dns_record_id}
Delete DNS Record
dns.records.delete(strdns_record_id, RecordDeleteParams**kwargs) -> RecordDeleteResponse
DELETE/zones/{zone_id}/dns_records/{dns_record_id}
Export DNS Records
dns.records.export(RecordExportParams**kwargs) -> RecordExportResponse
GET/zones/{zone_id}/dns_records/export
Import DNS Records
dns.records.import_(RecordImportParams**kwargs) -> RecordImportResponse
POST/zones/{zone_id}/dns_records/import
Scan DNS Records
Deprecated
dns.records.scan(RecordScanParams**kwargs) -> RecordScanResponse
POST/zones/{zone_id}/dns_records/scan
Trigger DNS Record Scan
dns.records.scan_trigger(RecordScanTriggerParams**kwargs) -> RecordScanTriggerResponse
POST/zones/{zone_id}/dns_records/scan/trigger
Review Scanned DNS Records
dns.records.scan_review(RecordScanReviewParams**kwargs) -> RecordScanReviewResponse
POST/zones/{zone_id}/dns_records/scan/review
List Scanned DNS Records
dns.records.scan_list(RecordScanListParams**kwargs) -> SyncSinglePage[RecordResponse]
GET/zones/{zone_id}/dns_records/scan/review
Batch DNS Records
dns.records.batch(RecordBatchParams**kwargs) -> RecordBatchResponse
POST/zones/{zone_id}/dns_records/batch
ModelsExpand Collapse
class ARecord:
name: str

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: Literal["A"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

A valid IPv4 address.

formatipv4
private_routing: Optional[bool]

Enables private network routing to the origin.

proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class AAAARecord:
name: str

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: Literal["AAAA"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

A valid IPv6 address.

formatipv6
private_routing: Optional[bool]

Enables private network routing to the origin.

proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

One of the following:
class ARecord:
id: str

Identifier.

maxLength32
class AAAARecord:
id: str

Identifier.

maxLength32
class CNAMERecord:
id: str

Identifier.

maxLength32
class MXRecord:
id: str

Identifier.

maxLength32
class NSRecord:
id: str

Identifier.

maxLength32
class OpenpgpkeyRecord:
id: str

Identifier.

maxLength32
name: str

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: Literal["OPENPGPKEY"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1)

proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[OpenpgpkeyRecordSettings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class PTRRecord:
id: str

Identifier.

maxLength32
class TXTRecord:
id: str

Identifier.

maxLength32
class CAARecord:
id: str

Identifier.

maxLength32
class CERTRecord:
id: str

Identifier.

maxLength32
class DNSKEYRecord:
id: str

Identifier.

maxLength32
class DSRecord:
id: str

Identifier.

maxLength32
class HTTPSRecord:
id: str

Identifier.

maxLength32
class LOCRecord:
id: str

Identifier.

maxLength32
class NAPTRRecord:
id: str

Identifier.

maxLength32
class SMIMEARecord:
id: str

Identifier.

maxLength32
class SRVRecord:
id: str

Identifier.

maxLength32
class SSHFPRecord:
id: str

Identifier.

maxLength32
class SVCBRecord:
id: str

Identifier.

maxLength32
class TLSARecord:
id: str

Identifier.

maxLength32
class URIRecord:
id: str

Identifier.

maxLength32
One of the following:
class ARecord:
id: str

Identifier.

maxLength32
class AAAARecord:
id: str

Identifier.

maxLength32
class CNAMERecord:
id: str

Identifier.

maxLength32
class MXRecord:
id: str

Identifier.

maxLength32
class NSRecord:
id: str

Identifier.

maxLength32
class OpenpgpkeyRecord:
id: str

Identifier.

maxLength32
name: str

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: Literal["OPENPGPKEY"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1)

proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[OpenpgpkeyRecordSettings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class PTRRecord:
id: str

Identifier.

maxLength32
class TXTRecord:
id: str

Identifier.

maxLength32
class CAARecord:
id: str

Identifier.

maxLength32
class CERTRecord:
id: str

Identifier.

maxLength32
class DNSKEYRecord:
id: str

Identifier.

maxLength32
class DSRecord:
id: str

Identifier.

maxLength32
class HTTPSRecord:
id: str

Identifier.

maxLength32
class LOCRecord:
id: str

Identifier.

maxLength32
class NAPTRRecord:
id: str

Identifier.

maxLength32
class SMIMEARecord:
id: str

Identifier.

maxLength32
class SRVRecord:
id: str

Identifier.

maxLength32
class SSHFPRecord:
id: str

Identifier.

maxLength32
class SVCBRecord:
id: str

Identifier.

maxLength32
class TLSARecord:
id: str

Identifier.

maxLength32
class URIRecord:
id: str

Identifier.

maxLength32
class CAARecord:
name: str

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: Literal["CAA"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

Formatted CAA content. See 'data' to set CAA properties.

data: Optional[Data]

Components of a CAA record.

flags: Optional[float]

Flags for the CAA record.

maximum255
minimum0
tag: Optional[str]

Name of the property controlled by this record (e.g.: issue, issuewild, iodef).

value: Optional[str]

Value of the record. This field's semantics depend on the chosen tag.

proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class CERTRecord:
name: str

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: Literal["CERT"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

Formatted CERT content. See 'data' to set CERT properties.

data: Optional[Data]

Components of a CERT record.

algorithm: Optional[float]

Algorithm.

maximum255
minimum0
certificate: Optional[str]

Certificate.

key_tag: Optional[float]

Key Tag.

maximum65535
minimum0
type: Optional[float]

Type.

maximum65535
minimum0
proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class CNAMERecord:
name: str

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: Literal["CNAME"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

A valid hostname. Must not match the record's name.

proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

flatten_cname: Optional[bool]

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[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class DNSKEYRecord:
name: str

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: Literal["DNSKEY"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

Formatted DNSKEY content. See 'data' to set DNSKEY properties.

data: Optional[Data]

Components of a DNSKEY record.

algorithm: Optional[float]

Algorithm.

maximum255
minimum0
flags: Optional[float]

Flags.

maximum65535
minimum0
protocol: Optional[float]

Protocol.

maximum255
minimum0
public_key: Optional[str]

Public Key.

proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class DSRecord:
name: str

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: Literal["DS"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

Formatted DS content. See 'data' to set DS properties.

data: Optional[Data]

Components of a DS record.

algorithm: Optional[float]

Algorithm.

maximum255
minimum0
digest: Optional[str]

Digest.

digest_type: Optional[float]

Digest Type.

maximum255
minimum0
key_tag: Optional[float]

Key Tag.

maximum65535
minimum0
proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class HTTPSRecord:
name: str

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: Literal["HTTPS"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

Formatted HTTPS content. See 'data' to set HTTPS properties.

data: Optional[Data]

Components of a HTTPS record.

priority: Optional[float]

Priority.

maximum65535
minimum0
target: Optional[str]

Target.

value: Optional[str]

Value.

proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class LOCRecord:
name: str

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: Literal["LOC"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

Formatted LOC content. See 'data' to set LOC properties.

data: Optional[Data]

Components of a LOC record.

altitude: Optional[float]

Altitude of location in meters.

maximum42849672.95
minimum-100000
lat_degrees: Optional[float]

Degrees of latitude.

maximum90
minimum0
lat_direction: Optional[Literal["N", "S"]]

Latitude direction.

One of the following:
"N"
"S"
lat_minutes: Optional[float]

Minutes of latitude.

maximum59
minimum0
lat_seconds: Optional[float]

Seconds of latitude.

maximum59.999
minimum0
long_degrees: Optional[float]

Degrees of longitude.

maximum180
minimum0
long_direction: Optional[Literal["E", "W"]]

Longitude direction.

One of the following:
"E"
"W"
long_minutes: Optional[float]

Minutes of longitude.

maximum59
minimum0
long_seconds: Optional[float]

Seconds of longitude.

maximum59.999
minimum0
precision_horz: Optional[float]

Horizontal precision of location.

maximum90000000
minimum0
precision_vert: Optional[float]

Vertical precision of location.

maximum90000000
minimum0
size: Optional[float]

Size of location in meters.

maximum90000000
minimum0
proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class MXRecord:
name: str

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: Literal["MX"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

A valid mail server hostname.

formathostname
priority: Optional[float]

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[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class NAPTRRecord:
name: str

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: Literal["NAPTR"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

Formatted NAPTR content. See 'data' to set NAPTR properties.

data: Optional[Data]

Components of a NAPTR record.

flags: Optional[str]

Flags.

order: Optional[float]

Order.

maximum65535
minimum0
preference: Optional[float]

Preference.

maximum65535
minimum0
regex: Optional[str]

Regex.

replacement: Optional[str]

Replacement.

service: Optional[str]

Service.

proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class NSRecord:
name: str

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: Literal["NS"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

A valid name server host name.

proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class PTRRecord:
name: str

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: Literal["PTR"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

Domain name pointing to the address.

proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

One of the following:
class ARecord:
name: str

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: Literal["A"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

A valid IPv4 address.

formatipv4
private_routing: Optional[bool]

Enables private network routing to the origin.

proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class AAAARecord:
name: str

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: Literal["AAAA"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

A valid IPv6 address.

formatipv6
private_routing: Optional[bool]

Enables private network routing to the origin.

proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class CNAMERecord:
name: str

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: Literal["CNAME"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

A valid hostname. Must not match the record's name.

proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

flatten_cname: Optional[bool]

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[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class MXRecord:
name: str

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: Literal["MX"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

A valid mail server hostname.

formathostname
priority: Optional[float]

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[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class NSRecord:
name: str

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: Literal["NS"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

A valid name server host name.

proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class Openpgpkey:
name: str

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: Literal["OPENPGPKEY"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1)

proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[OpenpgpkeySettings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class PTRRecord:
name: str

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: Literal["PTR"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

Domain name pointing to the address.

proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class TXTRecord:
name: str

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: Literal["TXT"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

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[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class CAARecord:
name: str

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: Literal["CAA"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

Formatted CAA content. See 'data' to set CAA properties.

data: Optional[Data]

Components of a CAA record.

flags: Optional[float]

Flags for the CAA record.

maximum255
minimum0
tag: Optional[str]

Name of the property controlled by this record (e.g.: issue, issuewild, iodef).

value: Optional[str]

Value of the record. This field's semantics depend on the chosen tag.

proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class CERTRecord:
name: str

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: Literal["CERT"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

Formatted CERT content. See 'data' to set CERT properties.

data: Optional[Data]

Components of a CERT record.

algorithm: Optional[float]

Algorithm.

maximum255
minimum0
certificate: Optional[str]

Certificate.

key_tag: Optional[float]

Key Tag.

maximum65535
minimum0
type: Optional[float]

Type.

maximum65535
minimum0
proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class DNSKEYRecord:
name: str

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: Literal["DNSKEY"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

Formatted DNSKEY content. See 'data' to set DNSKEY properties.

data: Optional[Data]

Components of a DNSKEY record.

algorithm: Optional[float]

Algorithm.

maximum255
minimum0
flags: Optional[float]

Flags.

maximum65535
minimum0
protocol: Optional[float]

Protocol.

maximum255
minimum0
public_key: Optional[str]

Public Key.

proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class DSRecord:
name: str

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: Literal["DS"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

Formatted DS content. See 'data' to set DS properties.

data: Optional[Data]

Components of a DS record.

algorithm: Optional[float]

Algorithm.

maximum255
minimum0
digest: Optional[str]

Digest.

digest_type: Optional[float]

Digest Type.

maximum255
minimum0
key_tag: Optional[float]

Key Tag.

maximum65535
minimum0
proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class HTTPSRecord:
name: str

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: Literal["HTTPS"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

Formatted HTTPS content. See 'data' to set HTTPS properties.

data: Optional[Data]

Components of a HTTPS record.

priority: Optional[float]

Priority.

maximum65535
minimum0
target: Optional[str]

Target.

value: Optional[str]

Value.

proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class LOCRecord:
name: str

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: Literal["LOC"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

Formatted LOC content. See 'data' to set LOC properties.

data: Optional[Data]

Components of a LOC record.

altitude: Optional[float]

Altitude of location in meters.

maximum42849672.95
minimum-100000
lat_degrees: Optional[float]

Degrees of latitude.

maximum90
minimum0
lat_direction: Optional[Literal["N", "S"]]

Latitude direction.

One of the following:
"N"
"S"
lat_minutes: Optional[float]

Minutes of latitude.

maximum59
minimum0
lat_seconds: Optional[float]

Seconds of latitude.

maximum59.999
minimum0
long_degrees: Optional[float]

Degrees of longitude.

maximum180
minimum0
long_direction: Optional[Literal["E", "W"]]

Longitude direction.

One of the following:
"E"
"W"
long_minutes: Optional[float]

Minutes of longitude.

maximum59
minimum0
long_seconds: Optional[float]

Seconds of longitude.

maximum59.999
minimum0
precision_horz: Optional[float]

Horizontal precision of location.

maximum90000000
minimum0
precision_vert: Optional[float]

Vertical precision of location.

maximum90000000
minimum0
size: Optional[float]

Size of location in meters.

maximum90000000
minimum0
proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class NAPTRRecord:
name: str

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: Literal["NAPTR"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

Formatted NAPTR content. See 'data' to set NAPTR properties.

data: Optional[Data]

Components of a NAPTR record.

flags: Optional[str]

Flags.

order: Optional[float]

Order.

maximum65535
minimum0
preference: Optional[float]

Preference.

maximum65535
minimum0
regex: Optional[str]

Regex.

replacement: Optional[str]

Replacement.

service: Optional[str]

Service.

proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class SMIMEARecord:
name: str

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: Literal["SMIMEA"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

Formatted SMIMEA content. See 'data' to set SMIMEA properties.

data: Optional[Data]

Components of a SMIMEA record.

certificate: Optional[str]

Certificate.

matching_type: Optional[float]

Matching Type.

maximum255
minimum0
selector: Optional[float]

Selector.

maximum255
minimum0
usage: Optional[float]

Usage.

maximum255
minimum0
proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class SRVRecord:
name: str

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: Literal["SRV"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

Priority, weight, port, and SRV target. See 'data' for setting the individual component values.

data: Optional[Data]

Components of a SRV record.

port: Optional[float]

The port of the service.

maximum65535
minimum0
priority: Optional[float]

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[str]

A valid hostname.

formathostname
weight: Optional[float]

The record weight.

maximum65535
minimum0
proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class SSHFPRecord:
name: str

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: Literal["SSHFP"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

Formatted SSHFP content. See 'data' to set SSHFP properties.

data: Optional[Data]

Components of a SSHFP record.

algorithm: Optional[float]

Algorithm.

maximum255
minimum0
fingerprint: Optional[str]

Fingerprint.

type: Optional[float]

Type.

maximum255
minimum0
proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class SVCBRecord:
name: str

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: Literal["SVCB"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

Formatted SVCB content. See 'data' to set SVCB properties.

data: Optional[Data]

Components of a SVCB record.

priority: Optional[float]

Priority.

maximum65535
minimum0
target: Optional[str]

Target.

value: Optional[str]

Value.

proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class TLSARecord:
name: str

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: Literal["TLSA"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

Formatted TLSA content. See 'data' to set TLSA properties.

data: Optional[Data]

Components of a TLSA record.

certificate: Optional[str]

Certificate.

matching_type: Optional[float]

Matching Type.

maximum255
minimum0
selector: Optional[float]

Selector.

maximum255
minimum0
usage: Optional[float]

Usage.

maximum255
minimum0
proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class URIRecord:
name: str

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: Literal["URI"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

Formatted URI content. See 'data' to set URI properties.

data: Optional[Data]

Components of a URI record.

target: Optional[str]

The record content.

weight: Optional[float]

The record weight.

maximum65535
minimum0
priority: Optional[float]

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[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

One of the following:
class A:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class AAAA:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class CNAME:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class MX:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class NS:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class Openpgpkey:
id: str

Identifier.

maxLength32
comment: str

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: str

A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1)

created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
name: str

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

maxLength255
minLength1
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

proxied: bool

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: OpenpgpkeySettings

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6.

tags: List[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: Literal["OPENPGPKEY"]

Record type.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class PTR:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class TXT:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class CAA:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class CERT:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class DNSKEY:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class DS:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class HTTPS:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class LOC:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class NAPTR:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class SMIMEA:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class SRV:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class SSHFP:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class SVCB:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class TLSA:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class URI:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
str

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

class SMIMEARecord:
name: str

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: Literal["SMIMEA"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

Formatted SMIMEA content. See 'data' to set SMIMEA properties.

data: Optional[Data]

Components of a SMIMEA record.

certificate: Optional[str]

Certificate.

matching_type: Optional[float]

Matching Type.

maximum255
minimum0
selector: Optional[float]

Selector.

maximum255
minimum0
usage: Optional[float]

Usage.

maximum255
minimum0
proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class SRVRecord:
name: str

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: Literal["SRV"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

Priority, weight, port, and SRV target. See 'data' for setting the individual component values.

data: Optional[Data]

Components of a SRV record.

port: Optional[float]

The port of the service.

maximum65535
minimum0
priority: Optional[float]

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[str]

A valid hostname.

formathostname
weight: Optional[float]

The record weight.

maximum65535
minimum0
proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class SSHFPRecord:
name: str

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: Literal["SSHFP"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

Formatted SSHFP content. See 'data' to set SSHFP properties.

data: Optional[Data]

Components of a SSHFP record.

algorithm: Optional[float]

Algorithm.

maximum255
minimum0
fingerprint: Optional[str]

Fingerprint.

type: Optional[float]

Type.

maximum255
minimum0
proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class SVCBRecord:
name: str

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: Literal["SVCB"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

Formatted SVCB content. See 'data' to set SVCB properties.

data: Optional[Data]

Components of a SVCB record.

priority: Optional[float]

Priority.

maximum65535
minimum0
target: Optional[str]

Target.

value: Optional[str]

Value.

proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class TLSARecord:
name: str

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: Literal["TLSA"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

Formatted TLSA content. See 'data' to set TLSA properties.

data: Optional[Data]

Components of a TLSA record.

certificate: Optional[str]

Certificate.

matching_type: Optional[float]

Matching Type.

maximum255
minimum0
selector: Optional[float]

Selector.

maximum255
minimum0
usage: Optional[float]

Usage.

maximum255
minimum0
proxied: Optional[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

Union[float, Literal[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:
float
Literal[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.

class TXTRecord:
name: str

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: Literal["TXT"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

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[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class URIRecord:
name: str

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: Literal["URI"]

Record type.

comment: Optional[str]

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: Optional[str]

Formatted URI content. See 'data' to set URI properties.

data: Optional[Data]

Components of a URI record.

target: Optional[str]

The record content.

weight: Optional[float]

The record weight.

maximum65535
minimum0
priority: Optional[float]

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[bool]

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: Optional[Settings]

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that 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[List[RecordTags]]

Custom tags for the DNS record. This field has no effect on DNS responses.

class RecordDeleteResponse:
id: Optional[str]

Identifier.

maxLength32
str

Exported BIND zone file.

class RecordImportResponse:
recs_added: Optional[float]

Number of DNS records added.

total_records_parsed: Optional[float]

Total number of DNS records parsed.

class RecordScanResponse:
recs_added: Optional[float]

Number of DNS records added.

total_records_parsed: Optional[float]

Total number of DNS records parsed.

class RecordScanTriggerResponse:
errors: List[Error]
code: int
minimum1000
message: str
documentation_url: Optional[str]
source: Optional[ErrorSource]
pointer: Optional[str]
messages: List[Message]
code: int
minimum1000
message: str
documentation_url: Optional[str]
source: Optional[MessageSource]
pointer: Optional[str]
success: Literal[true]

Whether the API call was successful.

class RecordScanReviewResponse:
accepts: Optional[List[RecordResponse]]
One of the following:
class A:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class AAAA:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class CNAME:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class MX:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class NS:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class Openpgpkey:
id: str

Identifier.

maxLength32
comment: str

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: str

A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1)

created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
name: str

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

maxLength255
minLength1
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

proxied: bool

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: OpenpgpkeySettings

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6.

tags: List[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: Literal["OPENPGPKEY"]

Record type.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class PTR:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class TXT:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class CAA:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class CERT:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class DNSKEY:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class DS:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class HTTPS:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class LOC:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class NAPTR:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class SMIMEA:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class SRV:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class SSHFP:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class SVCB:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class TLSA:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class URI:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
rejects: Optional[List[str]]
class RecordBatchResponse:
deletes: Optional[List[RecordResponse]]
One of the following:
class A:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class AAAA:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class CNAME:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class MX:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class NS:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class Openpgpkey:
id: str

Identifier.

maxLength32
comment: str

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: str

A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1)

created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
name: str

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

maxLength255
minLength1
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

proxied: bool

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: OpenpgpkeySettings

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6.

tags: List[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: Literal["OPENPGPKEY"]

Record type.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class PTR:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class TXT:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class CAA:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class CERT:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class DNSKEY:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class DS:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class HTTPS:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class LOC:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class NAPTR:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class SMIMEA:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class SRV:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class SSHFP:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class SVCB:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class TLSA:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class URI:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
patches: Optional[List[RecordResponse]]
One of the following:
class A:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class AAAA:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class CNAME:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class MX:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class NS:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class Openpgpkey:
id: str

Identifier.

maxLength32
comment: str

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: str

A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1)

created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
name: str

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

maxLength255
minLength1
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

proxied: bool

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: OpenpgpkeySettings

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6.

tags: List[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: Literal["OPENPGPKEY"]

Record type.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class PTR:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class TXT:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class CAA:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class CERT:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class DNSKEY:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class DS:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class HTTPS:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class LOC:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class NAPTR:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class SMIMEA:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class SRV:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class SSHFP:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class SVCB:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class TLSA:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class URI:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
posts: Optional[List[RecordResponse]]
One of the following:
class A:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class AAAA:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class CNAME:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class MX:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class NS:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class Openpgpkey:
id: str

Identifier.

maxLength32
comment: str

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: str

A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1)

created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
name: str

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

maxLength255
minLength1
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

proxied: bool

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: OpenpgpkeySettings

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6.

tags: List[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: Literal["OPENPGPKEY"]

Record type.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class PTR:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class TXT:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class CAA:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class CERT:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class DNSKEY:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class DS:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class HTTPS:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class LOC:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class NAPTR:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class SMIMEA:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class SRV:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class SSHFP:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class SVCB:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class TLSA:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class URI:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
puts: Optional[List[RecordResponse]]
One of the following:
class A:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class AAAA:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class CNAME:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class MX:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class NS:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class Openpgpkey:
id: str

Identifier.

maxLength32
comment: str

Comments or notes about the DNS record. This field has no effect on DNS responses.

content: str

A single Base64-encoded OpenPGP Transferable Public Key (RFC 4880 Section 11.1)

created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
name: str

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

maxLength255
minLength1
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

proxied: bool

Whether the record is receiving the performance and security benefits of Cloudflare.

settings: OpenpgpkeySettings

Settings for the DNS record.

ipv4_only: Optional[bool]

When enabled, only A records will be generated, and AAAA records will not be created. This setting is intended for exceptional cases. Note that this 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[bool]

When enabled, only AAAA records will be generated, and A records will not be created. This setting is intended for exceptional cases. Note that this option only applies to proxied records and it has no effect on whether Cloudflare communicates with the origin using IPv4 or IPv6.

tags: List[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: Literal["OPENPGPKEY"]

Record type.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class PTR:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class TXT:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class CAA:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class CERT:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class DNSKEY:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class DS:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class HTTPS:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class LOC:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class NAPTR:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class SMIMEA:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class SRV:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class SSHFP:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class SVCB:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class TLSA:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time
class URI:
id: str

Identifier.

maxLength32
created_on: datetime

When the record was created.

formatdate-time
meta: object

Extra Cloudflare-specific information about the record.

modified_on: datetime

When the record was last modified.

formatdate-time
proxiable: bool

Whether the record can be proxied by Cloudflare or not.

comment_modified_on: Optional[datetime]

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

formatdate-time
tags_modified_on: Optional[datetime]

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

formatdate-time

DNSSettings

DNSSettingsZone

Show DNS Settings
dns.settings.zone.get(ZoneGetParams**kwargs) -> ZoneGetResponse
GET/zones/{zone_id}/dns_settings
Update DNS Settings
dns.settings.zone.edit(ZoneEditParams**kwargs) -> ZoneEditResponse
PATCH/zones/{zone_id}/dns_settings
ModelsExpand Collapse
class ZoneGetResponse:
flatten_all_cnames: bool

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: bool

Whether to enable Foundation DNS Advanced Nameservers on the zone.

internal_dns: InternalDNS

Settings for this internal zone.

reference_zone_id: Optional[str]

The ID of the zone to fallback to.

multi_provider: bool

Whether to enable multi-provider DNS, which causes Cloudflare to activate the zone even when non-Cloudflare NS records exist, and to respect NS records at the zone apex during outbound zone transfers.

nameservers: Nameservers

Settings determining the nameservers through which the zone should be available.

type: Literal["cloudflare.standard", "custom.account", "custom.tenant", "custom.zone"]

Nameserver type

One of the following:
"cloudflare.standard"
"custom.account"
"custom.tenant"
"custom.zone"
ns_set: Optional[int]

Configured nameserver set to be used for this zone

maximum5
minimum1
ns_ttl: float

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

maximum86400
minimum30
secondary_overrides: bool

Allows a Secondary DNS zone to use (proxied) override records and CNAME flattening at the zone apex.

soa: SOA

Components of the zone's SOA record.

expire: Optional[float]

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[float]

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

maximum86400
minimum60
mname: Optional[str]

The primary nameserver, which may be used for outbound zone transfers. If null, a Cloudflare-assigned value will be used.

refresh: Optional[float]

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[float]

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

maximum86400
minimum600
rname: Optional[str]

The email address of the zone administrator, with the first label representing the local part of the email address.

ttl: Optional[float]

The time to live (TTL) of the SOA record itself.

maximum86400
minimum300
zone_mode: Literal["standard", "cdn_only", "dns_only"]

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

One of the following:
"standard"
"cdn_only"
"dns_only"
class ZoneEditResponse:
flatten_all_cnames: bool

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: bool

Whether to enable Foundation DNS Advanced Nameservers on the zone.

internal_dns: InternalDNS

Settings for this internal zone.

reference_zone_id: Optional[str]

The ID of the zone to fallback to.

multi_provider: bool

Whether to enable multi-provider DNS, which causes Cloudflare to activate the zone even when non-Cloudflare NS records exist, and to respect NS records at the zone apex during outbound zone transfers.

nameservers: Nameservers

Settings determining the nameservers through which the zone should be available.

type: Literal["cloudflare.standard", "custom.account", "custom.tenant", "custom.zone"]

Nameserver type

One of the following:
"cloudflare.standard"
"custom.account"
"custom.tenant"
"custom.zone"
ns_set: Optional[int]

Configured nameserver set to be used for this zone

maximum5
minimum1
ns_ttl: float

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

maximum86400
minimum30
secondary_overrides: bool

Allows a Secondary DNS zone to use (proxied) override records and CNAME flattening at the zone apex.

soa: SOA

Components of the zone's SOA record.

expire: Optional[float]

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[float]

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

maximum86400
minimum60
mname: Optional[str]

The primary nameserver, which may be used for outbound zone transfers. If null, a Cloudflare-assigned value will be used.

refresh: Optional[float]

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[float]

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

maximum86400
minimum600
rname: Optional[str]

The email address of the zone administrator, with the first label representing the local part of the email address.

ttl: Optional[float]

The time to live (TTL) of the SOA record itself.

maximum86400
minimum300
zone_mode: Literal["standard", "cdn_only", "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
dns.settings.account.get(AccountGetParams**kwargs) -> AccountGetResponse
GET/accounts/{account_id}/dns_settings
Update DNS Settings
dns.settings.account.edit(AccountEditParams**kwargs) -> AccountEditResponse
PATCH/accounts/{account_id}/dns_settings
ModelsExpand Collapse
class AccountGetResponse:
zone_defaults: ZoneDefaults
flatten_all_cnames: bool

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: bool

Whether to enable Foundation DNS Advanced Nameservers on the zone.

internal_dns: ZoneDefaultsInternalDNS

Settings for this internal zone.

reference_zone_id: Optional[str]

The ID of the zone to fallback to.

multi_provider: bool

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: ZoneDefaultsNameservers

Settings determining the nameservers through which the zone should be available.

type: Literal["cloudflare.standard", "cloudflare.standard.random", "custom.account", "custom.tenant"]

Nameserver type

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

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

maximum86400
minimum30
secondary_overrides: bool

Allows a Secondary DNS zone to use (proxied) override records and CNAME flattening at the zone apex.

soa: ZoneDefaultsSOA

Components of the zone's SOA record.

expire: Optional[float]

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[float]

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

maximum86400
minimum60
mname: Optional[str]

The primary nameserver, which may be used for outbound zone transfers. If null, a Cloudflare-assigned value will be used.

refresh: Optional[float]

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[float]

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

maximum86400
minimum600
rname: Optional[str]

The email address of the zone administrator, with the first label representing the local part of the email address.

ttl: Optional[float]

The time to live (TTL) of the SOA record itself.

maximum86400
minimum300
zone_mode: Literal["standard", "cdn_only", "dns_only"]

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

One of the following:
"standard"
"cdn_only"
"dns_only"
class AccountEditResponse:
zone_defaults: ZoneDefaults
flatten_all_cnames: bool

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: bool

Whether to enable Foundation DNS Advanced Nameservers on the zone.

internal_dns: ZoneDefaultsInternalDNS

Settings for this internal zone.

reference_zone_id: Optional[str]

The ID of the zone to fallback to.

multi_provider: bool

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: ZoneDefaultsNameservers

Settings determining the nameservers through which the zone should be available.

type: Literal["cloudflare.standard", "cloudflare.standard.random", "custom.account", "custom.tenant"]

Nameserver type

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

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

maximum86400
minimum30
secondary_overrides: bool

Allows a Secondary DNS zone to use (proxied) override records and CNAME flattening at the zone apex.

soa: ZoneDefaultsSOA

Components of the zone's SOA record.

expire: Optional[float]

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[float]

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

maximum86400
minimum60
mname: Optional[str]

The primary nameserver, which may be used for outbound zone transfers. If null, a Cloudflare-assigned value will be used.

refresh: Optional[float]

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[float]

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

maximum86400
minimum600
rname: Optional[str]

The email address of the zone administrator, with the first label representing the local part of the email address.

ttl: Optional[float]

The time to live (TTL) of the SOA record itself.

maximum86400
minimum300
zone_mode: Literal["standard", "cdn_only", "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
dns.settings.account.views.list(ViewListParams**kwargs) -> SyncV4PagePaginationArray[ViewListResponse]
GET/accounts/{account_id}/dns_settings/views
DNS Internal View Details
dns.settings.account.views.get(strview_id, ViewGetParams**kwargs) -> ViewGetResponse
GET/accounts/{account_id}/dns_settings/views/{view_id}
Create Internal DNS View
dns.settings.account.views.create(ViewCreateParams**kwargs) -> ViewCreateResponse
POST/accounts/{account_id}/dns_settings/views
Update Internal DNS View
dns.settings.account.views.edit(strview_id, ViewEditParams**kwargs) -> ViewEditResponse
PATCH/accounts/{account_id}/dns_settings/views/{view_id}
Delete Internal DNS View
dns.settings.account.views.delete(strview_id, ViewDeleteParams**kwargs) -> ViewDeleteResponse
DELETE/accounts/{account_id}/dns_settings/views/{view_id}
ModelsExpand Collapse
class ViewListResponse:
id: str

Identifier.

maxLength32
created_time: datetime

When the view was created.

formatdate-time
modified_time: datetime

When the view was last modified.

formatdate-time
name: str

The name of the view.

maxLength255
minLength1
zones: List[str]

The list of zones linked to this view.

class ViewGetResponse:
id: str

Identifier.

maxLength32
created_time: datetime

When the view was created.

formatdate-time
modified_time: datetime

When the view was last modified.

formatdate-time
name: str

The name of the view.

maxLength255
minLength1
zones: List[str]

The list of zones linked to this view.

class ViewCreateResponse:
id: str

Identifier.

maxLength32
created_time: datetime

When the view was created.

formatdate-time
modified_time: datetime

When the view was last modified.

formatdate-time
name: str

The name of the view.

maxLength255
minLength1
zones: List[str]

The list of zones linked to this view.

class ViewEditResponse:
id: str

Identifier.

maxLength32
created_time: datetime

When the view was created.

formatdate-time
modified_time: datetime

When the view was last modified.

formatdate-time
name: str

The name of the view.

maxLength255
minLength1
zones: List[str]

The list of zones linked to this view.

class ViewDeleteResponse:
id: Optional[str]

Identifier.

maxLength32

DNSAnalytics

DNSAnalyticsReports

Table
dns.analytics.reports.get(ReportGetParams**kwargs) -> Report
GET/zones/{zone_id}/dns_analytics/report
ModelsExpand Collapse
class Report:
data: List[Data]

Array with one row per combination of dimension values.

dimensions: List[str]

Array of dimension values, representing the combination of dimension values corresponding to this row.

metrics: List[float]

Array with one item per requested metric. Each item is a single value.

data_lag: float

Number of seconds between current time and last processed event, in another words how many seconds of data could be missing.

minimum0
max: object

Maximum results for each metric (object mapping metric names to values). Currently always an empty object.

min: object

Minimum results for each metric (object mapping metric names to values). Currently always an empty object.

query: Query
dimensions: List[str]

Array of dimension names.

limit: int

Limit number of returned metrics.

metrics: List[str]

Array of metric names.

since: datetime

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

formatdate-time
until: datetime

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

formatdate-time
filters: Optional[str]

Segmentation filter in 'attribute operator value' format.

sort: Optional[List[str]]

Array of dimensions to sort by, where each dimension may be prefixed by - (descending) or + (ascending).

rows: float

Total number of rows in the result.

minimum0
totals: object

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

DNSAnalyticsReportsBytimes

By Time
dns.analytics.reports.bytimes.get(BytimeGetParams**kwargs) -> ByTime
GET/zones/{zone_id}/dns_analytics/report/bytime
ModelsExpand Collapse
class ByTime:
data: List[Data]

Array with one row per combination of dimension values.

dimensions: List[str]

Array of dimension values, representing the combination of dimension values corresponding to this row.

metrics: List[List[float]]

Array with one item per requested metric. Each item is an array of values, broken down by time interval.

data_lag: float

Number of seconds between current time and last processed event, in another words how many seconds of data could be missing.

minimum0
max: object

Maximum results for each metric (object mapping metric names to values). Currently always an empty object.

min: object

Minimum results for each metric (object mapping metric names to values). Currently always an empty object.

query: Query
dimensions: List[str]

Array of dimension names.

limit: int

Limit number of returned metrics.

metrics: List[str]

Array of metric names.

since: datetime

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

formatdate-time
time_delta: Literal["all", "auto", "year", 7 more]

Unit of time to group data by.

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

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

formatdate-time
filters: Optional[str]

Segmentation filter in 'attribute operator value' format.

sort: Optional[List[str]]

Array of dimensions to sort by, where each dimension may be prefixed by - (descending) or + (ascending).

rows: float

Total number of rows in the result.

minimum0
time_intervals: List[List[datetime]]

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: object

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

DNSZone Transfers

DNSZone TransfersForce AXFR

Force AXFR
dns.zone_transfers.force_axfr.create(ForceAXFRCreateParams**kwargs) -> ForceAXFR
POST/zones/{zone_id}/secondary_dns/force_axfr
ModelsExpand Collapse
str

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

DNSZone TransfersIncoming

Secondary Zone Configuration Details
dns.zone_transfers.incoming.get(IncomingGetParams**kwargs) -> IncomingGetResponse
GET/zones/{zone_id}/secondary_dns/incoming
Create Secondary Zone Configuration
dns.zone_transfers.incoming.create(IncomingCreateParams**kwargs) -> IncomingCreateResponse
POST/zones/{zone_id}/secondary_dns/incoming
Update Secondary Zone Configuration
dns.zone_transfers.incoming.update(IncomingUpdateParams**kwargs) -> IncomingUpdateResponse
PUT/zones/{zone_id}/secondary_dns/incoming
Delete Secondary Zone Configuration
dns.zone_transfers.incoming.delete(IncomingDeleteParams**kwargs) -> IncomingDeleteResponse
DELETE/zones/{zone_id}/secondary_dns/incoming
ModelsExpand Collapse
class Incoming:
id: Optional[str]
auto_refresh_seconds: Optional[float]

How often should a secondary zone auto refresh regardless of DNS NOTIFY. Not applicable for primary zones.

minimum300
checked_time: Optional[str]

The time for a specific event.

created_time: Optional[str]

The time for a specific event.

modified_time: Optional[str]

The time for a specific event.

name: Optional[str]

Zone name.

peers: Optional[List[str]]

A list of peer tags.

soa_serial: Optional[float]

The serial number of the SOA for the given zone.

class IncomingGetResponse:
id: Optional[str]
auto_refresh_seconds: Optional[float]

How often should a secondary zone auto refresh regardless of DNS NOTIFY. Not applicable for primary zones.

minimum300
checked_time: Optional[str]

The time for a specific event.

created_time: Optional[str]

The time for a specific event.

modified_time: Optional[str]

The time for a specific event.

name: Optional[str]

Zone name.

peers: Optional[List[str]]

A list of peer tags.

soa_serial: Optional[float]

The serial number of the SOA for the given zone.

class IncomingCreateResponse:
id: Optional[str]
auto_refresh_seconds: Optional[float]

How often should a secondary zone auto refresh regardless of DNS NOTIFY. Not applicable for primary zones.

minimum300
checked_time: Optional[str]

The time for a specific event.

created_time: Optional[str]

The time for a specific event.

modified_time: Optional[str]

The time for a specific event.

name: Optional[str]

Zone name.

peers: Optional[List[str]]

A list of peer tags.

soa_serial: Optional[float]

The serial number of the SOA for the given zone.

class IncomingUpdateResponse:
id: Optional[str]
auto_refresh_seconds: Optional[float]

How often should a secondary zone auto refresh regardless of DNS NOTIFY. Not applicable for primary zones.

minimum300
checked_time: Optional[str]

The time for a specific event.

created_time: Optional[str]

The time for a specific event.

modified_time: Optional[str]

The time for a specific event.

name: Optional[str]

Zone name.

peers: Optional[List[str]]

A list of peer tags.

soa_serial: Optional[float]

The serial number of the SOA for the given zone.

class IncomingDeleteResponse:
id: Optional[str]

DNSZone TransfersOutgoing

Primary Zone Configuration Details
dns.zone_transfers.outgoing.get(OutgoingGetParams**kwargs) -> OutgoingGetResponse
GET/zones/{zone_id}/secondary_dns/outgoing
Create Primary Zone Configuration
dns.zone_transfers.outgoing.create(OutgoingCreateParams**kwargs) -> OutgoingCreateResponse
POST/zones/{zone_id}/secondary_dns/outgoing
Update Primary Zone Configuration
dns.zone_transfers.outgoing.update(OutgoingUpdateParams**kwargs) -> OutgoingUpdateResponse
PUT/zones/{zone_id}/secondary_dns/outgoing
Delete Primary Zone Configuration
dns.zone_transfers.outgoing.delete(OutgoingDeleteParams**kwargs) -> OutgoingDeleteResponse
DELETE/zones/{zone_id}/secondary_dns/outgoing
Disable Outgoing Zone Transfers
dns.zone_transfers.outgoing.disable(OutgoingDisableParams**kwargs) -> DisableTransfer
POST/zones/{zone_id}/secondary_dns/outgoing/disable
Enable Outgoing Zone Transfers
dns.zone_transfers.outgoing.enable(OutgoingEnableParams**kwargs) -> EnableTransfer
POST/zones/{zone_id}/secondary_dns/outgoing/enable
Force DNS NOTIFY
dns.zone_transfers.outgoing.force_notify(OutgoingForceNotifyParams**kwargs) -> OutgoingForceNotifyResponse
POST/zones/{zone_id}/secondary_dns/outgoing/force_notify
ModelsExpand Collapse
str

The zone transfer status of a primary zone.

str

The zone transfer status of a primary zone.

class Outgoing:
id: Optional[str]
checked_time: Optional[str]

The time for a specific event.

created_time: Optional[str]

The time for a specific event.

last_transferred_time: Optional[str]

The time for a specific event.

name: Optional[str]

Zone name.

peers: Optional[List[str]]

A list of peer tags.

soa_serial: Optional[float]

The serial number of the SOA for the given zone.

Optional[str]

The zone transfer status of a primary zone.

class OutgoingGetResponse:
id: Optional[str]
checked_time: Optional[str]

The time for a specific event.

created_time: Optional[str]

The time for a specific event.

last_transferred_time: Optional[str]

The time for a specific event.

name: Optional[str]

Zone name.

peers: Optional[List[str]]

A list of peer tags.

soa_serial: Optional[float]

The serial number of the SOA for the given zone.

class OutgoingCreateResponse:
id: Optional[str]
checked_time: Optional[str]

The time for a specific event.

created_time: Optional[str]

The time for a specific event.

last_transferred_time: Optional[str]

The time for a specific event.

name: Optional[str]

Zone name.

peers: Optional[List[str]]

A list of peer tags.

soa_serial: Optional[float]

The serial number of the SOA for the given zone.

class OutgoingUpdateResponse:
id: Optional[str]
checked_time: Optional[str]

The time for a specific event.

created_time: Optional[str]

The time for a specific event.

last_transferred_time: Optional[str]

The time for a specific event.

name: Optional[str]

Zone name.

peers: Optional[List[str]]

A list of peer tags.

soa_serial: Optional[float]

The serial number of the SOA for the given zone.

class OutgoingDeleteResponse:
id: Optional[str]
str

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

DNSZone TransfersOutgoingStatus

Get Outgoing Zone Transfer Status
dns.zone_transfers.outgoing.status.get(StatusGetParams**kwargs) -> EnableTransfer
GET/zones/{zone_id}/secondary_dns/outgoing/status

DNSZone TransfersACLs

List ACLs
dns.zone_transfers.acls.list(ACLListParams**kwargs) -> SyncSinglePage[ACL]
GET/accounts/{account_id}/secondary_dns/acls
ACL Details
dns.zone_transfers.acls.get(stracl_id, ACLGetParams**kwargs) -> ACL
GET/accounts/{account_id}/secondary_dns/acls/{acl_id}
Create ACL
dns.zone_transfers.acls.create(ACLCreateParams**kwargs) -> ACL
POST/accounts/{account_id}/secondary_dns/acls
Update ACL
dns.zone_transfers.acls.update(stracl_id, ACLUpdateParams**kwargs) -> ACL
PUT/accounts/{account_id}/secondary_dns/acls/{acl_id}
Delete ACL
dns.zone_transfers.acls.delete(stracl_id, ACLDeleteParams**kwargs) -> ACLDeleteResponse
DELETE/accounts/{account_id}/secondary_dns/acls/{acl_id}
ModelsExpand Collapse
class ACL:
id: str
ip_range: str

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: str

The name of the acl.

class ACLDeleteResponse:
id: Optional[str]

DNSZone TransfersPeers

List Peers
dns.zone_transfers.peers.list(PeerListParams**kwargs) -> SyncSinglePage[Peer]
GET/accounts/{account_id}/secondary_dns/peers
Peer Details
dns.zone_transfers.peers.get(strpeer_id, PeerGetParams**kwargs) -> Peer
GET/accounts/{account_id}/secondary_dns/peers/{peer_id}
Create Peer
dns.zone_transfers.peers.create(PeerCreateParams**kwargs) -> Peer
POST/accounts/{account_id}/secondary_dns/peers
Update Peer
dns.zone_transfers.peers.update(strpeer_id, PeerUpdateParams**kwargs) -> Peer
PUT/accounts/{account_id}/secondary_dns/peers/{peer_id}
Delete Peer
dns.zone_transfers.peers.delete(strpeer_id, PeerDeleteParams**kwargs) -> PeerDeleteResponse
DELETE/accounts/{account_id}/secondary_dns/peers/{peer_id}
ModelsExpand Collapse
class Peer:
id: str
name: str

The name of the peer.

ip: Optional[str]

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[bool]

Enable IXFR transfer protocol, default is AXFR. Only applicable to secondary zones.

port: Optional[float]

DNS port of primary or secondary nameserver, depending on what zone this peer is linked to.

tsig_id: Optional[str]

TSIG authentication will be used for zone transfer if configured.

class PeerDeleteResponse:
id: Optional[str]

DNSZone TransfersTSIGs

List TSIGs
dns.zone_transfers.tsigs.list(TSIGListParams**kwargs) -> SyncSinglePage[TSIG]
GET/accounts/{account_id}/secondary_dns/tsigs
TSIG Details
dns.zone_transfers.tsigs.get(strtsig_id, TSIGGetParams**kwargs) -> TSIG
GET/accounts/{account_id}/secondary_dns/tsigs/{tsig_id}
Create TSIG
dns.zone_transfers.tsigs.create(TSIGCreateParams**kwargs) -> TSIG
POST/accounts/{account_id}/secondary_dns/tsigs
Update TSIG
dns.zone_transfers.tsigs.update(strtsig_id, TSIGUpdateParams**kwargs) -> TSIG
PUT/accounts/{account_id}/secondary_dns/tsigs/{tsig_id}
Delete TSIG
dns.zone_transfers.tsigs.delete(strtsig_id, TSIGDeleteParams**kwargs) -> TSIGDeleteResponse
DELETE/accounts/{account_id}/secondary_dns/tsigs/{tsig_id}
ModelsExpand Collapse
class TSIG:
id: str
algo: str

TSIG algorithm.

name: str

TSIG key name.

secret: str

TSIG secret.

class TSIGDeleteResponse:
id: Optional[str]