Skip to content
Start here

Zone Transfers

Zone TransfersForce AXFR

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

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

Zone TransfersIncoming

Secondary Zone Configuration Details
GET/zones/{zone_id}/secondary_dns/incoming
Create Secondary Zone Configuration
POST/zones/{zone_id}/secondary_dns/incoming
Update Secondary Zone Configuration
PUT/zones/{zone_id}/secondary_dns/incoming
Delete Secondary Zone Configuration
DELETE/zones/{zone_id}/secondary_dns/incoming
ModelsExpand Collapse
Incoming = object { id, auto_refresh_seconds, checked_time, 5 more }
id: optional string
auto_refresh_seconds: optional number

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

minimum300
checked_time: optional string

The time for a specific event.

created_time: optional string

The time for a specific event.

modified_time: optional string

The time for a specific event.

name: optional string

Zone name.

peers: optional array of string

A list of peer tags.

soa_serial: optional number

The serial number of the SOA for the given zone.

IncomingGetResponse = object { id, auto_refresh_seconds, checked_time, 5 more }
id: optional string
auto_refresh_seconds: optional number

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

minimum300
checked_time: optional string

The time for a specific event.

created_time: optional string

The time for a specific event.

modified_time: optional string

The time for a specific event.

name: optional string

Zone name.

peers: optional array of string

A list of peer tags.

soa_serial: optional number

The serial number of the SOA for the given zone.

IncomingCreateResponse = object { id, auto_refresh_seconds, checked_time, 5 more }
id: optional string
auto_refresh_seconds: optional number

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

minimum300
checked_time: optional string

The time for a specific event.

created_time: optional string

The time for a specific event.

modified_time: optional string

The time for a specific event.

name: optional string

Zone name.

peers: optional array of string

A list of peer tags.

soa_serial: optional number

The serial number of the SOA for the given zone.

IncomingUpdateResponse = object { id, auto_refresh_seconds, checked_time, 5 more }
id: optional string
auto_refresh_seconds: optional number

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

minimum300
checked_time: optional string

The time for a specific event.

created_time: optional string

The time for a specific event.

modified_time: optional string

The time for a specific event.

name: optional string

Zone name.

peers: optional array of string

A list of peer tags.

soa_serial: optional number

The serial number of the SOA for the given zone.

IncomingDeleteResponse = object { id }
id: optional string

Zone TransfersOutgoing

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

The zone transfer status of a primary zone.

EnableTransfer = string

The zone transfer status of a primary zone.

Outgoing = object { id, checked_time, created_time, 4 more }
id: optional string
checked_time: optional string

The time for a specific event.

created_time: optional string

The time for a specific event.

last_transferred_time: optional string

The time for a specific event.

name: optional string

Zone name.

peers: optional array of string

A list of peer tags.

soa_serial: optional number

The serial number of the SOA for the given zone.

OutgoingStatus = string

The zone transfer status of a primary zone.

OutgoingGetResponse = object { id, checked_time, created_time, 4 more }
id: optional string
checked_time: optional string

The time for a specific event.

created_time: optional string

The time for a specific event.

last_transferred_time: optional string

The time for a specific event.

name: optional string

Zone name.

peers: optional array of string

A list of peer tags.

soa_serial: optional number

The serial number of the SOA for the given zone.

OutgoingCreateResponse = object { id, checked_time, created_time, 4 more }
id: optional string
checked_time: optional string

The time for a specific event.

created_time: optional string

The time for a specific event.

last_transferred_time: optional string

The time for a specific event.

name: optional string

Zone name.

peers: optional array of string

A list of peer tags.

soa_serial: optional number

The serial number of the SOA for the given zone.

OutgoingUpdateResponse = object { id, checked_time, created_time, 4 more }
id: optional string
checked_time: optional string

The time for a specific event.

created_time: optional string

The time for a specific event.

last_transferred_time: optional string

The time for a specific event.

name: optional string

Zone name.

peers: optional array of string

A list of peer tags.

soa_serial: optional number

The serial number of the SOA for the given zone.

OutgoingDeleteResponse = object { id }
id: optional string
OutgoingForceNotifyResponse = string

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

Zone TransfersOutgoingStatus

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

Zone TransfersACLs

List ACLs
GET/accounts/{account_id}/secondary_dns/acls
ACL Details
GET/accounts/{account_id}/secondary_dns/acls/{acl_id}
Create ACL
POST/accounts/{account_id}/secondary_dns/acls
Update ACL
PUT/accounts/{account_id}/secondary_dns/acls/{acl_id}
Delete ACL
DELETE/accounts/{account_id}/secondary_dns/acls/{acl_id}
ModelsExpand Collapse
ACL = object { id, ip_range, name }
id: string
ip_range: string

Allowed IPv4/IPv6 address range of primary or secondary nameservers. This will be applied for the entire account. The IP range is used to allow additional NOTIFY IPs for secondary zones and IPs Cloudflare allows AXFR/IXFR requests from for primary zones. CIDRs are limited to a maximum of /24 for IPv4 and /64 for IPv6 respectively.

name: string

The name of the acl.

ACLDeleteResponse = object { id }
id: optional string

Zone TransfersPeers

List Peers
GET/accounts/{account_id}/secondary_dns/peers
Peer Details
GET/accounts/{account_id}/secondary_dns/peers/{peer_id}
Create Peer
POST/accounts/{account_id}/secondary_dns/peers
Update Peer
PUT/accounts/{account_id}/secondary_dns/peers/{peer_id}
Delete Peer
DELETE/accounts/{account_id}/secondary_dns/peers/{peer_id}
ModelsExpand Collapse
Peer = object { id, name, ip, 3 more }
id: string
name: string

The name of the peer.

ip: optional string

IPv4/IPv6 address of primary or secondary nameserver, depending on what zone this peer is linked to. For primary zones this IP defines the IP of the secondary nameserver Cloudflare will NOTIFY upon zone changes. For secondary zones this IP defines the IP of the primary nameserver Cloudflare will send AXFR/IXFR requests to.

ixfr_enable: optional boolean

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

port: optional number

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

tsig_id: optional string

TSIG authentication will be used for zone transfer if configured.

PeerDeleteResponse = object { id }
id: optional string

Zone TransfersTSIGs

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

TSIG algorithm.

name: string

TSIG key name.

secret: string

TSIG secret.

TSIGDeleteResponse = object { id }
id: optional string