Skip to content
Start here

Review Scanned DNS Records

client.dns.records.scanReview(RecordScanReviewParams { zone_id, accepts, rejects } params, RequestOptionsoptions?): RecordScanReviewResponse { accepts, rejects }
POST/zones/{zone_id}/dns_records/scan/review

Accept or reject DNS records found by the DNS records scan. Accepted records will be permanently added to the zone, while rejected records will be permanently deleted.

Security
API Token

The preferred authorization scheme for interacting with the Cloudflare API. Create a token.

Example:Authorization: Bearer Sn3lZJTBX6kkg7OdcBUAxOO963GEIyGQqnFTOFYY
API Email + API Key

The previous authorization scheme for interacting with the Cloudflare API, used in conjunction with a Global API key.

Example:X-Auth-Email: user@example.com

The previous authorization scheme for interacting with the Cloudflare API. When possible, use API tokens instead of Global API keys.

Example:X-Auth-Key: 144c9defac04969c7bfad8efaa8ea194
Accepted Permissions (at least one required)
DNS Write
ParametersExpand Collapse
params: RecordScanReviewParams { zone_id, accepts, rejects }
zone_id: string

Path param: Identifier.

maxLength32
accepts?: Array<ARecord { name, ttl, type, 6 more } | AAAARecord { name, ttl, type, 6 more } | CNAMERecord { name, ttl, type, 5 more } | 18 more>

Body param

One of the following:
ARecord { name, ttl, type, 6 more }
name: string

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

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones.

One of the following:
number
1
type: "A"

Record type.

comment?: string

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

content?: string

A valid IPv4 address.

formatipv4
private_routing?: boolean

Enables private network routing to the origin.

proxied?: boolean

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

settings?: Settings { ipv4_only, ipv6_only }

Settings for the DNS record.

ipv4_only?: boolean

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

ipv6_only?: boolean

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

tags?: Array<RecordTags>

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

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

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

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones.

One of the following:
number
1
type: "AAAA"

Record type.

comment?: string

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

content?: string

A valid IPv6 address.

formatipv6
private_routing?: boolean

Enables private network routing to the origin.

proxied?: boolean

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

settings?: Settings { ipv4_only, ipv6_only }

Settings for the DNS record.

ipv4_only?: boolean

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

ipv6_only?: boolean

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

tags?: Array<RecordTags>

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

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

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

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones.

One of the following:
number
1
type: "CNAME"

Record type.

comment?: string

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

content?: string

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

proxied?: boolean

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

settings?: Settings { flatten_cname, ipv4_only, ipv6_only }

Settings for the DNS record.

flatten_cname?: boolean

If enabled, causes the CNAME record to be resolved externally and the resulting address records (e.g., A and AAAA) to be returned instead of the CNAME record itself. This setting is unavailable for proxied records, since they are always flattened.

ipv4_only?: boolean

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

ipv6_only?: boolean

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

tags?: Array<RecordTags>

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

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

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

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones.

One of the following:
number
1
type: "MX"

Record type.

comment?: string

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

content?: string

A valid mail server hostname.

formathostname
priority?: number

Required for MX and URI records; ignored for other record types (but may still be returned by the API). Records with lower priorities are preferred. This field is to be deprecated in favor of the priority field within the data map.

maximum65535
minimum0
proxied?: boolean

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

settings?: Settings { ipv4_only, ipv6_only }

Settings for the DNS record.

ipv4_only?: boolean

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

ipv6_only?: boolean

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

tags?: Array<RecordTags>

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

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

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

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones.

One of the following:
number
1
type: "NS"

Record type.

comment?: string

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

content?: string

A valid name server host name.

proxied?: boolean

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

settings?: Settings { ipv4_only, ipv6_only }

Settings for the DNS record.

ipv4_only?: boolean

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

ipv6_only?: boolean

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

tags?: Array<RecordTags>

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

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

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

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.

One of the following:
number
1
type: "OPENPGPKEY"

Record type.

comment?: string

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

content?: string

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

proxied?: boolean

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

settings?: Settings { ipv4_only, ipv6_only }

Settings for the DNS record.

ipv4_only?: boolean

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

ipv6_only?: boolean

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

tags?: Array<RecordTags>

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

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

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

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones.

One of the following:
number
1
type: "PTR"

Record type.

comment?: string

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

content?: string

Domain name pointing to the address.

proxied?: boolean

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

settings?: Settings { ipv4_only, ipv6_only }

Settings for the DNS record.

ipv4_only?: boolean

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

ipv6_only?: boolean

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

tags?: Array<RecordTags>

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

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

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

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones.

One of the following:
number
1
type: "TXT"

Record type.

comment?: string

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

content?: string

Text content for the record. The content must consist of quoted "character strings" (RFC 1035), each with a length of up to 255 bytes. Strings exceeding this allowed maximum length are automatically split.

Learn more at https://www.cloudflare.com/learning/dns/dns-records/dns-txt-record/.

proxied?: boolean

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

settings?: Settings { ipv4_only, ipv6_only }

Settings for the DNS record.

ipv4_only?: boolean

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

ipv6_only?: boolean

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

tags?: Array<RecordTags>

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

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

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

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones.

One of the following:
number
1
type: "CAA"

Record type.

comment?: string

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

content?: string

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

data?: Data { flags, tag, value }

Components of a CAA record.

flags?: number

Flags for the CAA record.

maximum255
minimum0
tag?: string

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

value?: string

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

proxied?: boolean

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

settings?: Settings { ipv4_only, ipv6_only }

Settings for the DNS record.

ipv4_only?: boolean

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

ipv6_only?: boolean

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

tags?: Array<RecordTags>

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

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

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

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones.

One of the following:
number
1
type: "CERT"

Record type.

comment?: string

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

content?: string

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

data?: Data { algorithm, certificate, key_tag, type }

Components of a CERT record.

algorithm?: number

Algorithm.

maximum255
minimum0
certificate?: string

Certificate.

key_tag?: number

Key Tag.

maximum65535
minimum0
type?: number

Type.

maximum65535
minimum0
proxied?: boolean

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

settings?: Settings { ipv4_only, ipv6_only }

Settings for the DNS record.

ipv4_only?: boolean

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

ipv6_only?: boolean

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

tags?: Array<RecordTags>

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

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

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

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones.

One of the following:
number
1
type: "DNSKEY"

Record type.

comment?: string

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

content?: string

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

data?: Data { algorithm, flags, protocol, public_key }

Components of a DNSKEY record.

algorithm?: number

Algorithm.

maximum255
minimum0
flags?: number

Flags.

maximum65535
minimum0
protocol?: number

Protocol.

maximum255
minimum0
public_key?: string

Public Key.

proxied?: boolean

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

settings?: Settings { ipv4_only, ipv6_only }

Settings for the DNS record.

ipv4_only?: boolean

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

ipv6_only?: boolean

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

tags?: Array<RecordTags>

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

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

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

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones.

One of the following:
number
1
type: "DS"

Record type.

comment?: string

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

content?: string

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

data?: Data { algorithm, digest, digest_type, key_tag }

Components of a DS record.

algorithm?: number

Algorithm.

maximum255
minimum0
digest?: string

Digest.

digest_type?: number

Digest Type.

maximum255
minimum0
key_tag?: number

Key Tag.

maximum65535
minimum0
proxied?: boolean

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

settings?: Settings { ipv4_only, ipv6_only }

Settings for the DNS record.

ipv4_only?: boolean

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

ipv6_only?: boolean

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

tags?: Array<RecordTags>

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

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

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

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones.

One of the following:
number
1
type: "HTTPS"

Record type.

comment?: string

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

content?: string

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

data?: Data { priority, target, value }

Components of a HTTPS record.

priority?: number

Priority.

maximum65535
minimum0
target?: string

Target.

value?: string

Value.

proxied?: boolean

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

settings?: Settings { ipv4_only, ipv6_only }

Settings for the DNS record.

ipv4_only?: boolean

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

ipv6_only?: boolean

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

tags?: Array<RecordTags>

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

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

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

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones.

One of the following:
number
1
type: "LOC"

Record type.

comment?: string

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

content?: string

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

data?: Data { altitude, lat_degrees, lat_direction, 9 more }

Components of a LOC record.

altitude?: number

Altitude of location in meters.

maximum42849672.95
minimum-100000
lat_degrees?: number

Degrees of latitude.

maximum90
minimum0
lat_direction?: "N" | "S"

Latitude direction.

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

Minutes of latitude.

maximum59
minimum0
lat_seconds?: number

Seconds of latitude.

maximum59.999
minimum0
long_degrees?: number

Degrees of longitude.

maximum180
minimum0
long_direction?: "E" | "W"

Longitude direction.

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

Minutes of longitude.

maximum59
minimum0
long_seconds?: number

Seconds of longitude.

maximum59.999
minimum0
precision_horz?: number

Horizontal precision of location.

maximum90000000
minimum0
precision_vert?: number

Vertical precision of location.

maximum90000000
minimum0
size?: number

Size of location in meters.

maximum90000000
minimum0
proxied?: boolean

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

settings?: Settings { ipv4_only, ipv6_only }

Settings for the DNS record.

ipv4_only?: boolean

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

ipv6_only?: boolean

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

tags?: Array<RecordTags>

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

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

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

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones.

One of the following:
number
1
type: "NAPTR"

Record type.

comment?: string

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

content?: string

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

data?: Data { flags, order, preference, 3 more }

Components of a NAPTR record.

flags?: string

Flags.

order?: number

Order.

maximum65535
minimum0
preference?: number

Preference.

maximum65535
minimum0
regex?: string

Regex.

replacement?: string

Replacement.

service?: string

Service.

proxied?: boolean

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

settings?: Settings { ipv4_only, ipv6_only }

Settings for the DNS record.

ipv4_only?: boolean

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

ipv6_only?: boolean

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

tags?: Array<RecordTags>

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

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

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

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones.

One of the following:
number
1
type: "SMIMEA"

Record type.

comment?: string

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

content?: string

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

data?: Data { certificate, matching_type, selector, usage }

Components of a SMIMEA record.

certificate?: string

Certificate.

matching_type?: number

Matching Type.

maximum255
minimum0
selector?: number

Selector.

maximum255
minimum0
usage?: number

Usage.

maximum255
minimum0
proxied?: boolean

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

settings?: Settings { ipv4_only, ipv6_only }

Settings for the DNS record.

ipv4_only?: boolean

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

ipv6_only?: boolean

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

tags?: Array<RecordTags>

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

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

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

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones.

One of the following:
number
1
type: "SRV"

Record type.

comment?: string

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

content?: string

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

data?: Data { port, priority, target, weight }

Components of a SRV record.

port?: number

The port of the service.

maximum65535
minimum0
priority?: number

Required for MX and URI records; ignored for other record types (but may still be returned by the API). Records with lower priorities are preferred. This field is to be deprecated in favor of the priority field within the data map.

maximum65535
minimum0
target?: string

A valid hostname.

formathostname
weight?: number

The record weight.

maximum65535
minimum0
proxied?: boolean

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

settings?: Settings { ipv4_only, ipv6_only }

Settings for the DNS record.

ipv4_only?: boolean

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

ipv6_only?: boolean

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

tags?: Array<RecordTags>

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

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

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

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones.

One of the following:
number
1
type: "SSHFP"

Record type.

comment?: string

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

content?: string

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

data?: Data { algorithm, fingerprint, type }

Components of a SSHFP record.

algorithm?: number

Algorithm.

maximum255
minimum0
fingerprint?: string

Fingerprint.

type?: number

Type.

maximum255
minimum0
proxied?: boolean

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

settings?: Settings { ipv4_only, ipv6_only }

Settings for the DNS record.

ipv4_only?: boolean

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

ipv6_only?: boolean

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

tags?: Array<RecordTags>

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

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

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

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones.

One of the following:
number
1
type: "SVCB"

Record type.

comment?: string

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

content?: string

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

data?: Data { priority, target, value }

Components of a SVCB record.

priority?: number

Priority.

maximum65535
minimum0
target?: string

Target.

value?: string

Value.

proxied?: boolean

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

settings?: Settings { ipv4_only, ipv6_only }

Settings for the DNS record.

ipv4_only?: boolean

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

ipv6_only?: boolean

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

tags?: Array<RecordTags>

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

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

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

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones.

One of the following:
number
1
type: "TLSA"

Record type.

comment?: string

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

content?: string

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

data?: Data { certificate, matching_type, selector, usage }

Components of a TLSA record.

certificate?: string

Certificate.

matching_type?: number

Matching Type.

maximum255
minimum0
selector?: number

Selector.

maximum255
minimum0
usage?: number

Usage.

maximum255
minimum0
proxied?: boolean

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

settings?: Settings { ipv4_only, ipv6_only }

Settings for the DNS record.

ipv4_only?: boolean

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

ipv6_only?: boolean

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

tags?: Array<RecordTags>

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

URIRecord { name, ttl, type, 7 more }
name: string

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

maxLength255
minLength1
ttl: TTL

Time To Live (TTL) of the DNS record in seconds. Setting to 1 means 'automatic'. Value must be between 60 and 86400, with the minimum reduced to 30 for Enterprise zones.

One of the following:
number
1
type: "URI"

Record type.

comment?: string

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

content?: string

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

data?: Data { target, weight }

Components of a URI record.

target?: string

The record content.

weight?: number

The record weight.

maximum65535
minimum0
priority?: number

Required for MX and URI records; ignored for other record types (but may still be returned by the API). Records with lower priorities are preferred. This field is to be deprecated in favor of the priority field within the data map.

maximum65535
minimum0
proxied?: boolean

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

settings?: Settings { ipv4_only, ipv6_only }

Settings for the DNS record.

ipv4_only?: boolean

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

ipv6_only?: boolean

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

tags?: Array<RecordTags>

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

rejects?: Array<Reject>

Body param

id: string

Identifier.

maxLength32
ReturnsExpand Collapse
RecordScanReviewResponse { accepts, rejects }
accepts?: Array<RecordResponse>
One of the following:
A extends ARecord { name, ttl, type, 6 more } { id, created_on, meta, 4 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
proxiable: boolean

Whether the record can be proxied by Cloudflare or not.

comment_modified_on?: string

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

formatdate-time
tags_modified_on?: string

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

formatdate-time
AAAA extends AAAARecord { name, ttl, type, 6 more } { id, created_on, meta, 4 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
proxiable: boolean

Whether the record can be proxied by Cloudflare or not.

comment_modified_on?: string

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

formatdate-time
tags_modified_on?: string

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

formatdate-time
CNAME extends CNAMERecord { name, ttl, type, 5 more } { id, created_on, meta, 4 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
proxiable: boolean

Whether the record can be proxied by Cloudflare or not.

comment_modified_on?: string

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

formatdate-time
tags_modified_on?: string

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

formatdate-time
MX extends MXRecord { name, ttl, type, 6 more } { id, created_on, meta, 4 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
proxiable: boolean

Whether the record can be proxied by Cloudflare or not.

comment_modified_on?: string

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

formatdate-time
tags_modified_on?: string

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

formatdate-time
NS extends NSRecord { name, ttl, type, 5 more } { id, created_on, meta, 4 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
proxiable: boolean

Whether the record can be proxied by Cloudflare or not.

comment_modified_on?: string

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

formatdate-time
tags_modified_on?: string

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

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

Identifier.

maxLength32
comment: string

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

content: string

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

created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
name: string

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

maxLength255
minLength1
proxiable: boolean

Whether the record can be proxied by Cloudflare or not.

proxied: boolean

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

settings: Settings { ipv4_only, ipv6_only }

Settings for the DNS record.

ipv4_only?: boolean

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

ipv6_only?: boolean

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

tags: Array<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.

One of the following:
number
1
type: "OPENPGPKEY"

Record type.

comment_modified_on?: string

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

formatdate-time
tags_modified_on?: string

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

formatdate-time
PTR extends PTRRecord { name, ttl, type, 5 more } { id, created_on, meta, 4 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
proxiable: boolean

Whether the record can be proxied by Cloudflare or not.

comment_modified_on?: string

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

formatdate-time
tags_modified_on?: string

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

formatdate-time
TXT extends TXTRecord { name, ttl, type, 5 more } { id, created_on, meta, 4 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
proxiable: boolean

Whether the record can be proxied by Cloudflare or not.

comment_modified_on?: string

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

formatdate-time
tags_modified_on?: string

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

formatdate-time
CAA extends CAARecord { name, ttl, type, 6 more } { id, created_on, meta, 4 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
proxiable: boolean

Whether the record can be proxied by Cloudflare or not.

comment_modified_on?: string

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

formatdate-time
tags_modified_on?: string

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

formatdate-time
CERT extends CERTRecord { name, ttl, type, 6 more } { id, created_on, meta, 4 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
proxiable: boolean

Whether the record can be proxied by Cloudflare or not.

comment_modified_on?: string

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

formatdate-time
tags_modified_on?: string

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

formatdate-time
DNSKEY extends DNSKEYRecord { name, ttl, type, 6 more } { id, created_on, meta, 4 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
proxiable: boolean

Whether the record can be proxied by Cloudflare or not.

comment_modified_on?: string

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

formatdate-time
tags_modified_on?: string

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

formatdate-time
DS extends DSRecord { name, ttl, type, 6 more } { id, created_on, meta, 4 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
proxiable: boolean

Whether the record can be proxied by Cloudflare or not.

comment_modified_on?: string

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

formatdate-time
tags_modified_on?: string

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

formatdate-time
HTTPS extends HTTPSRecord { name, ttl, type, 6 more } { id, created_on, meta, 4 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
proxiable: boolean

Whether the record can be proxied by Cloudflare or not.

comment_modified_on?: string

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

formatdate-time
tags_modified_on?: string

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

formatdate-time
LOC extends LOCRecord { name, ttl, type, 6 more } { id, created_on, meta, 4 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
proxiable: boolean

Whether the record can be proxied by Cloudflare or not.

comment_modified_on?: string

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

formatdate-time
tags_modified_on?: string

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

formatdate-time
NAPTR extends NAPTRRecord { name, ttl, type, 6 more } { id, created_on, meta, 4 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
proxiable: boolean

Whether the record can be proxied by Cloudflare or not.

comment_modified_on?: string

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

formatdate-time
tags_modified_on?: string

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

formatdate-time
SMIMEA extends SMIMEARecord { name, ttl, type, 6 more } { id, created_on, meta, 4 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
proxiable: boolean

Whether the record can be proxied by Cloudflare or not.

comment_modified_on?: string

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

formatdate-time
tags_modified_on?: string

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

formatdate-time
SRV extends SRVRecord { name, ttl, type, 6 more } { id, created_on, meta, 4 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
proxiable: boolean

Whether the record can be proxied by Cloudflare or not.

comment_modified_on?: string

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

formatdate-time
tags_modified_on?: string

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

formatdate-time
SSHFP extends SSHFPRecord { name, ttl, type, 6 more } { id, created_on, meta, 4 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
proxiable: boolean

Whether the record can be proxied by Cloudflare or not.

comment_modified_on?: string

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

formatdate-time
tags_modified_on?: string

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

formatdate-time
SVCB extends SVCBRecord { name, ttl, type, 6 more } { id, created_on, meta, 4 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
proxiable: boolean

Whether the record can be proxied by Cloudflare or not.

comment_modified_on?: string

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

formatdate-time
tags_modified_on?: string

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

formatdate-time
TLSA extends TLSARecord { name, ttl, type, 6 more } { id, created_on, meta, 4 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
proxiable: boolean

Whether the record can be proxied by Cloudflare or not.

comment_modified_on?: string

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

formatdate-time
tags_modified_on?: string

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

formatdate-time
URI extends URIRecord { name, ttl, type, 7 more } { id, created_on, meta, 4 more }
id: string

Identifier.

maxLength32
created_on: string

When the record was created.

formatdate-time
meta: unknown

Extra Cloudflare-specific information about the record.

modified_on: string

When the record was last modified.

formatdate-time
proxiable: boolean

Whether the record can be proxied by Cloudflare or not.

comment_modified_on?: string

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

formatdate-time
tags_modified_on?: string

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

formatdate-time
rejects?: Array<string>

Review Scanned DNS Records

import Cloudflare from 'cloudflare';

const client = new Cloudflare({
  apiToken: process.env['CLOUDFLARE_API_TOKEN'], // This is the default and can be omitted
});

const response = await client.dns.records.scanReview({
  zone_id: '023e105f4ecef8ad9ca31a8372d0c353',
});

console.log(response.accepts);
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": {
    "accepts": [
      {
        "name": "example.com",
        "ttl": 3600,
        "type": "A",
        "comment": "Domain verification record",
        "content": "198.51.100.4",
        "private_routing": true,
        "proxied": true,
        "settings": {
          "ipv4_only": true,
          "ipv6_only": true
        },
        "tags": [
          "owner:dns-team"
        ],
        "id": "023e105f4ecef8ad9ca31a8372d0c353",
        "created_on": "2014-01-01T05:20:00.12345Z",
        "meta": {},
        "modified_on": "2014-01-01T05:20:00.12345Z",
        "proxiable": true,
        "comment_modified_on": "2024-01-01T05:20:00.12345Z",
        "tags_modified_on": "2025-01-01T05:20:00.12345Z"
      }
    ],
    "rejects": [
      "023e105f4ecef8ad9ca31a8372d0c353"
    ]
  }
}
Returns Examples
{
  "errors": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "messages": [
    {
      "code": 1000,
      "message": "message",
      "documentation_url": "documentation_url",
      "source": {
        "pointer": "pointer"
      }
    }
  ],
  "success": true,
  "result": {
    "accepts": [
      {
        "name": "example.com",
        "ttl": 3600,
        "type": "A",
        "comment": "Domain verification record",
        "content": "198.51.100.4",
        "private_routing": true,
        "proxied": true,
        "settings": {
          "ipv4_only": true,
          "ipv6_only": true
        },
        "tags": [
          "owner:dns-team"
        ],
        "id": "023e105f4ecef8ad9ca31a8372d0c353",
        "created_on": "2014-01-01T05:20:00.12345Z",
        "meta": {},
        "modified_on": "2014-01-01T05:20:00.12345Z",
        "proxiable": true,
        "comment_modified_on": "2024-01-01T05:20:00.12345Z",
        "tags_modified_on": "2025-01-01T05:20:00.12345Z"
      }
    ],
    "rejects": [
      "023e105f4ecef8ad9ca31a8372d0c353"
    ]
  }
}