Skip to content
Start here

Magic Transit

ModelsExpand Collapse
HealthCheck { enabled, rate, target, type }
enabled: optional boolean

Determines whether to run healthchecks for a tunnel.

rate: optional HealthCheckRate

How frequent the health check is run. The default value is mid.

target: optional { effective, saved } or string

The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to customer_gre_endpoint address. This field is ignored for bidirectional healthchecks as the interface_address (not assigned to the Cloudflare side of the tunnel) is used as the target. Must be in object form if the x-magic-new-hc-target header is set to true and string form if x-magic-new-hc-target is absent or set to false.

One of the following:
MagicHealthCheckTarget { effective, saved }

The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to customer_gre_endpoint address. This field is ignored for bidirectional healthchecks as the interface_address (not assigned to the Cloudflare side of the tunnel) is used as the target.

effective: optional string

The effective health check target. If ‘saved’ is empty, then this field will be populated with the calculated default value on GET requests. Ignored in POST, PUT, and PATCH requests.

saved: optional string

The saved health check target. Setting the value to the empty string indicates that the calculated default value will be used.

string
type: optional HealthCheckType

The type of healthcheck to run, reply or request. The default value is reply.

HealthCheckRate = "low" or "mid" or "high"

How frequent the health check is run. The default value is mid.

One of the following:
"low"
"mid"
"high"
HealthCheckType = "reply" or "request"

The type of healthcheck to run, reply or request. The default value is reply.

One of the following:
"reply"
"request"

Magic TransitApps

List Apps
GET/accounts/{account_id}/magic/apps
Create a new App
POST/accounts/{account_id}/magic/apps
Update an App
PUT/accounts/{account_id}/magic/apps/{account_app_id}
Update an App
PATCH/accounts/{account_id}/magic/apps/{account_app_id}
Delete Account App
DELETE/accounts/{account_id}/magic/apps/{account_app_id}
ModelsExpand Collapse
AppListResponse = { account_app_id, hostnames, ip_subnets, 3 more } or { managed_app_id, hostnames, ip_subnets, 3 more }

Collection of Hostnames and/or IP Subnets to associate with traffic decisions.

One of the following:
MagicAccountApp { account_app_id, hostnames, ip_subnets, 3 more }

Custom app defined for an account.

account_app_id: string

Magic account app ID.

hostnames: optional array of string

FQDNs to associate with traffic decisions.

ip_subnets: optional array of string

IPv4 CIDRs to associate with traffic decisions. (IPv6 CIDRs are currently unsupported)

name: optional string

Display name for the app.

source_subnets: optional array of string

IPv4 CIDRs to associate with traffic decisions. (IPv6 CIDRs are currently unsupported)

type: optional string

Category of the app.

MagicManagedApp { managed_app_id, hostnames, ip_subnets, 3 more }

Managed app defined by Cloudflare.

managed_app_id: string

Managed app ID.

hostnames: optional array of string

FQDNs to associate with traffic decisions.

ip_subnets: optional array of string

IPv4 CIDRs to associate with traffic decisions. (IPv6 CIDRs are currently unsupported)

name: optional string

Display name for the app.

source_subnets: optional array of string

IPv4 CIDRs to associate with traffic decisions. (IPv6 CIDRs are currently unsupported)

type: optional string

Category of the app.

AppCreateResponse { account_app_id, hostnames, ip_subnets, 3 more }

Custom app defined for an account.

account_app_id: string

Magic account app ID.

hostnames: optional array of string

FQDNs to associate with traffic decisions.

ip_subnets: optional array of string

IPv4 CIDRs to associate with traffic decisions. (IPv6 CIDRs are currently unsupported)

name: optional string

Display name for the app.

source_subnets: optional array of string

IPv4 CIDRs to associate with traffic decisions. (IPv6 CIDRs are currently unsupported)

type: optional string

Category of the app.

AppUpdateResponse { account_app_id, hostnames, ip_subnets, 3 more }

Custom app defined for an account.

account_app_id: string

Magic account app ID.

hostnames: optional array of string

FQDNs to associate with traffic decisions.

ip_subnets: optional array of string

IPv4 CIDRs to associate with traffic decisions. (IPv6 CIDRs are currently unsupported)

name: optional string

Display name for the app.

source_subnets: optional array of string

IPv4 CIDRs to associate with traffic decisions. (IPv6 CIDRs are currently unsupported)

type: optional string

Category of the app.

AppEditResponse { account_app_id, hostnames, ip_subnets, 3 more }

Custom app defined for an account.

account_app_id: string

Magic account app ID.

hostnames: optional array of string

FQDNs to associate with traffic decisions.

ip_subnets: optional array of string

IPv4 CIDRs to associate with traffic decisions. (IPv6 CIDRs are currently unsupported)

name: optional string

Display name for the app.

source_subnets: optional array of string

IPv4 CIDRs to associate with traffic decisions. (IPv6 CIDRs are currently unsupported)

type: optional string

Category of the app.

AppDeleteResponse { account_app_id, hostnames, ip_subnets, 3 more }

Custom app defined for an account.

account_app_id: string

Magic account app ID.

hostnames: optional array of string

FQDNs to associate with traffic decisions.

ip_subnets: optional array of string

IPv4 CIDRs to associate with traffic decisions. (IPv6 CIDRs are currently unsupported)

name: optional string

Display name for the app.

source_subnets: optional array of string

IPv4 CIDRs to associate with traffic decisions. (IPv6 CIDRs are currently unsupported)

type: optional string

Category of the app.

Magic TransitCf Interconnects

List interconnects
GET/accounts/{account_id}/magic/cf_interconnects
List interconnect Details
GET/accounts/{account_id}/magic/cf_interconnects/{cf_interconnect_id}
Update interconnect
PUT/accounts/{account_id}/magic/cf_interconnects/{cf_interconnect_id}
Update multiple interconnects
PUT/accounts/{account_id}/magic/cf_interconnects
ModelsExpand Collapse
CfInterconnectListResponse { interconnects }
interconnects: optional array of { id, automatic_return_routing, colo_name, 10 more }
id: optional string

Identifier

maxLength32
automatic_return_routing: optional boolean

True if automatic stateful return routing should be enabled for a tunnel, false otherwise.

colo_name: optional string

The name of the interconnect. The name cannot share a name with other tunnels.

created_on: optional string

The date and time the tunnel was created.

formatdate-time
description: optional string

An optional description of the interconnect.

gre: optional { cloudflare_endpoint }

The configuration specific to GRE interconnects.

cloudflare_endpoint: optional string

The IP address assigned to the Cloudflare side of the GRE tunnel created as part of the Interconnect.

health_check: optional HealthCheck { enabled, rate, target, type }
interface_address: optional string

A 31-bit prefix (/31 in CIDR notation) supporting two hosts, one for each side of the tunnel. Select the subnet from the following private IP space: 10.0.0.0–10.255.255.255, 172.16.0.0–172.31.255.255, 192.168.0.0–192.168.255.255.

interface_address6: optional string

A 127 bit IPV6 prefix from within the virtual_subnet6 prefix space with the address being the first IP of the subnet and not same as the address of virtual_subnet6. Eg if virtual_subnet6 is 2606:54c1:7:0:a9fe:12d2::/127 , interface_address6 could be 2606:54c1:7:0:a9fe:12d2:1:200/127

modified_on: optional string

The date and time the tunnel was last modified.

formatdate-time
mtu: optional number

The Maximum Transmission Unit (MTU) in bytes for the interconnect. The minimum value is 576.

name: optional string

The name of the interconnect. The name cannot share a name with other tunnels.

virtual_port_reservation_id: optional string

An identifier that correlates this interconnect with the corresponding V2 CNI interconnect resource.

maxLength32
CfInterconnectGetResponse { interconnect }
interconnect: optional { id, automatic_return_routing, colo_name, 10 more }
id: optional string

Identifier

maxLength32
automatic_return_routing: optional boolean

True if automatic stateful return routing should be enabled for a tunnel, false otherwise.

colo_name: optional string

The name of the interconnect. The name cannot share a name with other tunnels.

created_on: optional string

The date and time the tunnel was created.

formatdate-time
description: optional string

An optional description of the interconnect.

gre: optional { cloudflare_endpoint }

The configuration specific to GRE interconnects.

cloudflare_endpoint: optional string

The IP address assigned to the Cloudflare side of the GRE tunnel created as part of the Interconnect.

health_check: optional HealthCheck { enabled, rate, target, type }
interface_address: optional string

A 31-bit prefix (/31 in CIDR notation) supporting two hosts, one for each side of the tunnel. Select the subnet from the following private IP space: 10.0.0.0–10.255.255.255, 172.16.0.0–172.31.255.255, 192.168.0.0–192.168.255.255.

interface_address6: optional string

A 127 bit IPV6 prefix from within the virtual_subnet6 prefix space with the address being the first IP of the subnet and not same as the address of virtual_subnet6. Eg if virtual_subnet6 is 2606:54c1:7:0:a9fe:12d2::/127 , interface_address6 could be 2606:54c1:7:0:a9fe:12d2:1:200/127

modified_on: optional string

The date and time the tunnel was last modified.

formatdate-time
mtu: optional number

The Maximum Transmission Unit (MTU) in bytes for the interconnect. The minimum value is 576.

name: optional string

The name of the interconnect. The name cannot share a name with other tunnels.

virtual_port_reservation_id: optional string

An identifier that correlates this interconnect with the corresponding V2 CNI interconnect resource.

maxLength32
CfInterconnectUpdateResponse { modified, modified_interconnect }
modified: optional boolean
modified_interconnect: optional { id, automatic_return_routing, colo_name, 10 more }
id: optional string

Identifier

maxLength32
automatic_return_routing: optional boolean

True if automatic stateful return routing should be enabled for a tunnel, false otherwise.

colo_name: optional string

The name of the interconnect. The name cannot share a name with other tunnels.

created_on: optional string

The date and time the tunnel was created.

formatdate-time
description: optional string

An optional description of the interconnect.

gre: optional { cloudflare_endpoint }

The configuration specific to GRE interconnects.

cloudflare_endpoint: optional string

The IP address assigned to the Cloudflare side of the GRE tunnel created as part of the Interconnect.

health_check: optional HealthCheck { enabled, rate, target, type }
interface_address: optional string

A 31-bit prefix (/31 in CIDR notation) supporting two hosts, one for each side of the tunnel. Select the subnet from the following private IP space: 10.0.0.0–10.255.255.255, 172.16.0.0–172.31.255.255, 192.168.0.0–192.168.255.255.

interface_address6: optional string

A 127 bit IPV6 prefix from within the virtual_subnet6 prefix space with the address being the first IP of the subnet and not same as the address of virtual_subnet6. Eg if virtual_subnet6 is 2606:54c1:7:0:a9fe:12d2::/127 , interface_address6 could be 2606:54c1:7:0:a9fe:12d2:1:200/127

modified_on: optional string

The date and time the tunnel was last modified.

formatdate-time
mtu: optional number

The Maximum Transmission Unit (MTU) in bytes for the interconnect. The minimum value is 576.

name: optional string

The name of the interconnect. The name cannot share a name with other tunnels.

virtual_port_reservation_id: optional string

An identifier that correlates this interconnect with the corresponding V2 CNI interconnect resource.

maxLength32
CfInterconnectBulkUpdateResponse { modified, modified_interconnects }
modified: optional boolean
modified_interconnects: optional array of { id, automatic_return_routing, colo_name, 10 more }
id: optional string

Identifier

maxLength32
automatic_return_routing: optional boolean

True if automatic stateful return routing should be enabled for a tunnel, false otherwise.

colo_name: optional string

The name of the interconnect. The name cannot share a name with other tunnels.

created_on: optional string

The date and time the tunnel was created.

formatdate-time
description: optional string

An optional description of the interconnect.

gre: optional { cloudflare_endpoint }

The configuration specific to GRE interconnects.

cloudflare_endpoint: optional string

The IP address assigned to the Cloudflare side of the GRE tunnel created as part of the Interconnect.

health_check: optional HealthCheck { enabled, rate, target, type }
interface_address: optional string

A 31-bit prefix (/31 in CIDR notation) supporting two hosts, one for each side of the tunnel. Select the subnet from the following private IP space: 10.0.0.0–10.255.255.255, 172.16.0.0–172.31.255.255, 192.168.0.0–192.168.255.255.

interface_address6: optional string

A 127 bit IPV6 prefix from within the virtual_subnet6 prefix space with the address being the first IP of the subnet and not same as the address of virtual_subnet6. Eg if virtual_subnet6 is 2606:54c1:7:0:a9fe:12d2::/127 , interface_address6 could be 2606:54c1:7:0:a9fe:12d2:1:200/127

modified_on: optional string

The date and time the tunnel was last modified.

formatdate-time
mtu: optional number

The Maximum Transmission Unit (MTU) in bytes for the interconnect. The minimum value is 576.

name: optional string

The name of the interconnect. The name cannot share a name with other tunnels.

virtual_port_reservation_id: optional string

An identifier that correlates this interconnect with the corresponding V2 CNI interconnect resource.

maxLength32

Magic TransitGRE Tunnels

List GRE tunnels
GET/accounts/{account_id}/magic/gre_tunnels
List GRE Tunnel Details
GET/accounts/{account_id}/magic/gre_tunnels/{gre_tunnel_id}
Create a GRE tunnel
POST/accounts/{account_id}/magic/gre_tunnels
Update GRE Tunnel
PUT/accounts/{account_id}/magic/gre_tunnels/{gre_tunnel_id}
Delete GRE Tunnel
DELETE/accounts/{account_id}/magic/gre_tunnels/{gre_tunnel_id}
Update multiple GRE tunnels
PUT/accounts/{account_id}/magic/gre_tunnels
ModelsExpand Collapse
GRETunnelListResponse { gre_tunnels }
gre_tunnels: optional array of { id, cloudflare_gre_endpoint, customer_gre_endpoint, 12 more }
id: string

Identifier

maxLength32
cloudflare_gre_endpoint: string

The IP address assigned to the Cloudflare side of the GRE tunnel.

customer_gre_endpoint: string

The IP address assigned to the customer side of the GRE tunnel.

interface_address: string

A 31-bit prefix (/31 in CIDR notation) supporting two hosts, one for each side of the tunnel. Select the subnet from the following private IP space: 10.0.0.0–10.255.255.255, 172.16.0.0–172.31.255.255, 192.168.0.0–192.168.255.255.

name: string

The name of the tunnel. The name cannot contain spaces or special characters, must be 15 characters or less, and cannot share a name with another GRE tunnel.

automatic_return_routing: optional boolean

True if automatic stateful return routing should be enabled for a tunnel, false otherwise.

bgp: optional { customer_asn, extra_prefixes, md5_key }
customer_asn: number

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes: optional array of string

Prefixes in this list will be advertised to the customer device, in addition to the routes in the Magic routing table.

md5_key: optional string

MD5 key to use for session authentication.

Note that this is not a security measure. MD5 is not a valid security mechanism, and the key is not treated as a secret value. This is only supported for preventing misconfiguration, not for defending against malicious attacks.

The MD5 key, if set, must be of non-zero length and consist only of the following types of character:

  • ASCII alphanumerics: [a-zA-Z0-9]
  • Special characters in the set '!@#$%^&*()+[]{}<>/.,;:_-~= |`

In other words, MD5 keys may contain any printable ASCII character aside from newline (0x0A), quotation mark ("), vertical tab (0x0B), carriage return (0x0D), tab (0x09), form feed (0x0C), and the question mark (?). Requests specifying an MD5 key with one or more of these disallowed characters will be rejected.

bgp_status: optional { state, tcp_established, updated_at, 5 more }
state: "BGP_DOWN" or "BGP_UP" or "BGP_ESTABLISHING"
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: boolean
updated_at: string
formatdate-time
bgp_state: optional string
cf_speaker_ip: optional string
formatipv4
cf_speaker_port: optional number
maximum65535
minimum1
customer_speaker_ip: optional string
formatipv4
customer_speaker_port: optional number
maximum65535
minimum1
created_on: optional string

The date and time the tunnel was created.

formatdate-time
description: optional string

An optional description of the GRE tunnel.

health_check: optional { direction, enabled, rate, 2 more }
direction: optional "unidirectional" or "bidirectional"

The direction of the flow of the healthcheck. Either unidirectional, where the probe comes to you via the tunnel and the result comes back to Cloudflare via the open Internet, or bidirectional where both the probe and result come and go via the tunnel.

One of the following:
"unidirectional"
"bidirectional"
enabled: optional boolean

Determines whether to run healthchecks for a tunnel.

rate: optional HealthCheckRate

How frequent the health check is run. The default value is mid.

target: optional { effective, saved } or string

The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to customer_gre_endpoint address. This field is ignored for bidirectional healthchecks as the interface_address (not assigned to the Cloudflare side of the tunnel) is used as the target. Must be in object form if the x-magic-new-hc-target header is set to true and string form if x-magic-new-hc-target is absent or set to false.

One of the following:
MagicHealthCheckTarget { effective, saved }

The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to customer_gre_endpoint address. This field is ignored for bidirectional healthchecks as the interface_address (not assigned to the Cloudflare side of the tunnel) is used as the target.

effective: optional string

The effective health check target. If ‘saved’ is empty, then this field will be populated with the calculated default value on GET requests. Ignored in POST, PUT, and PATCH requests.

saved: optional string

The saved health check target. Setting the value to the empty string indicates that the calculated default value will be used.

string
type: optional HealthCheckType

The type of healthcheck to run, reply or request. The default value is reply.

interface_address6: optional string

A 127 bit IPV6 prefix from within the virtual_subnet6 prefix space with the address being the first IP of the subnet and not same as the address of virtual_subnet6. Eg if virtual_subnet6 is 2606:54c1:7:0:a9fe:12d2::/127 , interface_address6 could be 2606:54c1:7:0:a9fe:12d2:1:200/127

modified_on: optional string

The date and time the tunnel was last modified.

formatdate-time
mtu: optional number

Maximum Transmission Unit (MTU) in bytes for the GRE tunnel. The minimum value is 576.

ttl: optional number

Time To Live (TTL) in number of hops of the GRE tunnel.

GRETunnelGetResponse { gre_tunnel }
gre_tunnel: optional { id, cloudflare_gre_endpoint, customer_gre_endpoint, 12 more }
id: string

Identifier

maxLength32
cloudflare_gre_endpoint: string

The IP address assigned to the Cloudflare side of the GRE tunnel.

customer_gre_endpoint: string

The IP address assigned to the customer side of the GRE tunnel.

interface_address: string

A 31-bit prefix (/31 in CIDR notation) supporting two hosts, one for each side of the tunnel. Select the subnet from the following private IP space: 10.0.0.0–10.255.255.255, 172.16.0.0–172.31.255.255, 192.168.0.0–192.168.255.255.

name: string

The name of the tunnel. The name cannot contain spaces or special characters, must be 15 characters or less, and cannot share a name with another GRE tunnel.

automatic_return_routing: optional boolean

True if automatic stateful return routing should be enabled for a tunnel, false otherwise.

bgp: optional { customer_asn, extra_prefixes, md5_key }
customer_asn: number

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes: optional array of string

Prefixes in this list will be advertised to the customer device, in addition to the routes in the Magic routing table.

md5_key: optional string

MD5 key to use for session authentication.

Note that this is not a security measure. MD5 is not a valid security mechanism, and the key is not treated as a secret value. This is only supported for preventing misconfiguration, not for defending against malicious attacks.

The MD5 key, if set, must be of non-zero length and consist only of the following types of character:

  • ASCII alphanumerics: [a-zA-Z0-9]
  • Special characters in the set '!@#$%^&*()+[]{}<>/.,;:_-~= |`

In other words, MD5 keys may contain any printable ASCII character aside from newline (0x0A), quotation mark ("), vertical tab (0x0B), carriage return (0x0D), tab (0x09), form feed (0x0C), and the question mark (?). Requests specifying an MD5 key with one or more of these disallowed characters will be rejected.

bgp_status: optional { state, tcp_established, updated_at, 5 more }
state: "BGP_DOWN" or "BGP_UP" or "BGP_ESTABLISHING"
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: boolean
updated_at: string
formatdate-time
bgp_state: optional string
cf_speaker_ip: optional string
formatipv4
cf_speaker_port: optional number
maximum65535
minimum1
customer_speaker_ip: optional string
formatipv4
customer_speaker_port: optional number
maximum65535
minimum1
created_on: optional string

The date and time the tunnel was created.

formatdate-time
description: optional string

An optional description of the GRE tunnel.

health_check: optional { direction, enabled, rate, 2 more }
direction: optional "unidirectional" or "bidirectional"

The direction of the flow of the healthcheck. Either unidirectional, where the probe comes to you via the tunnel and the result comes back to Cloudflare via the open Internet, or bidirectional where both the probe and result come and go via the tunnel.

One of the following:
"unidirectional"
"bidirectional"
enabled: optional boolean

Determines whether to run healthchecks for a tunnel.

rate: optional HealthCheckRate

How frequent the health check is run. The default value is mid.

target: optional { effective, saved } or string

The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to customer_gre_endpoint address. This field is ignored for bidirectional healthchecks as the interface_address (not assigned to the Cloudflare side of the tunnel) is used as the target. Must be in object form if the x-magic-new-hc-target header is set to true and string form if x-magic-new-hc-target is absent or set to false.

One of the following:
MagicHealthCheckTarget { effective, saved }

The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to customer_gre_endpoint address. This field is ignored for bidirectional healthchecks as the interface_address (not assigned to the Cloudflare side of the tunnel) is used as the target.

effective: optional string

The effective health check target. If ‘saved’ is empty, then this field will be populated with the calculated default value on GET requests. Ignored in POST, PUT, and PATCH requests.

saved: optional string

The saved health check target. Setting the value to the empty string indicates that the calculated default value will be used.

string
type: optional HealthCheckType

The type of healthcheck to run, reply or request. The default value is reply.

interface_address6: optional string

A 127 bit IPV6 prefix from within the virtual_subnet6 prefix space with the address being the first IP of the subnet and not same as the address of virtual_subnet6. Eg if virtual_subnet6 is 2606:54c1:7:0:a9fe:12d2::/127 , interface_address6 could be 2606:54c1:7:0:a9fe:12d2:1:200/127

modified_on: optional string

The date and time the tunnel was last modified.

formatdate-time
mtu: optional number

Maximum Transmission Unit (MTU) in bytes for the GRE tunnel. The minimum value is 576.

ttl: optional number

Time To Live (TTL) in number of hops of the GRE tunnel.

GRETunnelCreateResponse { id, cloudflare_gre_endpoint, customer_gre_endpoint, 12 more }
id: string

Identifier

maxLength32
cloudflare_gre_endpoint: string

The IP address assigned to the Cloudflare side of the GRE tunnel.

customer_gre_endpoint: string

The IP address assigned to the customer side of the GRE tunnel.

interface_address: string

A 31-bit prefix (/31 in CIDR notation) supporting two hosts, one for each side of the tunnel. Select the subnet from the following private IP space: 10.0.0.0–10.255.255.255, 172.16.0.0–172.31.255.255, 192.168.0.0–192.168.255.255.

name: string

The name of the tunnel. The name cannot contain spaces or special characters, must be 15 characters or less, and cannot share a name with another GRE tunnel.

automatic_return_routing: optional boolean

True if automatic stateful return routing should be enabled for a tunnel, false otherwise.

bgp: optional { customer_asn, extra_prefixes, md5_key }
customer_asn: number

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes: optional array of string

Prefixes in this list will be advertised to the customer device, in addition to the routes in the Magic routing table.

md5_key: optional string

MD5 key to use for session authentication.

Note that this is not a security measure. MD5 is not a valid security mechanism, and the key is not treated as a secret value. This is only supported for preventing misconfiguration, not for defending against malicious attacks.

The MD5 key, if set, must be of non-zero length and consist only of the following types of character:

  • ASCII alphanumerics: [a-zA-Z0-9]
  • Special characters in the set '!@#$%^&*()+[]{}<>/.,;:_-~= |`

In other words, MD5 keys may contain any printable ASCII character aside from newline (0x0A), quotation mark ("), vertical tab (0x0B), carriage return (0x0D), tab (0x09), form feed (0x0C), and the question mark (?). Requests specifying an MD5 key with one or more of these disallowed characters will be rejected.

bgp_status: optional { state, tcp_established, updated_at, 5 more }
state: "BGP_DOWN" or "BGP_UP" or "BGP_ESTABLISHING"
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: boolean
updated_at: string
formatdate-time
bgp_state: optional string
cf_speaker_ip: optional string
formatipv4
cf_speaker_port: optional number
maximum65535
minimum1
customer_speaker_ip: optional string
formatipv4
customer_speaker_port: optional number
maximum65535
minimum1
created_on: optional string

The date and time the tunnel was created.

formatdate-time
description: optional string

An optional description of the GRE tunnel.

health_check: optional { direction, enabled, rate, 2 more }
direction: optional "unidirectional" or "bidirectional"

The direction of the flow of the healthcheck. Either unidirectional, where the probe comes to you via the tunnel and the result comes back to Cloudflare via the open Internet, or bidirectional where both the probe and result come and go via the tunnel.

One of the following:
"unidirectional"
"bidirectional"
enabled: optional boolean

Determines whether to run healthchecks for a tunnel.

rate: optional HealthCheckRate

How frequent the health check is run. The default value is mid.

target: optional { effective, saved } or string

The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to customer_gre_endpoint address. This field is ignored for bidirectional healthchecks as the interface_address (not assigned to the Cloudflare side of the tunnel) is used as the target. Must be in object form if the x-magic-new-hc-target header is set to true and string form if x-magic-new-hc-target is absent or set to false.

One of the following:
MagicHealthCheckTarget { effective, saved }

The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to customer_gre_endpoint address. This field is ignored for bidirectional healthchecks as the interface_address (not assigned to the Cloudflare side of the tunnel) is used as the target.

effective: optional string

The effective health check target. If ‘saved’ is empty, then this field will be populated with the calculated default value on GET requests. Ignored in POST, PUT, and PATCH requests.

saved: optional string

The saved health check target. Setting the value to the empty string indicates that the calculated default value will be used.

string
type: optional HealthCheckType

The type of healthcheck to run, reply or request. The default value is reply.

interface_address6: optional string

A 127 bit IPV6 prefix from within the virtual_subnet6 prefix space with the address being the first IP of the subnet and not same as the address of virtual_subnet6. Eg if virtual_subnet6 is 2606:54c1:7:0:a9fe:12d2::/127 , interface_address6 could be 2606:54c1:7:0:a9fe:12d2:1:200/127

modified_on: optional string

The date and time the tunnel was last modified.

formatdate-time
mtu: optional number

Maximum Transmission Unit (MTU) in bytes for the GRE tunnel. The minimum value is 576.

ttl: optional number

Time To Live (TTL) in number of hops of the GRE tunnel.

GRETunnelUpdateResponse { modified, modified_gre_tunnel }
modified: optional boolean
modified_gre_tunnel: optional { id, cloudflare_gre_endpoint, customer_gre_endpoint, 12 more }
id: string

Identifier

maxLength32
cloudflare_gre_endpoint: string

The IP address assigned to the Cloudflare side of the GRE tunnel.

customer_gre_endpoint: string

The IP address assigned to the customer side of the GRE tunnel.

interface_address: string

A 31-bit prefix (/31 in CIDR notation) supporting two hosts, one for each side of the tunnel. Select the subnet from the following private IP space: 10.0.0.0–10.255.255.255, 172.16.0.0–172.31.255.255, 192.168.0.0–192.168.255.255.

name: string

The name of the tunnel. The name cannot contain spaces or special characters, must be 15 characters or less, and cannot share a name with another GRE tunnel.

automatic_return_routing: optional boolean

True if automatic stateful return routing should be enabled for a tunnel, false otherwise.

bgp: optional { customer_asn, extra_prefixes, md5_key }
customer_asn: number

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes: optional array of string

Prefixes in this list will be advertised to the customer device, in addition to the routes in the Magic routing table.

md5_key: optional string

MD5 key to use for session authentication.

Note that this is not a security measure. MD5 is not a valid security mechanism, and the key is not treated as a secret value. This is only supported for preventing misconfiguration, not for defending against malicious attacks.

The MD5 key, if set, must be of non-zero length and consist only of the following types of character:

  • ASCII alphanumerics: [a-zA-Z0-9]
  • Special characters in the set '!@#$%^&*()+[]{}<>/.,;:_-~= |`

In other words, MD5 keys may contain any printable ASCII character aside from newline (0x0A), quotation mark ("), vertical tab (0x0B), carriage return (0x0D), tab (0x09), form feed (0x0C), and the question mark (?). Requests specifying an MD5 key with one or more of these disallowed characters will be rejected.

bgp_status: optional { state, tcp_established, updated_at, 5 more }
state: "BGP_DOWN" or "BGP_UP" or "BGP_ESTABLISHING"
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: boolean
updated_at: string
formatdate-time
bgp_state: optional string
cf_speaker_ip: optional string
formatipv4
cf_speaker_port: optional number
maximum65535
minimum1
customer_speaker_ip: optional string
formatipv4
customer_speaker_port: optional number
maximum65535
minimum1
created_on: optional string

The date and time the tunnel was created.

formatdate-time
description: optional string

An optional description of the GRE tunnel.

health_check: optional { direction, enabled, rate, 2 more }
direction: optional "unidirectional" or "bidirectional"

The direction of the flow of the healthcheck. Either unidirectional, where the probe comes to you via the tunnel and the result comes back to Cloudflare via the open Internet, or bidirectional where both the probe and result come and go via the tunnel.

One of the following:
"unidirectional"
"bidirectional"
enabled: optional boolean

Determines whether to run healthchecks for a tunnel.

rate: optional HealthCheckRate

How frequent the health check is run. The default value is mid.

target: optional { effective, saved } or string

The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to customer_gre_endpoint address. This field is ignored for bidirectional healthchecks as the interface_address (not assigned to the Cloudflare side of the tunnel) is used as the target. Must be in object form if the x-magic-new-hc-target header is set to true and string form if x-magic-new-hc-target is absent or set to false.

One of the following:
MagicHealthCheckTarget { effective, saved }

The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to customer_gre_endpoint address. This field is ignored for bidirectional healthchecks as the interface_address (not assigned to the Cloudflare side of the tunnel) is used as the target.

effective: optional string

The effective health check target. If ‘saved’ is empty, then this field will be populated with the calculated default value on GET requests. Ignored in POST, PUT, and PATCH requests.

saved: optional string

The saved health check target. Setting the value to the empty string indicates that the calculated default value will be used.

string
type: optional HealthCheckType

The type of healthcheck to run, reply or request. The default value is reply.

interface_address6: optional string

A 127 bit IPV6 prefix from within the virtual_subnet6 prefix space with the address being the first IP of the subnet and not same as the address of virtual_subnet6. Eg if virtual_subnet6 is 2606:54c1:7:0:a9fe:12d2::/127 , interface_address6 could be 2606:54c1:7:0:a9fe:12d2:1:200/127

modified_on: optional string

The date and time the tunnel was last modified.

formatdate-time
mtu: optional number

Maximum Transmission Unit (MTU) in bytes for the GRE tunnel. The minimum value is 576.

ttl: optional number

Time To Live (TTL) in number of hops of the GRE tunnel.

GRETunnelDeleteResponse { deleted, deleted_gre_tunnel }
deleted: optional boolean
deleted_gre_tunnel: optional { id, cloudflare_gre_endpoint, customer_gre_endpoint, 12 more }
id: string

Identifier

maxLength32
cloudflare_gre_endpoint: string

The IP address assigned to the Cloudflare side of the GRE tunnel.

customer_gre_endpoint: string

The IP address assigned to the customer side of the GRE tunnel.

interface_address: string

A 31-bit prefix (/31 in CIDR notation) supporting two hosts, one for each side of the tunnel. Select the subnet from the following private IP space: 10.0.0.0–10.255.255.255, 172.16.0.0–172.31.255.255, 192.168.0.0–192.168.255.255.

name: string

The name of the tunnel. The name cannot contain spaces or special characters, must be 15 characters or less, and cannot share a name with another GRE tunnel.

automatic_return_routing: optional boolean

True if automatic stateful return routing should be enabled for a tunnel, false otherwise.

bgp: optional { customer_asn, extra_prefixes, md5_key }
customer_asn: number

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes: optional array of string

Prefixes in this list will be advertised to the customer device, in addition to the routes in the Magic routing table.

md5_key: optional string

MD5 key to use for session authentication.

Note that this is not a security measure. MD5 is not a valid security mechanism, and the key is not treated as a secret value. This is only supported for preventing misconfiguration, not for defending against malicious attacks.

The MD5 key, if set, must be of non-zero length and consist only of the following types of character:

  • ASCII alphanumerics: [a-zA-Z0-9]
  • Special characters in the set '!@#$%^&*()+[]{}<>/.,;:_-~= |`

In other words, MD5 keys may contain any printable ASCII character aside from newline (0x0A), quotation mark ("), vertical tab (0x0B), carriage return (0x0D), tab (0x09), form feed (0x0C), and the question mark (?). Requests specifying an MD5 key with one or more of these disallowed characters will be rejected.

bgp_status: optional { state, tcp_established, updated_at, 5 more }
state: "BGP_DOWN" or "BGP_UP" or "BGP_ESTABLISHING"
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: boolean
updated_at: string
formatdate-time
bgp_state: optional string
cf_speaker_ip: optional string
formatipv4
cf_speaker_port: optional number
maximum65535
minimum1
customer_speaker_ip: optional string
formatipv4
customer_speaker_port: optional number
maximum65535
minimum1
created_on: optional string

The date and time the tunnel was created.

formatdate-time
description: optional string

An optional description of the GRE tunnel.

health_check: optional { direction, enabled, rate, 2 more }
direction: optional "unidirectional" or "bidirectional"

The direction of the flow of the healthcheck. Either unidirectional, where the probe comes to you via the tunnel and the result comes back to Cloudflare via the open Internet, or bidirectional where both the probe and result come and go via the tunnel.

One of the following:
"unidirectional"
"bidirectional"
enabled: optional boolean

Determines whether to run healthchecks for a tunnel.

rate: optional HealthCheckRate

How frequent the health check is run. The default value is mid.

target: optional { effective, saved } or string

The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to customer_gre_endpoint address. This field is ignored for bidirectional healthchecks as the interface_address (not assigned to the Cloudflare side of the tunnel) is used as the target. Must be in object form if the x-magic-new-hc-target header is set to true and string form if x-magic-new-hc-target is absent or set to false.

One of the following:
MagicHealthCheckTarget { effective, saved }

The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to customer_gre_endpoint address. This field is ignored for bidirectional healthchecks as the interface_address (not assigned to the Cloudflare side of the tunnel) is used as the target.

effective: optional string

The effective health check target. If ‘saved’ is empty, then this field will be populated with the calculated default value on GET requests. Ignored in POST, PUT, and PATCH requests.

saved: optional string

The saved health check target. Setting the value to the empty string indicates that the calculated default value will be used.

string
type: optional HealthCheckType

The type of healthcheck to run, reply or request. The default value is reply.

interface_address6: optional string

A 127 bit IPV6 prefix from within the virtual_subnet6 prefix space with the address being the first IP of the subnet and not same as the address of virtual_subnet6. Eg if virtual_subnet6 is 2606:54c1:7:0:a9fe:12d2::/127 , interface_address6 could be 2606:54c1:7:0:a9fe:12d2:1:200/127

modified_on: optional string

The date and time the tunnel was last modified.

formatdate-time
mtu: optional number

Maximum Transmission Unit (MTU) in bytes for the GRE tunnel. The minimum value is 576.

ttl: optional number

Time To Live (TTL) in number of hops of the GRE tunnel.

GRETunnelBulkUpdateResponse { modified, modified_gre_tunnels }
modified: optional boolean
modified_gre_tunnels: optional array of { id, cloudflare_gre_endpoint, customer_gre_endpoint, 12 more }
id: string

Identifier

maxLength32
cloudflare_gre_endpoint: string

The IP address assigned to the Cloudflare side of the GRE tunnel.

customer_gre_endpoint: string

The IP address assigned to the customer side of the GRE tunnel.

interface_address: string

A 31-bit prefix (/31 in CIDR notation) supporting two hosts, one for each side of the tunnel. Select the subnet from the following private IP space: 10.0.0.0–10.255.255.255, 172.16.0.0–172.31.255.255, 192.168.0.0–192.168.255.255.

name: string

The name of the tunnel. The name cannot contain spaces or special characters, must be 15 characters or less, and cannot share a name with another GRE tunnel.

automatic_return_routing: optional boolean

True if automatic stateful return routing should be enabled for a tunnel, false otherwise.

bgp: optional { customer_asn, extra_prefixes, md5_key }
customer_asn: number

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes: optional array of string

Prefixes in this list will be advertised to the customer device, in addition to the routes in the Magic routing table.

md5_key: optional string

MD5 key to use for session authentication.

Note that this is not a security measure. MD5 is not a valid security mechanism, and the key is not treated as a secret value. This is only supported for preventing misconfiguration, not for defending against malicious attacks.

The MD5 key, if set, must be of non-zero length and consist only of the following types of character:

  • ASCII alphanumerics: [a-zA-Z0-9]
  • Special characters in the set '!@#$%^&*()+[]{}<>/.,;:_-~= |`

In other words, MD5 keys may contain any printable ASCII character aside from newline (0x0A), quotation mark ("), vertical tab (0x0B), carriage return (0x0D), tab (0x09), form feed (0x0C), and the question mark (?). Requests specifying an MD5 key with one or more of these disallowed characters will be rejected.

bgp_status: optional { state, tcp_established, updated_at, 5 more }
state: "BGP_DOWN" or "BGP_UP" or "BGP_ESTABLISHING"
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: boolean
updated_at: string
formatdate-time
bgp_state: optional string
cf_speaker_ip: optional string
formatipv4
cf_speaker_port: optional number
maximum65535
minimum1
customer_speaker_ip: optional string
formatipv4
customer_speaker_port: optional number
maximum65535
minimum1
created_on: optional string

The date and time the tunnel was created.

formatdate-time
description: optional string

An optional description of the GRE tunnel.

health_check: optional { direction, enabled, rate, 2 more }
direction: optional "unidirectional" or "bidirectional"

The direction of the flow of the healthcheck. Either unidirectional, where the probe comes to you via the tunnel and the result comes back to Cloudflare via the open Internet, or bidirectional where both the probe and result come and go via the tunnel.

One of the following:
"unidirectional"
"bidirectional"
enabled: optional boolean

Determines whether to run healthchecks for a tunnel.

rate: optional HealthCheckRate

How frequent the health check is run. The default value is mid.

target: optional { effective, saved } or string

The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to customer_gre_endpoint address. This field is ignored for bidirectional healthchecks as the interface_address (not assigned to the Cloudflare side of the tunnel) is used as the target. Must be in object form if the x-magic-new-hc-target header is set to true and string form if x-magic-new-hc-target is absent or set to false.

One of the following:
MagicHealthCheckTarget { effective, saved }

The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to customer_gre_endpoint address. This field is ignored for bidirectional healthchecks as the interface_address (not assigned to the Cloudflare side of the tunnel) is used as the target.

effective: optional string

The effective health check target. If ‘saved’ is empty, then this field will be populated with the calculated default value on GET requests. Ignored in POST, PUT, and PATCH requests.

saved: optional string

The saved health check target. Setting the value to the empty string indicates that the calculated default value will be used.

string
type: optional HealthCheckType

The type of healthcheck to run, reply or request. The default value is reply.

interface_address6: optional string

A 127 bit IPV6 prefix from within the virtual_subnet6 prefix space with the address being the first IP of the subnet and not same as the address of virtual_subnet6. Eg if virtual_subnet6 is 2606:54c1:7:0:a9fe:12d2::/127 , interface_address6 could be 2606:54c1:7:0:a9fe:12d2:1:200/127

modified_on: optional string

The date and time the tunnel was last modified.

formatdate-time
mtu: optional number

Maximum Transmission Unit (MTU) in bytes for the GRE tunnel. The minimum value is 576.

ttl: optional number

Time To Live (TTL) in number of hops of the GRE tunnel.

Magic TransitIPSEC Tunnels

List IPsec tunnels
GET/accounts/{account_id}/magic/ipsec_tunnels
List IPsec tunnel details
GET/accounts/{account_id}/magic/ipsec_tunnels/{ipsec_tunnel_id}
Create an IPsec tunnel
POST/accounts/{account_id}/magic/ipsec_tunnels
Update IPsec Tunnel
PUT/accounts/{account_id}/magic/ipsec_tunnels/{ipsec_tunnel_id}
Delete IPsec Tunnel
DELETE/accounts/{account_id}/magic/ipsec_tunnels/{ipsec_tunnel_id}
Update multiple IPsec tunnels
PUT/accounts/{account_id}/magic/ipsec_tunnels
Generate Pre Shared Key (PSK) for IPsec tunnels
POST/accounts/{account_id}/magic/ipsec_tunnels/{ipsec_tunnel_id}/psk_generate
ModelsExpand Collapse
PSKMetadata { last_generated_on }

The PSK metadata that includes when the PSK was generated.

last_generated_on: optional string

The date and time the tunnel was last modified.

formatdate-time
IPSECTunnelListResponse { ipsec_tunnels }
ipsec_tunnels: optional array of { id, cloudflare_endpoint, interface_address, 14 more }
id: string

Identifier

maxLength32
cloudflare_endpoint: string

The IP address assigned to the Cloudflare side of the IPsec tunnel.

interface_address: string

A 31-bit prefix (/31 in CIDR notation) supporting two hosts, one for each side of the tunnel. Select the subnet from the following private IP space: 10.0.0.0–10.255.255.255, 172.16.0.0–172.31.255.255, 192.168.0.0–192.168.255.255.

name: string

The name of the IPsec tunnel. The name cannot share a name with other tunnels.

allow_null_cipher: optional boolean

When true, the tunnel can use a null-cipher (ENCR_NULL) in the ESP tunnel (Phase 2).

automatic_return_routing: optional boolean

True if automatic stateful return routing should be enabled for a tunnel, false otherwise.

bgp: optional { customer_asn, extra_prefixes, md5_key }
customer_asn: number

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes: optional array of string

Prefixes in this list will be advertised to the customer device, in addition to the routes in the Magic routing table.

md5_key: optional string

MD5 key to use for session authentication.

Note that this is not a security measure. MD5 is not a valid security mechanism, and the key is not treated as a secret value. This is only supported for preventing misconfiguration, not for defending against malicious attacks.

The MD5 key, if set, must be of non-zero length and consist only of the following types of character:

  • ASCII alphanumerics: [a-zA-Z0-9]
  • Special characters in the set '!@#$%^&*()+[]{}<>/.,;:_-~= |`

In other words, MD5 keys may contain any printable ASCII character aside from newline (0x0A), quotation mark ("), vertical tab (0x0B), carriage return (0x0D), tab (0x09), form feed (0x0C), and the question mark (?). Requests specifying an MD5 key with one or more of these disallowed characters will be rejected.

bgp_status: optional { state, tcp_established, updated_at, 5 more }
state: "BGP_DOWN" or "BGP_UP" or "BGP_ESTABLISHING"
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: boolean
updated_at: string
formatdate-time
bgp_state: optional string
cf_speaker_ip: optional string
formatipv4
cf_speaker_port: optional number
maximum65535
minimum1
customer_speaker_ip: optional string
formatipv4
customer_speaker_port: optional number
maximum65535
minimum1
created_on: optional string

The date and time the tunnel was created.

formatdate-time
custom_remote_identities: optional { fqdn_id }
fqdn_id: optional string

A custom IKE ID of type FQDN that may be used to identity the IPsec tunnel. The generated IKE IDs can still be used even if this custom value is specified.

Must be of the form <custom label>.<account ID>.custom.ipsec.cloudflare.com.

This custom ID does not need to be unique. Two IPsec tunnels may have the same custom fqdn_id. However, if another IPsec tunnel has the same value then the two tunnels cannot have the same cloudflare_endpoint.

customer_endpoint: optional string

The IP address assigned to the customer side of the IPsec tunnel. Not required, but must be set for proactive traceroutes to work.

description: optional string

An optional description forthe IPsec tunnel.

health_check: optional { direction, enabled, rate, 2 more }
direction: optional "unidirectional" or "bidirectional"

The direction of the flow of the healthcheck. Either unidirectional, where the probe comes to you via the tunnel and the result comes back to Cloudflare via the open Internet, or bidirectional where both the probe and result come and go via the tunnel.

One of the following:
"unidirectional"
"bidirectional"
enabled: optional boolean

Determines whether to run healthchecks for a tunnel.

rate: optional HealthCheckRate

How frequent the health check is run. The default value is mid.

target: optional { effective, saved } or string

The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to customer_gre_endpoint address. This field is ignored for bidirectional healthchecks as the interface_address (not assigned to the Cloudflare side of the tunnel) is used as the target. Must be in object form if the x-magic-new-hc-target header is set to true and string form if x-magic-new-hc-target is absent or set to false.

One of the following:
MagicHealthCheckTarget { effective, saved }

The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to customer_gre_endpoint address. This field is ignored for bidirectional healthchecks as the interface_address (not assigned to the Cloudflare side of the tunnel) is used as the target.

effective: optional string

The effective health check target. If ‘saved’ is empty, then this field will be populated with the calculated default value on GET requests. Ignored in POST, PUT, and PATCH requests.

saved: optional string

The saved health check target. Setting the value to the empty string indicates that the calculated default value will be used.

string
type: optional HealthCheckType

The type of healthcheck to run, reply or request. The default value is reply.

interface_address6: optional string

A 127 bit IPV6 prefix from within the virtual_subnet6 prefix space with the address being the first IP of the subnet and not same as the address of virtual_subnet6. Eg if virtual_subnet6 is 2606:54c1:7:0:a9fe:12d2::/127 , interface_address6 could be 2606:54c1:7:0:a9fe:12d2:1:200/127

modified_on: optional string

The date and time the tunnel was last modified.

formatdate-time
psk_metadata: optional PSKMetadata { last_generated_on }

The PSK metadata that includes when the PSK was generated.

replay_protection: optional boolean

If true, then IPsec replay protection will be supported in the Cloudflare-to-customer direction.

IPSECTunnelGetResponse { ipsec_tunnel }
ipsec_tunnel: optional { id, cloudflare_endpoint, interface_address, 14 more }
id: string

Identifier

maxLength32
cloudflare_endpoint: string

The IP address assigned to the Cloudflare side of the IPsec tunnel.

interface_address: string

A 31-bit prefix (/31 in CIDR notation) supporting two hosts, one for each side of the tunnel. Select the subnet from the following private IP space: 10.0.0.0–10.255.255.255, 172.16.0.0–172.31.255.255, 192.168.0.0–192.168.255.255.

name: string

The name of the IPsec tunnel. The name cannot share a name with other tunnels.

allow_null_cipher: optional boolean

When true, the tunnel can use a null-cipher (ENCR_NULL) in the ESP tunnel (Phase 2).

automatic_return_routing: optional boolean

True if automatic stateful return routing should be enabled for a tunnel, false otherwise.

bgp: optional { customer_asn, extra_prefixes, md5_key }
customer_asn: number

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes: optional array of string

Prefixes in this list will be advertised to the customer device, in addition to the routes in the Magic routing table.

md5_key: optional string

MD5 key to use for session authentication.

Note that this is not a security measure. MD5 is not a valid security mechanism, and the key is not treated as a secret value. This is only supported for preventing misconfiguration, not for defending against malicious attacks.

The MD5 key, if set, must be of non-zero length and consist only of the following types of character:

  • ASCII alphanumerics: [a-zA-Z0-9]
  • Special characters in the set '!@#$%^&*()+[]{}<>/.,;:_-~= |`

In other words, MD5 keys may contain any printable ASCII character aside from newline (0x0A), quotation mark ("), vertical tab (0x0B), carriage return (0x0D), tab (0x09), form feed (0x0C), and the question mark (?). Requests specifying an MD5 key with one or more of these disallowed characters will be rejected.

bgp_status: optional { state, tcp_established, updated_at, 5 more }
state: "BGP_DOWN" or "BGP_UP" or "BGP_ESTABLISHING"
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: boolean
updated_at: string
formatdate-time
bgp_state: optional string
cf_speaker_ip: optional string
formatipv4
cf_speaker_port: optional number
maximum65535
minimum1
customer_speaker_ip: optional string
formatipv4
customer_speaker_port: optional number
maximum65535
minimum1
created_on: optional string

The date and time the tunnel was created.

formatdate-time
custom_remote_identities: optional { fqdn_id }
fqdn_id: optional string

A custom IKE ID of type FQDN that may be used to identity the IPsec tunnel. The generated IKE IDs can still be used even if this custom value is specified.

Must be of the form <custom label>.<account ID>.custom.ipsec.cloudflare.com.

This custom ID does not need to be unique. Two IPsec tunnels may have the same custom fqdn_id. However, if another IPsec tunnel has the same value then the two tunnels cannot have the same cloudflare_endpoint.

customer_endpoint: optional string

The IP address assigned to the customer side of the IPsec tunnel. Not required, but must be set for proactive traceroutes to work.

description: optional string

An optional description forthe IPsec tunnel.

health_check: optional { direction, enabled, rate, 2 more }
direction: optional "unidirectional" or "bidirectional"

The direction of the flow of the healthcheck. Either unidirectional, where the probe comes to you via the tunnel and the result comes back to Cloudflare via the open Internet, or bidirectional where both the probe and result come and go via the tunnel.

One of the following:
"unidirectional"
"bidirectional"
enabled: optional boolean

Determines whether to run healthchecks for a tunnel.

rate: optional HealthCheckRate

How frequent the health check is run. The default value is mid.

target: optional { effective, saved } or string

The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to customer_gre_endpoint address. This field is ignored for bidirectional healthchecks as the interface_address (not assigned to the Cloudflare side of the tunnel) is used as the target. Must be in object form if the x-magic-new-hc-target header is set to true and string form if x-magic-new-hc-target is absent or set to false.

One of the following:
MagicHealthCheckTarget { effective, saved }

The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to customer_gre_endpoint address. This field is ignored for bidirectional healthchecks as the interface_address (not assigned to the Cloudflare side of the tunnel) is used as the target.

effective: optional string

The effective health check target. If ‘saved’ is empty, then this field will be populated with the calculated default value on GET requests. Ignored in POST, PUT, and PATCH requests.

saved: optional string

The saved health check target. Setting the value to the empty string indicates that the calculated default value will be used.

string
type: optional HealthCheckType

The type of healthcheck to run, reply or request. The default value is reply.

interface_address6: optional string

A 127 bit IPV6 prefix from within the virtual_subnet6 prefix space with the address being the first IP of the subnet and not same as the address of virtual_subnet6. Eg if virtual_subnet6 is 2606:54c1:7:0:a9fe:12d2::/127 , interface_address6 could be 2606:54c1:7:0:a9fe:12d2:1:200/127

modified_on: optional string

The date and time the tunnel was last modified.

formatdate-time
psk_metadata: optional PSKMetadata { last_generated_on }

The PSK metadata that includes when the PSK was generated.

replay_protection: optional boolean

If true, then IPsec replay protection will be supported in the Cloudflare-to-customer direction.

IPSECTunnelCreateResponse { id, cloudflare_endpoint, interface_address, 14 more }
id: string

Identifier

maxLength32
cloudflare_endpoint: string

The IP address assigned to the Cloudflare side of the IPsec tunnel.

interface_address: string

A 31-bit prefix (/31 in CIDR notation) supporting two hosts, one for each side of the tunnel. Select the subnet from the following private IP space: 10.0.0.0–10.255.255.255, 172.16.0.0–172.31.255.255, 192.168.0.0–192.168.255.255.

name: string

The name of the IPsec tunnel. The name cannot share a name with other tunnels.

allow_null_cipher: optional boolean

When true, the tunnel can use a null-cipher (ENCR_NULL) in the ESP tunnel (Phase 2).

automatic_return_routing: optional boolean

True if automatic stateful return routing should be enabled for a tunnel, false otherwise.

bgp: optional { customer_asn, extra_prefixes, md5_key }
customer_asn: number

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes: optional array of string

Prefixes in this list will be advertised to the customer device, in addition to the routes in the Magic routing table.

md5_key: optional string

MD5 key to use for session authentication.

Note that this is not a security measure. MD5 is not a valid security mechanism, and the key is not treated as a secret value. This is only supported for preventing misconfiguration, not for defending against malicious attacks.

The MD5 key, if set, must be of non-zero length and consist only of the following types of character:

  • ASCII alphanumerics: [a-zA-Z0-9]
  • Special characters in the set '!@#$%^&*()+[]{}<>/.,;:_-~= |`

In other words, MD5 keys may contain any printable ASCII character aside from newline (0x0A), quotation mark ("), vertical tab (0x0B), carriage return (0x0D), tab (0x09), form feed (0x0C), and the question mark (?). Requests specifying an MD5 key with one or more of these disallowed characters will be rejected.

bgp_status: optional { state, tcp_established, updated_at, 5 more }
state: "BGP_DOWN" or "BGP_UP" or "BGP_ESTABLISHING"
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: boolean
updated_at: string
formatdate-time
bgp_state: optional string
cf_speaker_ip: optional string
formatipv4
cf_speaker_port: optional number
maximum65535
minimum1
customer_speaker_ip: optional string
formatipv4
customer_speaker_port: optional number
maximum65535
minimum1
created_on: optional string

The date and time the tunnel was created.

formatdate-time
custom_remote_identities: optional { fqdn_id }
fqdn_id: optional string

A custom IKE ID of type FQDN that may be used to identity the IPsec tunnel. The generated IKE IDs can still be used even if this custom value is specified.

Must be of the form <custom label>.<account ID>.custom.ipsec.cloudflare.com.

This custom ID does not need to be unique. Two IPsec tunnels may have the same custom fqdn_id. However, if another IPsec tunnel has the same value then the two tunnels cannot have the same cloudflare_endpoint.

customer_endpoint: optional string

The IP address assigned to the customer side of the IPsec tunnel. Not required, but must be set for proactive traceroutes to work.

description: optional string

An optional description forthe IPsec tunnel.

health_check: optional { direction, enabled, rate, 2 more }
direction: optional "unidirectional" or "bidirectional"

The direction of the flow of the healthcheck. Either unidirectional, where the probe comes to you via the tunnel and the result comes back to Cloudflare via the open Internet, or bidirectional where both the probe and result come and go via the tunnel.

One of the following:
"unidirectional"
"bidirectional"
enabled: optional boolean

Determines whether to run healthchecks for a tunnel.

rate: optional HealthCheckRate

How frequent the health check is run. The default value is mid.

target: optional { effective, saved } or string

The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to customer_gre_endpoint address. This field is ignored for bidirectional healthchecks as the interface_address (not assigned to the Cloudflare side of the tunnel) is used as the target. Must be in object form if the x-magic-new-hc-target header is set to true and string form if x-magic-new-hc-target is absent or set to false.

One of the following:
MagicHealthCheckTarget { effective, saved }

The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to customer_gre_endpoint address. This field is ignored for bidirectional healthchecks as the interface_address (not assigned to the Cloudflare side of the tunnel) is used as the target.

effective: optional string

The effective health check target. If ‘saved’ is empty, then this field will be populated with the calculated default value on GET requests. Ignored in POST, PUT, and PATCH requests.

saved: optional string

The saved health check target. Setting the value to the empty string indicates that the calculated default value will be used.

string
type: optional HealthCheckType

The type of healthcheck to run, reply or request. The default value is reply.

interface_address6: optional string

A 127 bit IPV6 prefix from within the virtual_subnet6 prefix space with the address being the first IP of the subnet and not same as the address of virtual_subnet6. Eg if virtual_subnet6 is 2606:54c1:7:0:a9fe:12d2::/127 , interface_address6 could be 2606:54c1:7:0:a9fe:12d2:1:200/127

modified_on: optional string

The date and time the tunnel was last modified.

formatdate-time
psk_metadata: optional PSKMetadata { last_generated_on }

The PSK metadata that includes when the PSK was generated.

replay_protection: optional boolean

If true, then IPsec replay protection will be supported in the Cloudflare-to-customer direction.

IPSECTunnelUpdateResponse { modified, modified_ipsec_tunnel }
modified: optional boolean
modified_ipsec_tunnel: optional { id, cloudflare_endpoint, interface_address, 14 more }
id: string

Identifier

maxLength32
cloudflare_endpoint: string

The IP address assigned to the Cloudflare side of the IPsec tunnel.

interface_address: string

A 31-bit prefix (/31 in CIDR notation) supporting two hosts, one for each side of the tunnel. Select the subnet from the following private IP space: 10.0.0.0–10.255.255.255, 172.16.0.0–172.31.255.255, 192.168.0.0–192.168.255.255.

name: string

The name of the IPsec tunnel. The name cannot share a name with other tunnels.

allow_null_cipher: optional boolean

When true, the tunnel can use a null-cipher (ENCR_NULL) in the ESP tunnel (Phase 2).

automatic_return_routing: optional boolean

True if automatic stateful return routing should be enabled for a tunnel, false otherwise.

bgp: optional { customer_asn, extra_prefixes, md5_key }
customer_asn: number

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes: optional array of string

Prefixes in this list will be advertised to the customer device, in addition to the routes in the Magic routing table.

md5_key: optional string

MD5 key to use for session authentication.

Note that this is not a security measure. MD5 is not a valid security mechanism, and the key is not treated as a secret value. This is only supported for preventing misconfiguration, not for defending against malicious attacks.

The MD5 key, if set, must be of non-zero length and consist only of the following types of character:

  • ASCII alphanumerics: [a-zA-Z0-9]
  • Special characters in the set '!@#$%^&*()+[]{}<>/.,;:_-~= |`

In other words, MD5 keys may contain any printable ASCII character aside from newline (0x0A), quotation mark ("), vertical tab (0x0B), carriage return (0x0D), tab (0x09), form feed (0x0C), and the question mark (?). Requests specifying an MD5 key with one or more of these disallowed characters will be rejected.

bgp_status: optional { state, tcp_established, updated_at, 5 more }
state: "BGP_DOWN" or "BGP_UP" or "BGP_ESTABLISHING"
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: boolean
updated_at: string
formatdate-time
bgp_state: optional string
cf_speaker_ip: optional string
formatipv4
cf_speaker_port: optional number
maximum65535
minimum1
customer_speaker_ip: optional string
formatipv4
customer_speaker_port: optional number
maximum65535
minimum1
created_on: optional string

The date and time the tunnel was created.

formatdate-time
custom_remote_identities: optional { fqdn_id }
fqdn_id: optional string

A custom IKE ID of type FQDN that may be used to identity the IPsec tunnel. The generated IKE IDs can still be used even if this custom value is specified.

Must be of the form <custom label>.<account ID>.custom.ipsec.cloudflare.com.

This custom ID does not need to be unique. Two IPsec tunnels may have the same custom fqdn_id. However, if another IPsec tunnel has the same value then the two tunnels cannot have the same cloudflare_endpoint.

customer_endpoint: optional string

The IP address assigned to the customer side of the IPsec tunnel. Not required, but must be set for proactive traceroutes to work.

description: optional string

An optional description forthe IPsec tunnel.

health_check: optional { direction, enabled, rate, 2 more }
direction: optional "unidirectional" or "bidirectional"

The direction of the flow of the healthcheck. Either unidirectional, where the probe comes to you via the tunnel and the result comes back to Cloudflare via the open Internet, or bidirectional where both the probe and result come and go via the tunnel.

One of the following:
"unidirectional"
"bidirectional"
enabled: optional boolean

Determines whether to run healthchecks for a tunnel.

rate: optional HealthCheckRate

How frequent the health check is run. The default value is mid.

target: optional { effective, saved } or string

The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to customer_gre_endpoint address. This field is ignored for bidirectional healthchecks as the interface_address (not assigned to the Cloudflare side of the tunnel) is used as the target. Must be in object form if the x-magic-new-hc-target header is set to true and string form if x-magic-new-hc-target is absent or set to false.

One of the following:
MagicHealthCheckTarget { effective, saved }

The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to customer_gre_endpoint address. This field is ignored for bidirectional healthchecks as the interface_address (not assigned to the Cloudflare side of the tunnel) is used as the target.

effective: optional string

The effective health check target. If ‘saved’ is empty, then this field will be populated with the calculated default value on GET requests. Ignored in POST, PUT, and PATCH requests.

saved: optional string

The saved health check target. Setting the value to the empty string indicates that the calculated default value will be used.

string
type: optional HealthCheckType

The type of healthcheck to run, reply or request. The default value is reply.

interface_address6: optional string

A 127 bit IPV6 prefix from within the virtual_subnet6 prefix space with the address being the first IP of the subnet and not same as the address of virtual_subnet6. Eg if virtual_subnet6 is 2606:54c1:7:0:a9fe:12d2::/127 , interface_address6 could be 2606:54c1:7:0:a9fe:12d2:1:200/127

modified_on: optional string

The date and time the tunnel was last modified.

formatdate-time
psk_metadata: optional PSKMetadata { last_generated_on }

The PSK metadata that includes when the PSK was generated.

replay_protection: optional boolean

If true, then IPsec replay protection will be supported in the Cloudflare-to-customer direction.

IPSECTunnelDeleteResponse { deleted, deleted_ipsec_tunnel }
deleted: optional boolean
deleted_ipsec_tunnel: optional { id, cloudflare_endpoint, interface_address, 14 more }
id: string

Identifier

maxLength32
cloudflare_endpoint: string

The IP address assigned to the Cloudflare side of the IPsec tunnel.

interface_address: string

A 31-bit prefix (/31 in CIDR notation) supporting two hosts, one for each side of the tunnel. Select the subnet from the following private IP space: 10.0.0.0–10.255.255.255, 172.16.0.0–172.31.255.255, 192.168.0.0–192.168.255.255.

name: string

The name of the IPsec tunnel. The name cannot share a name with other tunnels.

allow_null_cipher: optional boolean

When true, the tunnel can use a null-cipher (ENCR_NULL) in the ESP tunnel (Phase 2).

automatic_return_routing: optional boolean

True if automatic stateful return routing should be enabled for a tunnel, false otherwise.

bgp: optional { customer_asn, extra_prefixes, md5_key }
customer_asn: number

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes: optional array of string

Prefixes in this list will be advertised to the customer device, in addition to the routes in the Magic routing table.

md5_key: optional string

MD5 key to use for session authentication.

Note that this is not a security measure. MD5 is not a valid security mechanism, and the key is not treated as a secret value. This is only supported for preventing misconfiguration, not for defending against malicious attacks.

The MD5 key, if set, must be of non-zero length and consist only of the following types of character:

  • ASCII alphanumerics: [a-zA-Z0-9]
  • Special characters in the set '!@#$%^&*()+[]{}<>/.,;:_-~= |`

In other words, MD5 keys may contain any printable ASCII character aside from newline (0x0A), quotation mark ("), vertical tab (0x0B), carriage return (0x0D), tab (0x09), form feed (0x0C), and the question mark (?). Requests specifying an MD5 key with one or more of these disallowed characters will be rejected.

bgp_status: optional { state, tcp_established, updated_at, 5 more }
state: "BGP_DOWN" or "BGP_UP" or "BGP_ESTABLISHING"
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: boolean
updated_at: string
formatdate-time
bgp_state: optional string
cf_speaker_ip: optional string
formatipv4
cf_speaker_port: optional number
maximum65535
minimum1
customer_speaker_ip: optional string
formatipv4
customer_speaker_port: optional number
maximum65535
minimum1
created_on: optional string

The date and time the tunnel was created.

formatdate-time
custom_remote_identities: optional { fqdn_id }
fqdn_id: optional string

A custom IKE ID of type FQDN that may be used to identity the IPsec tunnel. The generated IKE IDs can still be used even if this custom value is specified.

Must be of the form <custom label>.<account ID>.custom.ipsec.cloudflare.com.

This custom ID does not need to be unique. Two IPsec tunnels may have the same custom fqdn_id. However, if another IPsec tunnel has the same value then the two tunnels cannot have the same cloudflare_endpoint.

customer_endpoint: optional string

The IP address assigned to the customer side of the IPsec tunnel. Not required, but must be set for proactive traceroutes to work.

description: optional string

An optional description forthe IPsec tunnel.

health_check: optional { direction, enabled, rate, 2 more }
direction: optional "unidirectional" or "bidirectional"

The direction of the flow of the healthcheck. Either unidirectional, where the probe comes to you via the tunnel and the result comes back to Cloudflare via the open Internet, or bidirectional where both the probe and result come and go via the tunnel.

One of the following:
"unidirectional"
"bidirectional"
enabled: optional boolean

Determines whether to run healthchecks for a tunnel.

rate: optional HealthCheckRate

How frequent the health check is run. The default value is mid.

target: optional { effective, saved } or string

The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to customer_gre_endpoint address. This field is ignored for bidirectional healthchecks as the interface_address (not assigned to the Cloudflare side of the tunnel) is used as the target. Must be in object form if the x-magic-new-hc-target header is set to true and string form if x-magic-new-hc-target is absent or set to false.

One of the following:
MagicHealthCheckTarget { effective, saved }

The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to customer_gre_endpoint address. This field is ignored for bidirectional healthchecks as the interface_address (not assigned to the Cloudflare side of the tunnel) is used as the target.

effective: optional string

The effective health check target. If ‘saved’ is empty, then this field will be populated with the calculated default value on GET requests. Ignored in POST, PUT, and PATCH requests.

saved: optional string

The saved health check target. Setting the value to the empty string indicates that the calculated default value will be used.

string
type: optional HealthCheckType

The type of healthcheck to run, reply or request. The default value is reply.

interface_address6: optional string

A 127 bit IPV6 prefix from within the virtual_subnet6 prefix space with the address being the first IP of the subnet and not same as the address of virtual_subnet6. Eg if virtual_subnet6 is 2606:54c1:7:0:a9fe:12d2::/127 , interface_address6 could be 2606:54c1:7:0:a9fe:12d2:1:200/127

modified_on: optional string

The date and time the tunnel was last modified.

formatdate-time
psk_metadata: optional PSKMetadata { last_generated_on }

The PSK metadata that includes when the PSK was generated.

replay_protection: optional boolean

If true, then IPsec replay protection will be supported in the Cloudflare-to-customer direction.

IPSECTunnelBulkUpdateResponse { modified, modified_ipsec_tunnels }
modified: optional boolean
modified_ipsec_tunnels: optional array of { id, cloudflare_endpoint, interface_address, 14 more }
id: string

Identifier

maxLength32
cloudflare_endpoint: string

The IP address assigned to the Cloudflare side of the IPsec tunnel.

interface_address: string

A 31-bit prefix (/31 in CIDR notation) supporting two hosts, one for each side of the tunnel. Select the subnet from the following private IP space: 10.0.0.0–10.255.255.255, 172.16.0.0–172.31.255.255, 192.168.0.0–192.168.255.255.

name: string

The name of the IPsec tunnel. The name cannot share a name with other tunnels.

allow_null_cipher: optional boolean

When true, the tunnel can use a null-cipher (ENCR_NULL) in the ESP tunnel (Phase 2).

automatic_return_routing: optional boolean

True if automatic stateful return routing should be enabled for a tunnel, false otherwise.

bgp: optional { customer_asn, extra_prefixes, md5_key }
customer_asn: number

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes: optional array of string

Prefixes in this list will be advertised to the customer device, in addition to the routes in the Magic routing table.

md5_key: optional string

MD5 key to use for session authentication.

Note that this is not a security measure. MD5 is not a valid security mechanism, and the key is not treated as a secret value. This is only supported for preventing misconfiguration, not for defending against malicious attacks.

The MD5 key, if set, must be of non-zero length and consist only of the following types of character:

  • ASCII alphanumerics: [a-zA-Z0-9]
  • Special characters in the set '!@#$%^&*()+[]{}<>/.,;:_-~= |`

In other words, MD5 keys may contain any printable ASCII character aside from newline (0x0A), quotation mark ("), vertical tab (0x0B), carriage return (0x0D), tab (0x09), form feed (0x0C), and the question mark (?). Requests specifying an MD5 key with one or more of these disallowed characters will be rejected.

bgp_status: optional { state, tcp_established, updated_at, 5 more }
state: "BGP_DOWN" or "BGP_UP" or "BGP_ESTABLISHING"
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: boolean
updated_at: string
formatdate-time
bgp_state: optional string
cf_speaker_ip: optional string
formatipv4
cf_speaker_port: optional number
maximum65535
minimum1
customer_speaker_ip: optional string
formatipv4
customer_speaker_port: optional number
maximum65535
minimum1
created_on: optional string

The date and time the tunnel was created.

formatdate-time
custom_remote_identities: optional { fqdn_id }
fqdn_id: optional string

A custom IKE ID of type FQDN that may be used to identity the IPsec tunnel. The generated IKE IDs can still be used even if this custom value is specified.

Must be of the form <custom label>.<account ID>.custom.ipsec.cloudflare.com.

This custom ID does not need to be unique. Two IPsec tunnels may have the same custom fqdn_id. However, if another IPsec tunnel has the same value then the two tunnels cannot have the same cloudflare_endpoint.

customer_endpoint: optional string

The IP address assigned to the customer side of the IPsec tunnel. Not required, but must be set for proactive traceroutes to work.

description: optional string

An optional description forthe IPsec tunnel.

health_check: optional { direction, enabled, rate, 2 more }
direction: optional "unidirectional" or "bidirectional"

The direction of the flow of the healthcheck. Either unidirectional, where the probe comes to you via the tunnel and the result comes back to Cloudflare via the open Internet, or bidirectional where both the probe and result come and go via the tunnel.

One of the following:
"unidirectional"
"bidirectional"
enabled: optional boolean

Determines whether to run healthchecks for a tunnel.

rate: optional HealthCheckRate

How frequent the health check is run. The default value is mid.

target: optional { effective, saved } or string

The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to customer_gre_endpoint address. This field is ignored for bidirectional healthchecks as the interface_address (not assigned to the Cloudflare side of the tunnel) is used as the target. Must be in object form if the x-magic-new-hc-target header is set to true and string form if x-magic-new-hc-target is absent or set to false.

One of the following:
MagicHealthCheckTarget { effective, saved }

The destination address in a request type health check. After the healthcheck is decapsulated at the customer end of the tunnel, the ICMP echo will be forwarded to this address. This field defaults to customer_gre_endpoint address. This field is ignored for bidirectional healthchecks as the interface_address (not assigned to the Cloudflare side of the tunnel) is used as the target.

effective: optional string

The effective health check target. If ‘saved’ is empty, then this field will be populated with the calculated default value on GET requests. Ignored in POST, PUT, and PATCH requests.

saved: optional string

The saved health check target. Setting the value to the empty string indicates that the calculated default value will be used.

string
type: optional HealthCheckType

The type of healthcheck to run, reply or request. The default value is reply.

interface_address6: optional string

A 127 bit IPV6 prefix from within the virtual_subnet6 prefix space with the address being the first IP of the subnet and not same as the address of virtual_subnet6. Eg if virtual_subnet6 is 2606:54c1:7:0:a9fe:12d2::/127 , interface_address6 could be 2606:54c1:7:0:a9fe:12d2:1:200/127

modified_on: optional string

The date and time the tunnel was last modified.

formatdate-time
psk_metadata: optional PSKMetadata { last_generated_on }

The PSK metadata that includes when the PSK was generated.

replay_protection: optional boolean

If true, then IPsec replay protection will be supported in the Cloudflare-to-customer direction.

IPSECTunnelPSKGenerateResponse { ipsec_tunnel_id, psk, psk_metadata }
ipsec_tunnel_id: optional string

Identifier

maxLength32
psk: optional string

A randomly generated or provided string for use in the IPsec tunnel.

psk_metadata: optional PSKMetadata { last_generated_on }

The PSK metadata that includes when the PSK was generated.

Magic TransitRoutes

List Routes
GET/accounts/{account_id}/magic/routes
Route Details
GET/accounts/{account_id}/magic/routes/{route_id}
Create a Route
POST/accounts/{account_id}/magic/routes
Update Route
PUT/accounts/{account_id}/magic/routes/{route_id}
Delete Route
DELETE/accounts/{account_id}/magic/routes/{route_id}
Update Many Routes
PUT/accounts/{account_id}/magic/routes
Delete Many Routes
DELETE/accounts/{account_id}/magic/routes
ModelsExpand Collapse
Scope { colo_names, colo_regions }

Used only for ECMP routes.

colo_names: optional array of string

List of colo names for the ECMP scope.

colo_regions: optional array of string

List of colo regions for the ECMP scope.

RouteListResponse { routes }
routes: optional array of { id, nexthop, prefix, 6 more }
id: string

Identifier

maxLength32
nexthop: string

The next-hop IP Address for the static route.

prefix: string

IP Prefix in Classless Inter-Domain Routing format.

priority: number

Priority of the static route.

created_on: optional string

When the route was created.

formatdate-time
description: optional string

An optional human provided description of the static route.

modified_on: optional string

When the route was last modified.

formatdate-time
scope: optional Scope { colo_names, colo_regions }

Used only for ECMP routes.

weight: optional number

Optional weight of the ECMP scope - if provided.

RouteGetResponse { route }
route: optional { id, nexthop, prefix, 6 more }
id: string

Identifier

maxLength32
nexthop: string

The next-hop IP Address for the static route.

prefix: string

IP Prefix in Classless Inter-Domain Routing format.

priority: number

Priority of the static route.

created_on: optional string

When the route was created.

formatdate-time
description: optional string

An optional human provided description of the static route.

modified_on: optional string

When the route was last modified.

formatdate-time
scope: optional Scope { colo_names, colo_regions }

Used only for ECMP routes.

weight: optional number

Optional weight of the ECMP scope - if provided.

RouteCreateResponse { id, nexthop, prefix, 6 more }
id: string

Identifier

maxLength32
nexthop: string

The next-hop IP Address for the static route.

prefix: string

IP Prefix in Classless Inter-Domain Routing format.

priority: number

Priority of the static route.

created_on: optional string

When the route was created.

formatdate-time
description: optional string

An optional human provided description of the static route.

modified_on: optional string

When the route was last modified.

formatdate-time
scope: optional Scope { colo_names, colo_regions }

Used only for ECMP routes.

weight: optional number

Optional weight of the ECMP scope - if provided.

RouteUpdateResponse { modified, modified_route }
modified: optional boolean
modified_route: optional { id, nexthop, prefix, 6 more }
id: string

Identifier

maxLength32
nexthop: string

The next-hop IP Address for the static route.

prefix: string

IP Prefix in Classless Inter-Domain Routing format.

priority: number

Priority of the static route.

created_on: optional string

When the route was created.

formatdate-time
description: optional string

An optional human provided description of the static route.

modified_on: optional string

When the route was last modified.

formatdate-time
scope: optional Scope { colo_names, colo_regions }

Used only for ECMP routes.

weight: optional number

Optional weight of the ECMP scope - if provided.

RouteDeleteResponse { deleted, deleted_route }
deleted: optional boolean
deleted_route: optional { id, nexthop, prefix, 6 more }
id: string

Identifier

maxLength32
nexthop: string

The next-hop IP Address for the static route.

prefix: string

IP Prefix in Classless Inter-Domain Routing format.

priority: number

Priority of the static route.

created_on: optional string

When the route was created.

formatdate-time
description: optional string

An optional human provided description of the static route.

modified_on: optional string

When the route was last modified.

formatdate-time
scope: optional Scope { colo_names, colo_regions }

Used only for ECMP routes.

weight: optional number

Optional weight of the ECMP scope - if provided.

RouteBulkUpdateResponse { modified, modified_routes }
modified: optional boolean
modified_routes: optional array of { id, nexthop, prefix, 6 more }
id: string

Identifier

maxLength32
nexthop: string

The next-hop IP Address for the static route.

prefix: string

IP Prefix in Classless Inter-Domain Routing format.

priority: number

Priority of the static route.

created_on: optional string

When the route was created.

formatdate-time
description: optional string

An optional human provided description of the static route.

modified_on: optional string

When the route was last modified.

formatdate-time
scope: optional Scope { colo_names, colo_regions }

Used only for ECMP routes.

weight: optional number

Optional weight of the ECMP scope - if provided.

RouteEmptyResponse { deleted, deleted_routes }
deleted: optional boolean
deleted_routes: optional array of { id, nexthop, prefix, 6 more }
id: string

Identifier

maxLength32
nexthop: string

The next-hop IP Address for the static route.

prefix: string

IP Prefix in Classless Inter-Domain Routing format.

priority: number

Priority of the static route.

created_on: optional string

When the route was created.

formatdate-time
description: optional string

An optional human provided description of the static route.

modified_on: optional string

When the route was last modified.

formatdate-time
scope: optional Scope { colo_names, colo_regions }

Used only for ECMP routes.

weight: optional number

Optional weight of the ECMP scope - if provided.

Magic TransitSites

List Sites
GET/accounts/{account_id}/magic/sites
Site Details
GET/accounts/{account_id}/magic/sites/{site_id}
Create a new Site
POST/accounts/{account_id}/magic/sites
Update Site
PUT/accounts/{account_id}/magic/sites/{site_id}
Patch Site
PATCH/accounts/{account_id}/magic/sites/{site_id}
Delete Site
DELETE/accounts/{account_id}/magic/sites/{site_id}
ModelsExpand Collapse
Site { id, connector_id, description, 4 more }
id: optional string

Identifier

maxLength32
connector_id: optional string

Magic Connector identifier tag.

description: optional string
ha_mode: optional boolean

Site high availability mode. If set to true, the site can have two connectors and runs in high availability mode.

location: optional SiteLocation { lat, lon }

Location of site in latitude and longitude.

name: optional string

The name of the site.

secondary_connector_id: optional string

Magic Connector identifier tag. Used when high availability mode is on.

SiteLocation { lat, lon }

Location of site in latitude and longitude.

lat: optional string

Latitude

lon: optional string

Longitude

Magic TransitSitesApp Configuration

List App Configs
GET/accounts/{account_id}/magic/sites/{site_id}/app_configs
Create a new App Config
POST/accounts/{account_id}/magic/sites/{site_id}/app_configs
Update an App Config
PUT/accounts/{account_id}/magic/sites/{site_id}/app_configs/{app_config_id}
Update an App Config
PATCH/accounts/{account_id}/magic/sites/{site_id}/app_configs/{app_config_id}
Delete App Config
DELETE/accounts/{account_id}/magic/sites/{site_id}/app_configs/{app_config_id}
ModelsExpand Collapse
AppConfigurationListResponse = { account_app_id, id, breakout, 3 more } or { managed_app_id, id, breakout, 3 more }

Traffic decision configuration for an app.

One of the following:
AccountApp { account_app_id, id, breakout, 3 more }
account_app_id: string

Magic account app ID.

id: optional string

Identifier

maxLength32
breakout: optional boolean

Whether to breakout traffic to the app’s endpoints directly. Null preserves default behavior.

preferred_wans: optional array of string

WAN interfaces to prefer over default WANs, highest-priority first. Can only be specified for breakout rules (breakout must be true).

priority: optional number

Priority of traffic. 0 is default, anything greater is prioritized. (Currently only 0 and 1 are supported)

maximum1
minimum0
site_id: optional string

Identifier

maxLength32
ManagedApp { managed_app_id, id, breakout, 3 more }
managed_app_id: string

Managed app ID.

id: optional string

Identifier

maxLength32
breakout: optional boolean

Whether to breakout traffic to the app’s endpoints directly. Null preserves default behavior.

preferred_wans: optional array of string

WAN interfaces to prefer over default WANs, highest-priority first. Can only be specified for breakout rules (breakout must be true).

priority: optional number

Priority of traffic. 0 is default, anything greater is prioritized. (Currently only 0 and 1 are supported)

maximum1
minimum0
site_id: optional string

Identifier

maxLength32
AppConfigurationCreateResponse = { account_app_id, id, breakout, 3 more } or { managed_app_id, id, breakout, 3 more }

Traffic decision configuration for an app.

One of the following:
AccountApp { account_app_id, id, breakout, 3 more }
account_app_id: string

Magic account app ID.

id: optional string

Identifier

maxLength32
breakout: optional boolean

Whether to breakout traffic to the app’s endpoints directly. Null preserves default behavior.

preferred_wans: optional array of string

WAN interfaces to prefer over default WANs, highest-priority first. Can only be specified for breakout rules (breakout must be true).

priority: optional number

Priority of traffic. 0 is default, anything greater is prioritized. (Currently only 0 and 1 are supported)

maximum1
minimum0
site_id: optional string

Identifier

maxLength32
ManagedApp { managed_app_id, id, breakout, 3 more }
managed_app_id: string

Managed app ID.

id: optional string

Identifier

maxLength32
breakout: optional boolean

Whether to breakout traffic to the app’s endpoints directly. Null preserves default behavior.

preferred_wans: optional array of string

WAN interfaces to prefer over default WANs, highest-priority first. Can only be specified for breakout rules (breakout must be true).

priority: optional number

Priority of traffic. 0 is default, anything greater is prioritized. (Currently only 0 and 1 are supported)

maximum1
minimum0
site_id: optional string

Identifier

maxLength32
AppConfigurationUpdateResponse = { account_app_id, id, breakout, 3 more } or { managed_app_id, id, breakout, 3 more }

Traffic decision configuration for an app.

One of the following:
AccountApp { account_app_id, id, breakout, 3 more }
account_app_id: string

Magic account app ID.

id: optional string

Identifier

maxLength32
breakout: optional boolean

Whether to breakout traffic to the app’s endpoints directly. Null preserves default behavior.

preferred_wans: optional array of string

WAN interfaces to prefer over default WANs, highest-priority first. Can only be specified for breakout rules (breakout must be true).

priority: optional number

Priority of traffic. 0 is default, anything greater is prioritized. (Currently only 0 and 1 are supported)

maximum1
minimum0
site_id: optional string

Identifier

maxLength32
ManagedApp { managed_app_id, id, breakout, 3 more }
managed_app_id: string

Managed app ID.

id: optional string

Identifier

maxLength32
breakout: optional boolean

Whether to breakout traffic to the app’s endpoints directly. Null preserves default behavior.

preferred_wans: optional array of string

WAN interfaces to prefer over default WANs, highest-priority first. Can only be specified for breakout rules (breakout must be true).

priority: optional number

Priority of traffic. 0 is default, anything greater is prioritized. (Currently only 0 and 1 are supported)

maximum1
minimum0
site_id: optional string

Identifier

maxLength32
AppConfigurationEditResponse = { account_app_id, id, breakout, 3 more } or { managed_app_id, id, breakout, 3 more }

Traffic decision configuration for an app.

One of the following:
AccountApp { account_app_id, id, breakout, 3 more }
account_app_id: string

Magic account app ID.

id: optional string

Identifier

maxLength32
breakout: optional boolean

Whether to breakout traffic to the app’s endpoints directly. Null preserves default behavior.

preferred_wans: optional array of string

WAN interfaces to prefer over default WANs, highest-priority first. Can only be specified for breakout rules (breakout must be true).

priority: optional number

Priority of traffic. 0 is default, anything greater is prioritized. (Currently only 0 and 1 are supported)

maximum1
minimum0
site_id: optional string

Identifier

maxLength32
ManagedApp { managed_app_id, id, breakout, 3 more }
managed_app_id: string

Managed app ID.

id: optional string

Identifier

maxLength32
breakout: optional boolean

Whether to breakout traffic to the app’s endpoints directly. Null preserves default behavior.

preferred_wans: optional array of string

WAN interfaces to prefer over default WANs, highest-priority first. Can only be specified for breakout rules (breakout must be true).

priority: optional number

Priority of traffic. 0 is default, anything greater is prioritized. (Currently only 0 and 1 are supported)

maximum1
minimum0
site_id: optional string

Identifier

maxLength32
AppConfigurationDeleteResponse = { account_app_id, id, breakout, 3 more } or { managed_app_id, id, breakout, 3 more }

Traffic decision configuration for an app.

One of the following:
AccountApp { account_app_id, id, breakout, 3 more }
account_app_id: string

Magic account app ID.

id: optional string

Identifier

maxLength32
breakout: optional boolean

Whether to breakout traffic to the app’s endpoints directly. Null preserves default behavior.

preferred_wans: optional array of string

WAN interfaces to prefer over default WANs, highest-priority first. Can only be specified for breakout rules (breakout must be true).

priority: optional number

Priority of traffic. 0 is default, anything greater is prioritized. (Currently only 0 and 1 are supported)

maximum1
minimum0
site_id: optional string

Identifier

maxLength32
ManagedApp { managed_app_id, id, breakout, 3 more }
managed_app_id: string

Managed app ID.

id: optional string

Identifier

maxLength32
breakout: optional boolean

Whether to breakout traffic to the app’s endpoints directly. Null preserves default behavior.

preferred_wans: optional array of string

WAN interfaces to prefer over default WANs, highest-priority first. Can only be specified for breakout rules (breakout must be true).

priority: optional number

Priority of traffic. 0 is default, anything greater is prioritized. (Currently only 0 and 1 are supported)

maximum1
minimum0
site_id: optional string

Identifier

maxLength32

Magic TransitSitesACLs

List Site ACLs
GET/accounts/{account_id}/magic/sites/{site_id}/acls
Site ACL Details
GET/accounts/{account_id}/magic/sites/{site_id}/acls/{acl_id}
Create a new Site ACL
POST/accounts/{account_id}/magic/sites/{site_id}/acls
Update Site ACL
PUT/accounts/{account_id}/magic/sites/{site_id}/acls/{acl_id}
Patch Site ACL
PATCH/accounts/{account_id}/magic/sites/{site_id}/acls/{acl_id}
Delete Site ACL
DELETE/accounts/{account_id}/magic/sites/{site_id}/acls/{acl_id}
ModelsExpand Collapse
ACL { id, description, forward_locally, 5 more }

Bidirectional ACL policy for network traffic within a site.

id: optional string

Identifier

maxLength32
description: optional string

Description for the ACL.

forward_locally: optional boolean

The desired forwarding action for this ACL policy. If set to “false”, the policy will forward traffic to Cloudflare. If set to “true”, the policy will forward traffic locally on the Magic Connector. If not included in request, will default to false.

lan_1: optional ACLConfiguration { lan_id, lan_name, port_ranges, 2 more }
lan_2: optional ACLConfiguration { lan_id, lan_name, port_ranges, 2 more }
name: optional string

The name of the ACL.

protocols: optional array of AllowedProtocol
One of the following:
"tcp"
"udp"
"icmp"
unidirectional: optional boolean

The desired traffic direction for this ACL policy. If set to “false”, the policy will allow bidirectional traffic. If set to “true”, the policy will only allow traffic in one direction. If not included in request, will default to false.

ACLConfiguration { lan_id, lan_name, port_ranges, 2 more }
lan_id: string

The identifier for the LAN you want to create an ACL policy with.

lan_name: optional string

The name of the LAN based on the provided lan_id.

port_ranges: optional array of string

Array of port ranges on the provided LAN that will be included in the ACL. If no ports or port rangess are provided, communication on any port on this LAN is allowed.

ports: optional array of number

Array of ports on the provided LAN that will be included in the ACL. If no ports or port ranges are provided, communication on any port on this LAN is allowed.

subnets: optional array of Subnet

Array of subnet IPs within the LAN that will be included in the ACL. If no subnets are provided, communication on any subnets on this LAN are allowed.

AllowedProtocol = "tcp" or "udp" or "icmp"

Array of allowed communication protocols between configured LANs. If no protocols are provided, all protocols are allowed.

One of the following:
"tcp"
"udp"
"icmp"
Subnet = string

A valid IPv4 address.

Magic TransitSitesLANs

List Site LANs
GET/accounts/{account_id}/magic/sites/{site_id}/lans
Site LAN Details
GET/accounts/{account_id}/magic/sites/{site_id}/lans/{lan_id}
Create a new Site LAN
POST/accounts/{account_id}/magic/sites/{site_id}/lans
Update Site LAN
PUT/accounts/{account_id}/magic/sites/{site_id}/lans/{lan_id}
Patch Site LAN
PATCH/accounts/{account_id}/magic/sites/{site_id}/lans/{lan_id}
Delete Site LAN
DELETE/accounts/{account_id}/magic/sites/{site_id}/lans/{lan_id}
ModelsExpand Collapse
DHCPRelay { server_addresses }
server_addresses: optional array of string

List of DHCP server IPs.

DHCPServer { dhcp_pool_end, dhcp_pool_start, dns_server, 2 more }
dhcp_pool_end: optional string

A valid IPv4 address.

dhcp_pool_start: optional string

A valid IPv4 address.

dns_server: optional string

A valid IPv4 address.

dns_servers: optional array of string
reservations: optional map[string]

Mapping of MAC addresses to IP addresses

LAN { id, bond_id, ha_link, 9 more }
id: optional string

Identifier

maxLength32
bond_id: optional number
is_breakout: optional boolean

mark true to use this LAN for source-based breakout traffic

is_prioritized: optional boolean

mark true to use this LAN for source-based prioritized traffic

name: optional string
nat: optional Nat { static_prefix }
physport: optional number
routed_subnets: optional array of RoutedSubnet { next_hop, prefix, nat }
next_hop: string

A valid IPv4 address.

prefix: string

A valid CIDR notation representing an IP range.

nat: optional Nat { static_prefix }
site_id: optional string

Identifier

maxLength32
static_addressing: optional LANStaticAddressing { address, dhcp_relay, dhcp_server, 2 more }

If the site is not configured in high availability mode, this configuration is optional (if omitted, use DHCP). However, if in high availability mode, static_address is required along with secondary and virtual address.

vlan_tag: optional number

VLAN ID. Use zero for untagged.

LANStaticAddressing { address, dhcp_relay, dhcp_server, 2 more }

If the site is not configured in high availability mode, this configuration is optional (if omitted, use DHCP). However, if in high availability mode, static_address is required along with secondary and virtual address.

address: string

A valid CIDR notation representing an IP range.

dhcp_relay: optional DHCPRelay { server_addresses }
dhcp_server: optional DHCPServer { dhcp_pool_end, dhcp_pool_start, dns_server, 2 more }
secondary_address: optional string

A valid CIDR notation representing an IP range.

virtual_address: optional string

A valid CIDR notation representing an IP range.

Nat { static_prefix }
static_prefix: optional string

A valid CIDR notation representing an IP range.

RoutedSubnet { next_hop, prefix, nat }
next_hop: string

A valid IPv4 address.

prefix: string

A valid CIDR notation representing an IP range.

nat: optional Nat { static_prefix }

Magic TransitSitesWANs

List Site WANs
GET/accounts/{account_id}/magic/sites/{site_id}/wans
Site WAN Details
GET/accounts/{account_id}/magic/sites/{site_id}/wans/{wan_id}
Create a new Site WAN
POST/accounts/{account_id}/magic/sites/{site_id}/wans
Update Site WAN
PUT/accounts/{account_id}/magic/sites/{site_id}/wans/{wan_id}
Patch Site WAN
PATCH/accounts/{account_id}/magic/sites/{site_id}/wans/{wan_id}
Delete Site WAN
DELETE/accounts/{account_id}/magic/sites/{site_id}/wans/{wan_id}
ModelsExpand Collapse
WAN { id, health_check_rate, name, 5 more }
id: optional string

Identifier

maxLength32
health_check_rate: optional "low" or "mid" or "high"

Magic WAN health check rate for tunnels created on this link. The default value is mid.

One of the following:
"low"
"mid"
"high"
name: optional string
physport: optional number
priority: optional number

Priority of WAN for traffic loadbalancing.

site_id: optional string

Identifier

maxLength32
static_addressing: optional WANStaticAddressing { address, gateway_address, secondary_address }

(optional) if omitted, use DHCP. Submit secondary_address when site is in high availability mode.

vlan_tag: optional number

VLAN ID. Use zero for untagged.

WANStaticAddressing { address, gateway_address, secondary_address }

(optional) if omitted, use DHCP. Submit secondary_address when site is in high availability mode.

address: string

A valid CIDR notation representing an IP range.

gateway_address: string

A valid IPv4 address.

secondary_address: optional string

A valid CIDR notation representing an IP range.

Magic TransitConnectors

List Connectors
GET/accounts/{account_id}/magic/connectors
Fetch Connector
GET/accounts/{account_id}/magic/connectors/{connector_id}
Add a connector to your account
POST/accounts/{account_id}/magic/connectors
Replace Connector or Re-provision License Key
PUT/accounts/{account_id}/magic/connectors/{connector_id}
Edit Connector to update specific properties or Re-provision License Key
PATCH/accounts/{account_id}/magic/connectors/{connector_id}
Remove a connector from your account
DELETE/accounts/{account_id}/magic/connectors/{connector_id}
ModelsExpand Collapse
ConnectorListResponse { id, activated, interrupt_window_days_of_week, 10 more }
id: string
activated: boolean
interrupt_window_days_of_week: array of "Sunday" or "Monday" or "Tuesday" or 4 more

Allowed days of the week for upgrades. Default is all days.

One of the following:
"Sunday"
"Monday"
"Tuesday"
"Wednesday"
"Thursday"
"Friday"
"Saturday"
interrupt_window_duration_hours: number
maximum24
minimum1
interrupt_window_embargo_dates: array of string

List of dates (YYYY-MM-DD) when upgrades are blocked.

interrupt_window_hour_of_day: number
last_updated: string
notes: string
timezone: string
device: optional { id, serial_number }
id: string
serial_number: optional string
last_heartbeat: optional string
last_seen_version: optional string
license_key: optional string
ConnectorGetResponse { id, activated, interrupt_window_days_of_week, 10 more }
id: string
activated: boolean
interrupt_window_days_of_week: array of "Sunday" or "Monday" or "Tuesday" or 4 more

Allowed days of the week for upgrades. Default is all days.

One of the following:
"Sunday"
"Monday"
"Tuesday"
"Wednesday"
"Thursday"
"Friday"
"Saturday"
interrupt_window_duration_hours: number
maximum24
minimum1
interrupt_window_embargo_dates: array of string

List of dates (YYYY-MM-DD) when upgrades are blocked.

interrupt_window_hour_of_day: number
last_updated: string
notes: string
timezone: string
device: optional { id, serial_number }
id: string
serial_number: optional string
last_heartbeat: optional string
last_seen_version: optional string
license_key: optional string
ConnectorCreateResponse { id, activated, interrupt_window_days_of_week, 10 more }
id: string
activated: boolean
interrupt_window_days_of_week: array of "Sunday" or "Monday" or "Tuesday" or 4 more

Allowed days of the week for upgrades. Default is all days.

One of the following:
"Sunday"
"Monday"
"Tuesday"
"Wednesday"
"Thursday"
"Friday"
"Saturday"
interrupt_window_duration_hours: number
maximum24
minimum1
interrupt_window_embargo_dates: array of string

List of dates (YYYY-MM-DD) when upgrades are blocked.

interrupt_window_hour_of_day: number
last_updated: string
notes: string
timezone: string
device: optional { id, serial_number }
id: string
serial_number: optional string
last_heartbeat: optional string
last_seen_version: optional string
license_key: optional string
ConnectorUpdateResponse { id, activated, interrupt_window_days_of_week, 10 more }
id: string
activated: boolean
interrupt_window_days_of_week: array of "Sunday" or "Monday" or "Tuesday" or 4 more

Allowed days of the week for upgrades. Default is all days.

One of the following:
"Sunday"
"Monday"
"Tuesday"
"Wednesday"
"Thursday"
"Friday"
"Saturday"
interrupt_window_duration_hours: number
maximum24
minimum1
interrupt_window_embargo_dates: array of string

List of dates (YYYY-MM-DD) when upgrades are blocked.

interrupt_window_hour_of_day: number
last_updated: string
notes: string
timezone: string
device: optional { id, serial_number }
id: string
serial_number: optional string
last_heartbeat: optional string
last_seen_version: optional string
license_key: optional string
ConnectorEditResponse { id, activated, interrupt_window_days_of_week, 10 more }
id: string
activated: boolean
interrupt_window_days_of_week: array of "Sunday" or "Monday" or "Tuesday" or 4 more

Allowed days of the week for upgrades. Default is all days.

One of the following:
"Sunday"
"Monday"
"Tuesday"
"Wednesday"
"Thursday"
"Friday"
"Saturday"
interrupt_window_duration_hours: number
maximum24
minimum1
interrupt_window_embargo_dates: array of string

List of dates (YYYY-MM-DD) when upgrades are blocked.

interrupt_window_hour_of_day: number
last_updated: string
notes: string
timezone: string
device: optional { id, serial_number }
id: string
serial_number: optional string
last_heartbeat: optional string
last_seen_version: optional string
license_key: optional string
ConnectorDeleteResponse { id, activated, interrupt_window_days_of_week, 10 more }
id: string
activated: boolean
interrupt_window_days_of_week: array of "Sunday" or "Monday" or "Tuesday" or 4 more

Allowed days of the week for upgrades. Default is all days.

One of the following:
"Sunday"
"Monday"
"Tuesday"
"Wednesday"
"Thursday"
"Friday"
"Saturday"
interrupt_window_duration_hours: number
maximum24
minimum1
interrupt_window_embargo_dates: array of string

List of dates (YYYY-MM-DD) when upgrades are blocked.

interrupt_window_hour_of_day: number
last_updated: string
notes: string
timezone: string
device: optional { id, serial_number }
id: string
serial_number: optional string
last_heartbeat: optional string
last_seen_version: optional string
license_key: optional string

Magic TransitConnectorsEvents

List Events
GET/accounts/{account_id}/magic/connectors/{connector_id}/telemetry/events
Get Event
GET/accounts/{account_id}/magic/connectors/{connector_id}/telemetry/events/{event_t}.{event_n}
ModelsExpand Collapse
EventListResponse { count, items, cursor }
count: number
items: array of { a, k, n, t }
a: number

Time the Event was collected (seconds since the Unix epoch)

k: string

Kind

n: number

Sequence number, used to order events with the same timestamp

t: number

Time the Event was recorded (seconds since the Unix epoch)

cursor: optional string
EventGetResponse { e, n, t, v }

Recorded Event

e: { k } or { k } or { k } or 13 more
One of the following:
Init { k }
k: "Init"

Initialized process

Leave { k }
k: "Leave"

Stopped process

StartAttestation { k }
k: "StartAttestation"

Started attestation

FinishAttestationSuccess { k }
k: "FinishAttestationSuccess"

Finished attestation

FinishAttestationFailure { k }
k: "FinishAttestationFailure"

Failed attestation

StartRotateCryptKey { k }
k: "StartRotateCryptKey"

Started crypt key rotation

FinishRotateCryptKeySuccess { k }
k: "FinishRotateCryptKeySuccess"

Finished crypt key rotation

FinishRotateCryptKeyFailure { k }
k: "FinishRotateCryptKeyFailure"

Failed crypt key rotation

StartRotatePki { k }
k: "StartRotatePki"

Started PKI rotation

FinishRotatePkiSuccess { k }
k: "FinishRotatePkiSuccess"

Finished PKI rotation

FinishRotatePkiFailure { k }
k: "FinishRotatePkiFailure"

Failed PKI rotation

StartUpgrade { k, url }
k: "StartUpgrade"

Started upgrade

url: string

Location of upgrade bundle

FinishUpgradeSuccess { k }
k: "FinishUpgradeSuccess"

Finished upgrade

FinishUpgradeFailure { k }
k: "FinishUpgradeFailure"

Failed upgrade

Reconcile { k }
k: "Reconcile"

Reconciled

ConfigureCloudflaredTunnel { k }
k: "ConfigureCloudflaredTunnel"

Configured Cloudflared tunnel

n: number

Sequence number, used to order events with the same timestamp

t: number

Time the Event was recorded (seconds since the Unix epoch)

v: optional string

Version

Magic TransitConnectorsEventsLatest

Get latest Events
GET/accounts/{account_id}/magic/connectors/{connector_id}/telemetry/events/latest
ModelsExpand Collapse
LatestListResponse { count, items }
count: number
items: array of { e, n, t, v }
e: { k } or { k } or { k } or 13 more
One of the following:
Init { k }
k: "Init"

Initialized process

Leave { k }
k: "Leave"

Stopped process

StartAttestation { k }
k: "StartAttestation"

Started attestation

FinishAttestationSuccess { k }
k: "FinishAttestationSuccess"

Finished attestation

FinishAttestationFailure { k }
k: "FinishAttestationFailure"

Failed attestation

StartRotateCryptKey { k }
k: "StartRotateCryptKey"

Started crypt key rotation

FinishRotateCryptKeySuccess { k }
k: "FinishRotateCryptKeySuccess"

Finished crypt key rotation

FinishRotateCryptKeyFailure { k }
k: "FinishRotateCryptKeyFailure"

Failed crypt key rotation

StartRotatePki { k }
k: "StartRotatePki"

Started PKI rotation

FinishRotatePkiSuccess { k }
k: "FinishRotatePkiSuccess"

Finished PKI rotation

FinishRotatePkiFailure { k }
k: "FinishRotatePkiFailure"

Failed PKI rotation

StartUpgrade { k, url }
k: "StartUpgrade"

Started upgrade

url: string

Location of upgrade bundle

FinishUpgradeSuccess { k }
k: "FinishUpgradeSuccess"

Finished upgrade

FinishUpgradeFailure { k }
k: "FinishUpgradeFailure"

Failed upgrade

Reconcile { k }
k: "Reconcile"

Reconciled

ConfigureCloudflaredTunnel { k }
k: "ConfigureCloudflaredTunnel"

Configured Cloudflared tunnel

n: number

Sequence number, used to order events with the same timestamp

t: number

Time the Event was recorded (seconds since the Unix epoch)

v: optional string

Version

Magic TransitConnectorsSnapshots

List Snapshots
GET/accounts/{account_id}/magic/connectors/{connector_id}/telemetry/snapshots
Get Snapshot
GET/accounts/{account_id}/magic/connectors/{connector_id}/telemetry/snapshots/{snapshot_t}
ModelsExpand Collapse
SnapshotListResponse { count, items, cursor }
count: number
items: array of { a, t }
a: number

Time the Snapshot was collected (seconds since the Unix epoch)

t: number

Time the Snapshot was recorded (seconds since the Unix epoch)

cursor: optional string
SnapshotGetResponse { count_reclaim_failures, count_reclaimed_paths, count_record_failed, 170 more }

Snapshot

count_reclaim_failures: number

Count of failures to reclaim space

count_reclaimed_paths: number

Count of reclaimed paths

count_record_failed: number

Count of failed snapshot recordings

count_transmit_failures: number

Count of failed snapshot transmissions

t: number

Time the Snapshot was recorded (seconds since the Unix epoch)

v: string

Version

bonds: optional array of { name, status }
name: string

Name of the network interface

status: string

Current status of the network interface

cpu_count: optional number

Count of processors/cores

cpu_pressure_10s: optional number

Percentage of time over a 10 second window that tasks were stalled

cpu_pressure_300s: optional number

Percentage of time over a 5 minute window that tasks were stalled

cpu_pressure_60s: optional number

Percentage of time over a 1 minute window that tasks were stalled

cpu_pressure_total_us: optional number

Total stall time (microseconds)

cpu_time_guest_ms: optional number

Time spent running a virtual CPU or guest OS (milliseconds)

cpu_time_guest_nice_ms: optional number

Time spent running a niced guest (milliseconds)

cpu_time_idle_ms: optional number

Time spent in idle state (milliseconds)

cpu_time_iowait_ms: optional number

Time spent wait for I/O to complete (milliseconds)

cpu_time_irq_ms: optional number

Time spent servicing interrupts (milliseconds)

cpu_time_nice_ms: optional number

Time spent in low-priority user mode (milliseconds)

cpu_time_softirq_ms: optional number

Time spent servicing softirqs (milliseconds)

cpu_time_steal_ms: optional number

Time stolen (milliseconds)

cpu_time_system_ms: optional number

Time spent in system mode (milliseconds)

cpu_time_user_ms: optional number

Time spent in user mode (milliseconds)

delta: optional number

Number of network operations applied during state transition

dhcp_leases: optional array of { client_id, expiry_time, hostname, 3 more }
client_id: string

Client ID of the device the IP Address was leased to

expiry_time: number

Expiry time of the DHCP lease (seconds since the Unix epoch)

hostname: string

Hostname of the device the IP Address was leased to

interface_name: string

Name of the network interface

ip_address: string

IP Address that was leased

mac_address: string

MAC Address of the device the IP Address was leased to

disks: optional array of { in_progress, major, merged, 17 more }
in_progress: number

I/Os currently in progress

major: number

Device major number

merged: number

Reads merged

minor: number

Device minor number

name: string

Device name

reads: number

Reads completed successfully

sectors_read: number

Sectors read successfully

sectors_written: number

Sectors written successfully

time_in_progress_ms: number

Time spent doing I/Os (milliseconds)

time_reading_ms: number

Time spent reading (milliseconds)

time_writing_ms: number

Time spent writing (milliseconds)

weighted_time_in_progress_ms: number

Weighted time spent doing I/Os (milliseconds)

writes: number

Writes completed

writes_merged: number

Writes merged

discards: optional number

Discards completed successfully

discards_merged: optional number

Discards merged

flushes: optional number

Flushes completed successfully

sectors_discarded: optional number

Sectors discarded

time_discarding_ms: optional number

Time spent discarding (milliseconds)

time_flushing_ms: optional number

Time spent flushing (milliseconds)

epsilon: optional number

Simulated number of network operations applied during state transition

ha_state: optional string

Name of high availability state

ha_value: optional number

Numeric value associated with high availability state (0 = disabled, 1 = active, 2 = standby, 3 = stopped, 4 = fault)

interfaces: optional array of { name, operstate, ip_addresses, speed }
name: string

Name of the network interface

operstate: string

UP/DOWN state of the network interface

ip_addresses: optional array of { interface_name, ip_address }
interface_name: string

Name of the network interface

ip_address: string

IP address of the network interface

speed: optional number

Speed of the network interface (bits per second)

io_pressure_full_10s: optional number

Percentage of time over a 10 second window that all tasks were stalled

io_pressure_full_300s: optional number

Percentage of time over a 5 minute window that all tasks were stalled

io_pressure_full_60s: optional number

Percentage of time over a 1 minute window that all tasks were stalled

io_pressure_full_total_us: optional number

Total stall time (microseconds)

io_pressure_some_10s: optional number

Percentage of time over a 10 second window that some tasks were stalled

io_pressure_some_300s: optional number

Percentage of time over a 3 minute window that some tasks were stalled

io_pressure_some_60s: optional number

Percentage of time over a 1 minute window that some tasks were stalled

io_pressure_some_total_us: optional number

Total stall time (microseconds)

kernel_btime: optional number

Boot time (seconds since Unix epoch)

kernel_ctxt: optional number

Number of context switches that the system underwent

kernel_processes: optional number

Number of forks since boot

kernel_processes_blocked: optional number

Number of processes blocked waiting for I/O

kernel_processes_running: optional number

Number of processes in runnable state

load_average_15m: optional number

The fifteen-minute load average

load_average_1m: optional number

The one-minute load average

load_average_5m: optional number

The five-minute load average

load_average_cur: optional number

Number of currently runnable kernel scheduling entities

load_average_max: optional number

Number of kernel scheduling entities that currently exist on the system

memory_active_bytes: optional number

Memory that has been used more recently

memory_anon_hugepages_bytes: optional number

Non-file backed huge pages mapped into user-space page tables

memory_anon_pages_bytes: optional number

Non-file backed pages mapped into user-space page tables

memory_available_bytes: optional number

Estimate of how much memory is available for starting new applications

memory_bounce_bytes: optional number

Memory used for block device bounce buffers

memory_buffers_bytes: optional number

Relatively temporary storage for raw disk blocks

memory_cached_bytes: optional number

In-memory cache for files read from the disk

memory_cma_free_bytes: optional number

Free CMA (Contiguous Memory Allocator) pages

memory_cma_total_bytes: optional number

Total CMA (Contiguous Memory Allocator) pages

memory_commit_limit_bytes: optional number

Total amount of memory currently available to be allocated on the system

memory_committed_as_bytes: optional number

Amount of memory presently allocated on the system

memory_dirty_bytes: optional number

Memory which is waiting to get written back to the disk

memory_free_bytes: optional number

The sum of LowFree and HighFree

memory_high_free_bytes: optional number

Amount of free highmem

memory_high_total_bytes: optional number

Total amount of highmem

memory_hugepages_free: optional number

The number of huge pages in the pool that are not yet allocated

memory_hugepages_rsvd: optional number

Number of huge pages for which a commitment has been made, but no allocation has yet been made

memory_hugepages_surp: optional number

Number of huge pages in the pool above the threshold

memory_hugepages_total: optional number

The size of the pool of huge pages

memory_hugepagesize_bytes: optional number

The size of huge pages

memory_inactive_bytes: optional number

Memory which has been less recently used

memory_k_reclaimable_bytes: optional number

Kernel allocations that the kernel will attempt to reclaim under memory pressure

memory_kernel_stack_bytes: optional number

Amount of memory allocated to kernel stacks

memory_low_free_bytes: optional number

Amount of free lowmem

memory_low_total_bytes: optional number

Total amount of lowmem

memory_mapped_bytes: optional number

Files which have been mapped into memory

memory_page_tables_bytes: optional number

Amount of memory dedicated to the lowest level of page tables

memory_per_cpu_bytes: optional number

Memory allocated to the per-cpu alloctor used to back per-cpu allocations

memory_pressure_full_10s: optional number

Percentage of time over a 10 second window that all tasks were stalled

memory_pressure_full_300s: optional number

Percentage of time over a 5 minute window that all tasks were stalled

memory_pressure_full_60s: optional number

Percentage of time over a 1 minute window that all tasks were stalled

memory_pressure_full_total_us: optional number

Total stall time (microseconds)

memory_pressure_some_10s: optional number

Percentage of time over a 10 second window that some tasks were stalled

memory_pressure_some_300s: optional number

Percentage of time over a 5 minute window that some tasks were stalled

memory_pressure_some_60s: optional number

Percentage of time over a 1 minute window that some tasks were stalled

memory_pressure_some_total_us: optional number

Total stall time (microseconds)

memory_s_reclaimable_bytes: optional number

Part of slab that can be reclaimed on memory pressure

memory_s_unreclaim_bytes: optional number

Part of slab that cannot be reclaimed on memory pressure

memory_secondary_page_tables_bytes: optional number

Amount of memory dedicated to the lowest level of page tables

memory_shmem_bytes: optional number

Amount of memory consumed by tmpfs

memory_shmem_hugepages_bytes: optional number

Memory used by shmem and tmpfs, allocated with huge pages

memory_shmem_pmd_mapped_bytes: optional number

Shared memory mapped into user space with huge pages

memory_slab_bytes: optional number

In-kernel data structures cache

memory_swap_cached_bytes: optional number

Memory swapped out and back in while still in swap file

memory_swap_free_bytes: optional number

Amount of swap space that is currently unused

memory_swap_total_bytes: optional number

Total amount of swap space available

memory_total_bytes: optional number

Total usable RAM

memory_vmalloc_chunk_bytes: optional number

Largest contiguous block of vmalloc area which is free

memory_vmalloc_total_bytes: optional number

Total size of vmalloc memory area

memory_vmalloc_used_bytes: optional number

Amount of vmalloc area which is used

memory_writeback_bytes: optional number

Memory which is actively being written back to the disk

memory_writeback_tmp_bytes: optional number

Memory used by FUSE for temporary writeback buffers

memory_z_swap_bytes: optional number

Memory consumed by the zswap backend, compressed

memory_z_swapped_bytes: optional number

Amount of anonymous memory stored in zswap, uncompressed

mounts: optional array of { file_system, kind, mount_point, 5 more }
file_system: string

File system on disk (EXT4, NTFS, etc.)

kind: string

Kind of disk (HDD, SSD, etc.)

mount_point: string

Path where disk is mounted

name: string

Name of the disk mount

available_bytes: optional number

Available disk size (bytes)

is_read_only: optional boolean

Determines whether the disk is read-only

is_removable: optional boolean

Determines whether the disk is removable

total_bytes: optional number

Total disk size (bytes)

netdevs: optional array of { name, recv_bytes, recv_compressed, 14 more }
name: string

Name of the network device

recv_bytes: number

Total bytes received

recv_compressed: number

Compressed packets received

recv_drop: number

Packets dropped

recv_errs: number

Bad packets received

recv_fifo: number

FIFO overruns

recv_frame: number

Frame alignment errors

recv_multicast: number

Multicast packets received

recv_packets: number

Total packets received

sent_bytes: number

Total bytes transmitted

sent_carrier: number

Number of packets not sent due to carrier errors

sent_colls: number

Number of collisions

sent_compressed: number

Number of compressed packets transmitted

sent_drop: number

Number of packets dropped during transmission

sent_errs: number

Number of transmission errors

sent_fifo: number

FIFO overruns

sent_packets: number

Total packets transmitted

platform: optional string

Platform identifier

snmp_icmp_in_addr_mask_reps: optional number

Number of ICMP Address Mask Reply messages received

snmp_icmp_in_addr_masks: optional number

Number of ICMP Address Mask Request messages received

snmp_icmp_in_csum_errors: optional number

Number of ICMP messages received with bad checksums

snmp_icmp_in_dest_unreachs: optional number

Number of ICMP Destination Unreachable messages received

snmp_icmp_in_echo_reps: optional number

Number of ICMP Echo Reply messages received

snmp_icmp_in_echos: optional number

Number of ICMP Echo (request) messages received

snmp_icmp_in_errors: optional number

Number of ICMP messages received with ICMP-specific errors

snmp_icmp_in_msgs: optional number

Number of ICMP messages received

snmp_icmp_in_parm_probs: optional number

Number of ICMP Parameter Problem messages received

snmp_icmp_in_redirects: optional number

Number of ICMP Redirect messages received

snmp_icmp_in_src_quenchs: optional number

Number of ICMP Source Quench messages received

snmp_icmp_in_time_excds: optional number

Number of ICMP Time Exceeded messages received

snmp_icmp_in_timestamp_reps: optional number

Number of ICMP Address Mask Request messages received

snmp_icmp_in_timestamps: optional number

Number of ICMP Timestamp (request) messages received

snmp_icmp_out_addr_mask_reps: optional number

Number of ICMP Address Mask Reply messages sent

snmp_icmp_out_addr_masks: optional number

Number of ICMP Address Mask Request messages sent

snmp_icmp_out_dest_unreachs: optional number

Number of ICMP Destination Unreachable messages sent

snmp_icmp_out_echo_reps: optional number

Number of ICMP Echo Reply messages sent

snmp_icmp_out_echos: optional number

Number of ICMP Echo (request) messages sent

snmp_icmp_out_errors: optional number

Number of ICMP messages which this entity did not send due to ICMP-specific errors

snmp_icmp_out_msgs: optional number

Number of ICMP messages attempted to send

snmp_icmp_out_parm_probs: optional number

Number of ICMP Parameter Problem messages sent

snmp_icmp_out_redirects: optional number

Number of ICMP Redirect messages sent

snmp_icmp_out_src_quenchs: optional number

Number of ICMP Source Quench messages sent

snmp_icmp_out_time_excds: optional number

Number of ICMP Time Exceeded messages sent

snmp_icmp_out_timestamp_reps: optional number

Number of ICMP Timestamp Reply messages sent

snmp_icmp_out_timestamps: optional number

Number of ICMP Timestamp (request) messages sent

snmp_ip_default_ttl: optional number

Default value of the Time-To-Live field of the IP header

snmp_ip_forw_datagrams: optional number

Number of datagrams forwarded to their final destination

snmp_ip_forwarding_enabled: optional boolean

Set when acting as an IP gateway

snmp_ip_frag_creates: optional number

Number of datagrams generated by fragmentation

snmp_ip_frag_fails: optional number

Number of datagrams discarded because fragmentation failed

snmp_ip_frag_oks: optional number

Number of datagrams successfully fragmented

snmp_ip_in_addr_errors: optional number

Number of input datagrams discarded due to errors in the IP address

snmp_ip_in_delivers: optional number

Number of input datagrams successfully delivered to IP user-protocols

snmp_ip_in_discards: optional number

Number of input datagrams otherwise discarded

snmp_ip_in_hdr_errors: optional number

Number of input datagrams discarded due to errors in the IP header

snmp_ip_in_receives: optional number

Number of input datagrams received from interfaces

snmp_ip_in_unknown_protos: optional number

Number of input datagrams discarded due unknown or unsupported protocol

snmp_ip_out_discards: optional number

Number of output datagrams otherwise discarded

snmp_ip_out_no_routes: optional number

Number of output datagrams discarded because no route matched

snmp_ip_out_requests: optional number

Number of datagrams supplied for transmission

snmp_ip_reasm_fails: optional number

Number of failures detected by the reassembly algorithm

snmp_ip_reasm_oks: optional number

Number of datagrams successfully reassembled

snmp_ip_reasm_reqds: optional number

Number of fragments received which needed to be reassembled

snmp_ip_reasm_timeout: optional number

Number of seconds fragments are held while awaiting reassembly

snmp_tcp_active_opens: optional number

Number of times TCP transitions to SYN-SENT from CLOSED

snmp_tcp_attempt_fails: optional number

Number of times TCP transitions to CLOSED from SYN-SENT or SYN-RCVD, plus transitions to LISTEN from SYN-RCVD

snmp_tcp_curr_estab: optional number

Number of TCP connections in ESTABLISHED or CLOSE-WAIT

snmp_tcp_estab_resets: optional number

Number of times TCP transitions to CLOSED from ESTABLISHED or CLOSE-WAIT

snmp_tcp_in_csum_errors: optional number

Number of TCP segments received with checksum errors

snmp_tcp_in_errs: optional number

Number of TCP segments received in error

snmp_tcp_in_segs: optional number

Number of TCP segments received

snmp_tcp_max_conn: optional number

Limit on the total number of TCP connections

snmp_tcp_out_rsts: optional number

Number of TCP segments sent with RST flag

snmp_tcp_out_segs: optional number

Number of TCP segments sent

snmp_tcp_passive_opens: optional number

Number of times TCP transitions to SYN-RCVD from LISTEN

snmp_tcp_retrans_segs: optional number

Number of TCP segments retransmitted

snmp_tcp_rto_max: optional number

Maximum value permitted by a TCP implementation for the retransmission timeout (milliseconds)

snmp_tcp_rto_min: optional number

Minimum value permitted by a TCP implementation for the retransmission timeout (milliseconds)

snmp_udp_in_datagrams: optional number

Number of UDP datagrams delivered to UDP applications

snmp_udp_in_errors: optional number

Number of UDP datagrams failed to be delivered for reasons other than lack of application at the destination port

snmp_udp_no_ports: optional number

Number of UDP datagrams received for which there was not application at the destination port

snmp_udp_out_datagrams: optional number

Number of UDP datagrams sent

system_boot_time_s: optional number

Boottime of the system (seconds since the Unix epoch)

thermals: optional array of { label, critical_celcius, current_celcius, max_celcius }
label: string

Sensor identifier for the component

critical_celcius: optional number

Critical failure temperature of the component (degrees Celsius)

current_celcius: optional number

Current temperature of the component (degrees Celsius)

max_celcius: optional number

Maximum temperature of the component (degrees Celsius)

tunnels: optional array of { health_state, health_value, interface_name, 4 more }
health_state: string

Name of tunnel health state (unknown, healthy, degraded, down)

health_value: number

Numeric value associated with tunnel state (0 = unknown, 1 = healthy, 2 = degraded, 3 = down)

interface_name: string

The tunnel interface name (i.e. xfrm1, xfrm3.99, etc.)

tunnel_id: string

Tunnel identifier

probed_mtu: optional number

MTU as measured between the two ends of the tunnel

recent_healthy_pings: optional number

Number of recent healthy pings for this tunnel

recent_unhealthy_pings: optional number

Number of recent unhealthy pings for this tunnel

uptime_idle_ms: optional number

Sum of how much time each core has spent idle

uptime_total_ms: optional number

Uptime of the system, including time spent in suspend

Magic TransitConnectorsSnapshotsLatest

Get latest Snapshots
GET/accounts/{account_id}/magic/connectors/{connector_id}/telemetry/snapshots/latest
ModelsExpand Collapse
LatestListResponse { count, items }
count: number
items: array of { count_reclaim_failures, count_reclaimed_paths, count_record_failed, 170 more }
count_reclaim_failures: number

Count of failures to reclaim space

count_reclaimed_paths: number

Count of reclaimed paths

count_record_failed: number

Count of failed snapshot recordings

count_transmit_failures: number

Count of failed snapshot transmissions

t: number

Time the Snapshot was recorded (seconds since the Unix epoch)

v: string

Version

bonds: optional array of { name, status }
name: string

Name of the network interface

status: string

Current status of the network interface

cpu_count: optional number

Count of processors/cores

cpu_pressure_10s: optional number

Percentage of time over a 10 second window that tasks were stalled

cpu_pressure_300s: optional number

Percentage of time over a 5 minute window that tasks were stalled

cpu_pressure_60s: optional number

Percentage of time over a 1 minute window that tasks were stalled

cpu_pressure_total_us: optional number

Total stall time (microseconds)

cpu_time_guest_ms: optional number

Time spent running a virtual CPU or guest OS (milliseconds)

cpu_time_guest_nice_ms: optional number

Time spent running a niced guest (milliseconds)

cpu_time_idle_ms: optional number

Time spent in idle state (milliseconds)

cpu_time_iowait_ms: optional number

Time spent wait for I/O to complete (milliseconds)

cpu_time_irq_ms: optional number

Time spent servicing interrupts (milliseconds)

cpu_time_nice_ms: optional number

Time spent in low-priority user mode (milliseconds)

cpu_time_softirq_ms: optional number

Time spent servicing softirqs (milliseconds)

cpu_time_steal_ms: optional number

Time stolen (milliseconds)

cpu_time_system_ms: optional number

Time spent in system mode (milliseconds)

cpu_time_user_ms: optional number

Time spent in user mode (milliseconds)

delta: optional number

Number of network operations applied during state transition

dhcp_leases: optional array of { client_id, expiry_time, hostname, 3 more }
client_id: string

Client ID of the device the IP Address was leased to

expiry_time: number

Expiry time of the DHCP lease (seconds since the Unix epoch)

hostname: string

Hostname of the device the IP Address was leased to

interface_name: string

Name of the network interface

ip_address: string

IP Address that was leased

mac_address: string

MAC Address of the device the IP Address was leased to

disks: optional array of { in_progress, major, merged, 17 more }
in_progress: number

I/Os currently in progress

major: number

Device major number

merged: number

Reads merged

minor: number

Device minor number

name: string

Device name

reads: number

Reads completed successfully

sectors_read: number

Sectors read successfully

sectors_written: number

Sectors written successfully

time_in_progress_ms: number

Time spent doing I/Os (milliseconds)

time_reading_ms: number

Time spent reading (milliseconds)

time_writing_ms: number

Time spent writing (milliseconds)

weighted_time_in_progress_ms: number

Weighted time spent doing I/Os (milliseconds)

writes: number

Writes completed

writes_merged: number

Writes merged

discards: optional number

Discards completed successfully

discards_merged: optional number

Discards merged

flushes: optional number

Flushes completed successfully

sectors_discarded: optional number

Sectors discarded

time_discarding_ms: optional number

Time spent discarding (milliseconds)

time_flushing_ms: optional number

Time spent flushing (milliseconds)

epsilon: optional number

Simulated number of network operations applied during state transition

ha_state: optional string

Name of high availability state

ha_value: optional number

Numeric value associated with high availability state (0 = disabled, 1 = active, 2 = standby, 3 = stopped, 4 = fault)

interfaces: optional array of { name, operstate, ip_addresses, speed }
name: string

Name of the network interface

operstate: string

UP/DOWN state of the network interface

ip_addresses: optional array of { interface_name, ip_address }
interface_name: string

Name of the network interface

ip_address: string

IP address of the network interface

speed: optional number

Speed of the network interface (bits per second)

io_pressure_full_10s: optional number

Percentage of time over a 10 second window that all tasks were stalled

io_pressure_full_300s: optional number

Percentage of time over a 5 minute window that all tasks were stalled

io_pressure_full_60s: optional number

Percentage of time over a 1 minute window that all tasks were stalled

io_pressure_full_total_us: optional number

Total stall time (microseconds)

io_pressure_some_10s: optional number

Percentage of time over a 10 second window that some tasks were stalled

io_pressure_some_300s: optional number

Percentage of time over a 3 minute window that some tasks were stalled

io_pressure_some_60s: optional number

Percentage of time over a 1 minute window that some tasks were stalled

io_pressure_some_total_us: optional number

Total stall time (microseconds)

kernel_btime: optional number

Boot time (seconds since Unix epoch)

kernel_ctxt: optional number

Number of context switches that the system underwent

kernel_processes: optional number

Number of forks since boot

kernel_processes_blocked: optional number

Number of processes blocked waiting for I/O

kernel_processes_running: optional number

Number of processes in runnable state

load_average_15m: optional number

The fifteen-minute load average

load_average_1m: optional number

The one-minute load average

load_average_5m: optional number

The five-minute load average

load_average_cur: optional number

Number of currently runnable kernel scheduling entities

load_average_max: optional number

Number of kernel scheduling entities that currently exist on the system

memory_active_bytes: optional number

Memory that has been used more recently

memory_anon_hugepages_bytes: optional number

Non-file backed huge pages mapped into user-space page tables

memory_anon_pages_bytes: optional number

Non-file backed pages mapped into user-space page tables

memory_available_bytes: optional number

Estimate of how much memory is available for starting new applications

memory_bounce_bytes: optional number

Memory used for block device bounce buffers

memory_buffers_bytes: optional number

Relatively temporary storage for raw disk blocks

memory_cached_bytes: optional number

In-memory cache for files read from the disk

memory_cma_free_bytes: optional number

Free CMA (Contiguous Memory Allocator) pages

memory_cma_total_bytes: optional number

Total CMA (Contiguous Memory Allocator) pages

memory_commit_limit_bytes: optional number

Total amount of memory currently available to be allocated on the system

memory_committed_as_bytes: optional number

Amount of memory presently allocated on the system

memory_dirty_bytes: optional number

Memory which is waiting to get written back to the disk

memory_free_bytes: optional number

The sum of LowFree and HighFree

memory_high_free_bytes: optional number

Amount of free highmem

memory_high_total_bytes: optional number

Total amount of highmem

memory_hugepages_free: optional number

The number of huge pages in the pool that are not yet allocated

memory_hugepages_rsvd: optional number

Number of huge pages for which a commitment has been made, but no allocation has yet been made

memory_hugepages_surp: optional number

Number of huge pages in the pool above the threshold

memory_hugepages_total: optional number

The size of the pool of huge pages

memory_hugepagesize_bytes: optional number

The size of huge pages

memory_inactive_bytes: optional number

Memory which has been less recently used

memory_k_reclaimable_bytes: optional number

Kernel allocations that the kernel will attempt to reclaim under memory pressure

memory_kernel_stack_bytes: optional number

Amount of memory allocated to kernel stacks

memory_low_free_bytes: optional number

Amount of free lowmem

memory_low_total_bytes: optional number

Total amount of lowmem

memory_mapped_bytes: optional number

Files which have been mapped into memory

memory_page_tables_bytes: optional number

Amount of memory dedicated to the lowest level of page tables

memory_per_cpu_bytes: optional number

Memory allocated to the per-cpu alloctor used to back per-cpu allocations

memory_pressure_full_10s: optional number

Percentage of time over a 10 second window that all tasks were stalled

memory_pressure_full_300s: optional number

Percentage of time over a 5 minute window that all tasks were stalled

memory_pressure_full_60s: optional number

Percentage of time over a 1 minute window that all tasks were stalled

memory_pressure_full_total_us: optional number

Total stall time (microseconds)

memory_pressure_some_10s: optional number

Percentage of time over a 10 second window that some tasks were stalled

memory_pressure_some_300s: optional number

Percentage of time over a 5 minute window that some tasks were stalled

memory_pressure_some_60s: optional number

Percentage of time over a 1 minute window that some tasks were stalled

memory_pressure_some_total_us: optional number

Total stall time (microseconds)

memory_s_reclaimable_bytes: optional number

Part of slab that can be reclaimed on memory pressure

memory_s_unreclaim_bytes: optional number

Part of slab that cannot be reclaimed on memory pressure

memory_secondary_page_tables_bytes: optional number

Amount of memory dedicated to the lowest level of page tables

memory_shmem_bytes: optional number

Amount of memory consumed by tmpfs

memory_shmem_hugepages_bytes: optional number

Memory used by shmem and tmpfs, allocated with huge pages

memory_shmem_pmd_mapped_bytes: optional number

Shared memory mapped into user space with huge pages

memory_slab_bytes: optional number

In-kernel data structures cache

memory_swap_cached_bytes: optional number

Memory swapped out and back in while still in swap file

memory_swap_free_bytes: optional number

Amount of swap space that is currently unused

memory_swap_total_bytes: optional number

Total amount of swap space available

memory_total_bytes: optional number

Total usable RAM

memory_vmalloc_chunk_bytes: optional number

Largest contiguous block of vmalloc area which is free

memory_vmalloc_total_bytes: optional number

Total size of vmalloc memory area

memory_vmalloc_used_bytes: optional number

Amount of vmalloc area which is used

memory_writeback_bytes: optional number

Memory which is actively being written back to the disk

memory_writeback_tmp_bytes: optional number

Memory used by FUSE for temporary writeback buffers

memory_z_swap_bytes: optional number

Memory consumed by the zswap backend, compressed

memory_z_swapped_bytes: optional number

Amount of anonymous memory stored in zswap, uncompressed

mounts: optional array of { file_system, kind, mount_point, 5 more }
file_system: string

File system on disk (EXT4, NTFS, etc.)

kind: string

Kind of disk (HDD, SSD, etc.)

mount_point: string

Path where disk is mounted

name: string

Name of the disk mount

available_bytes: optional number

Available disk size (bytes)

is_read_only: optional boolean

Determines whether the disk is read-only

is_removable: optional boolean

Determines whether the disk is removable

total_bytes: optional number

Total disk size (bytes)

netdevs: optional array of { name, recv_bytes, recv_compressed, 14 more }
name: string

Name of the network device

recv_bytes: number

Total bytes received

recv_compressed: number

Compressed packets received

recv_drop: number

Packets dropped

recv_errs: number

Bad packets received

recv_fifo: number

FIFO overruns

recv_frame: number

Frame alignment errors

recv_multicast: number

Multicast packets received

recv_packets: number

Total packets received

sent_bytes: number

Total bytes transmitted

sent_carrier: number

Number of packets not sent due to carrier errors

sent_colls: number

Number of collisions

sent_compressed: number

Number of compressed packets transmitted

sent_drop: number

Number of packets dropped during transmission

sent_errs: number

Number of transmission errors

sent_fifo: number

FIFO overruns

sent_packets: number

Total packets transmitted

platform: optional string

Platform identifier

snmp_icmp_in_addr_mask_reps: optional number

Number of ICMP Address Mask Reply messages received

snmp_icmp_in_addr_masks: optional number

Number of ICMP Address Mask Request messages received

snmp_icmp_in_csum_errors: optional number

Number of ICMP messages received with bad checksums

snmp_icmp_in_dest_unreachs: optional number

Number of ICMP Destination Unreachable messages received

snmp_icmp_in_echo_reps: optional number

Number of ICMP Echo Reply messages received

snmp_icmp_in_echos: optional number

Number of ICMP Echo (request) messages received

snmp_icmp_in_errors: optional number

Number of ICMP messages received with ICMP-specific errors

snmp_icmp_in_msgs: optional number

Number of ICMP messages received

snmp_icmp_in_parm_probs: optional number

Number of ICMP Parameter Problem messages received

snmp_icmp_in_redirects: optional number

Number of ICMP Redirect messages received

snmp_icmp_in_src_quenchs: optional number

Number of ICMP Source Quench messages received

snmp_icmp_in_time_excds: optional number

Number of ICMP Time Exceeded messages received

snmp_icmp_in_timestamp_reps: optional number

Number of ICMP Address Mask Request messages received

snmp_icmp_in_timestamps: optional number

Number of ICMP Timestamp (request) messages received

snmp_icmp_out_addr_mask_reps: optional number

Number of ICMP Address Mask Reply messages sent

snmp_icmp_out_addr_masks: optional number

Number of ICMP Address Mask Request messages sent

snmp_icmp_out_dest_unreachs: optional number

Number of ICMP Destination Unreachable messages sent

snmp_icmp_out_echo_reps: optional number

Number of ICMP Echo Reply messages sent

snmp_icmp_out_echos: optional number

Number of ICMP Echo (request) messages sent

snmp_icmp_out_errors: optional number

Number of ICMP messages which this entity did not send due to ICMP-specific errors

snmp_icmp_out_msgs: optional number

Number of ICMP messages attempted to send

snmp_icmp_out_parm_probs: optional number

Number of ICMP Parameter Problem messages sent

snmp_icmp_out_redirects: optional number

Number of ICMP Redirect messages sent

snmp_icmp_out_src_quenchs: optional number

Number of ICMP Source Quench messages sent

snmp_icmp_out_time_excds: optional number

Number of ICMP Time Exceeded messages sent

snmp_icmp_out_timestamp_reps: optional number

Number of ICMP Timestamp Reply messages sent

snmp_icmp_out_timestamps: optional number

Number of ICMP Timestamp (request) messages sent

snmp_ip_default_ttl: optional number

Default value of the Time-To-Live field of the IP header

snmp_ip_forw_datagrams: optional number

Number of datagrams forwarded to their final destination

snmp_ip_forwarding_enabled: optional boolean

Set when acting as an IP gateway

snmp_ip_frag_creates: optional number

Number of datagrams generated by fragmentation

snmp_ip_frag_fails: optional number

Number of datagrams discarded because fragmentation failed

snmp_ip_frag_oks: optional number

Number of datagrams successfully fragmented

snmp_ip_in_addr_errors: optional number

Number of input datagrams discarded due to errors in the IP address

snmp_ip_in_delivers: optional number

Number of input datagrams successfully delivered to IP user-protocols

snmp_ip_in_discards: optional number

Number of input datagrams otherwise discarded

snmp_ip_in_hdr_errors: optional number

Number of input datagrams discarded due to errors in the IP header

snmp_ip_in_receives: optional number

Number of input datagrams received from interfaces

snmp_ip_in_unknown_protos: optional number

Number of input datagrams discarded due unknown or unsupported protocol

snmp_ip_out_discards: optional number

Number of output datagrams otherwise discarded

snmp_ip_out_no_routes: optional number

Number of output datagrams discarded because no route matched

snmp_ip_out_requests: optional number

Number of datagrams supplied for transmission

snmp_ip_reasm_fails: optional number

Number of failures detected by the reassembly algorithm

snmp_ip_reasm_oks: optional number

Number of datagrams successfully reassembled

snmp_ip_reasm_reqds: optional number

Number of fragments received which needed to be reassembled

snmp_ip_reasm_timeout: optional number

Number of seconds fragments are held while awaiting reassembly

snmp_tcp_active_opens: optional number

Number of times TCP transitions to SYN-SENT from CLOSED

snmp_tcp_attempt_fails: optional number

Number of times TCP transitions to CLOSED from SYN-SENT or SYN-RCVD, plus transitions to LISTEN from SYN-RCVD

snmp_tcp_curr_estab: optional number

Number of TCP connections in ESTABLISHED or CLOSE-WAIT

snmp_tcp_estab_resets: optional number

Number of times TCP transitions to CLOSED from ESTABLISHED or CLOSE-WAIT

snmp_tcp_in_csum_errors: optional number

Number of TCP segments received with checksum errors

snmp_tcp_in_errs: optional number

Number of TCP segments received in error

snmp_tcp_in_segs: optional number

Number of TCP segments received

snmp_tcp_max_conn: optional number

Limit on the total number of TCP connections

snmp_tcp_out_rsts: optional number

Number of TCP segments sent with RST flag

snmp_tcp_out_segs: optional number

Number of TCP segments sent

snmp_tcp_passive_opens: optional number

Number of times TCP transitions to SYN-RCVD from LISTEN

snmp_tcp_retrans_segs: optional number

Number of TCP segments retransmitted

snmp_tcp_rto_max: optional number

Maximum value permitted by a TCP implementation for the retransmission timeout (milliseconds)

snmp_tcp_rto_min: optional number

Minimum value permitted by a TCP implementation for the retransmission timeout (milliseconds)

snmp_udp_in_datagrams: optional number

Number of UDP datagrams delivered to UDP applications

snmp_udp_in_errors: optional number

Number of UDP datagrams failed to be delivered for reasons other than lack of application at the destination port

snmp_udp_no_ports: optional number

Number of UDP datagrams received for which there was not application at the destination port

snmp_udp_out_datagrams: optional number

Number of UDP datagrams sent

system_boot_time_s: optional number

Boottime of the system (seconds since the Unix epoch)

thermals: optional array of { label, critical_celcius, current_celcius, max_celcius }
label: string

Sensor identifier for the component

critical_celcius: optional number

Critical failure temperature of the component (degrees Celsius)

current_celcius: optional number

Current temperature of the component (degrees Celsius)

max_celcius: optional number

Maximum temperature of the component (degrees Celsius)

tunnels: optional array of { health_state, health_value, interface_name, 4 more }
health_state: string

Name of tunnel health state (unknown, healthy, degraded, down)

health_value: number

Numeric value associated with tunnel state (0 = unknown, 1 = healthy, 2 = degraded, 3 = down)

interface_name: string

The tunnel interface name (i.e. xfrm1, xfrm3.99, etc.)

tunnel_id: string

Tunnel identifier

probed_mtu: optional number

MTU as measured between the two ends of the tunnel

recent_healthy_pings: optional number

Number of recent healthy pings for this tunnel

recent_unhealthy_pings: optional number

Number of recent unhealthy pings for this tunnel

uptime_idle_ms: optional number

Sum of how much time each core has spent idle

uptime_total_ms: optional number

Uptime of the system, including time spent in suspend

Magic TransitPCAPs

List packet capture requests
GET/accounts/{account_id}/pcaps
Get PCAP request
GET/accounts/{account_id}/pcaps/{pcap_id}
Create PCAP request
POST/accounts/{account_id}/pcaps
Stop full PCAP
PUT/accounts/{account_id}/pcaps/{pcap_id}/stop
ModelsExpand Collapse
PCAP { id, filter_v1, offset_time, 5 more }
id: optional string

The ID for the packet capture.

maxLength32
minLength32
filter_v1: optional PCAPFilter { destination_address, destination_port, protocol, 2 more }

The packet capture filter. When this field is empty, all packets are captured.

offset_time: optional string

The RFC 3339 offset timestamp from which to query backwards for packets. Must be within the last 24h. When this field is empty, defaults to time of request.

formatdate-time
status: optional "unknown" or "success" or "pending" or 5 more

The status of the packet capture request.

One of the following:
"unknown"
"success"
"pending"
"running"
"conversion_pending"
"conversion_running"
"complete"
"failed"
submitted: optional string

The RFC 3339 timestamp when the packet capture was created.

system: optional "magic-transit"

The system used to collect packet captures.

time_limit: optional number

The packet capture duration in seconds.

maximum300
minimum1
type: optional "simple" or "full"

The type of packet capture. Simple captures sampled packets, and full captures entire payloads and non-sampled packets.

One of the following:
"simple"
"full"
PCAPFilter { destination_address, destination_port, protocol, 2 more }

The packet capture filter. When this field is empty, all packets are captured.

destination_address: optional string

The destination IP address of the packet.

destination_port: optional number

The destination port of the packet.

protocol: optional number

The protocol number of the packet.

source_address: optional string

The source IP address of the packet.

source_port: optional number

The source port of the packet.

PCAPListResponse = PCAP { id, filter_v1, offset_time, 5 more } or { id, byte_limit, colo_name, 10 more }
One of the following:
PCAP { id, filter_v1, offset_time, 5 more }
id: optional string

The ID for the packet capture.

maxLength32
minLength32
filter_v1: optional PCAPFilter { destination_address, destination_port, protocol, 2 more }

The packet capture filter. When this field is empty, all packets are captured.

offset_time: optional string

The RFC 3339 offset timestamp from which to query backwards for packets. Must be within the last 24h. When this field is empty, defaults to time of request.

formatdate-time
status: optional "unknown" or "success" or "pending" or 5 more

The status of the packet capture request.

One of the following:
"unknown"
"success"
"pending"
"running"
"conversion_pending"
"conversion_running"
"complete"
"failed"
submitted: optional string

The RFC 3339 timestamp when the packet capture was created.

system: optional "magic-transit"

The system used to collect packet captures.

time_limit: optional number

The packet capture duration in seconds.

maximum300
minimum1
type: optional "simple" or "full"

The type of packet capture. Simple captures sampled packets, and full captures entire payloads and non-sampled packets.

One of the following:
"simple"
"full"
MagicVisibilityPCAPsPCAPsResponseFull { id, byte_limit, colo_name, 10 more }
id: optional string

The ID for the packet capture.

maxLength32
minLength32
byte_limit: optional number

The maximum number of bytes to capture. This field only applies to full packet captures.

maximum1000000000
minimum1
colo_name: optional string

The name of the data center used for the packet capture. This can be a specific colo (ord02) or a multi-colo name (ORD). This field only applies to full packet captures.

destination_conf: optional string

The full URI for the bucket. This field only applies to full packet captures.

error_message: optional string

An error message that describes why the packet capture failed. This field only applies to full packet captures.

filter_v1: optional PCAPFilter { destination_address, destination_port, protocol, 2 more }

The packet capture filter. When this field is empty, all packets are captured.

packets_captured: optional number

The number of packets captured.

status: optional "unknown" or "success" or "pending" or 5 more

The status of the packet capture request.

One of the following:
"unknown"
"success"
"pending"
"running"
"conversion_pending"
"conversion_running"
"complete"
"failed"
stop_requested: optional string

The RFC 3339 timestamp when stopping the packet capture was requested. This field only applies to full packet captures.

formatdate-time
submitted: optional string

The RFC 3339 timestamp when the packet capture was created.

system: optional "magic-transit"

The system used to collect packet captures.

time_limit: optional number

The packet capture duration in seconds.

maximum86400
minimum1
type: optional "simple" or "full"

The type of packet capture. Simple captures sampled packets, and full captures entire payloads and non-sampled packets.

One of the following:
"simple"
"full"
PCAPGetResponse = PCAP { id, filter_v1, offset_time, 5 more } or { id, byte_limit, colo_name, 10 more }
One of the following:
PCAP { id, filter_v1, offset_time, 5 more }
id: optional string

The ID for the packet capture.

maxLength32
minLength32
filter_v1: optional PCAPFilter { destination_address, destination_port, protocol, 2 more }

The packet capture filter. When this field is empty, all packets are captured.

offset_time: optional string

The RFC 3339 offset timestamp from which to query backwards for packets. Must be within the last 24h. When this field is empty, defaults to time of request.

formatdate-time
status: optional "unknown" or "success" or "pending" or 5 more

The status of the packet capture request.

One of the following:
"unknown"
"success"
"pending"
"running"
"conversion_pending"
"conversion_running"
"complete"
"failed"
submitted: optional string

The RFC 3339 timestamp when the packet capture was created.

system: optional "magic-transit"

The system used to collect packet captures.

time_limit: optional number

The packet capture duration in seconds.

maximum300
minimum1
type: optional "simple" or "full"

The type of packet capture. Simple captures sampled packets, and full captures entire payloads and non-sampled packets.

One of the following:
"simple"
"full"
MagicVisibilityPCAPsPCAPsResponseFull { id, byte_limit, colo_name, 10 more }
id: optional string

The ID for the packet capture.

maxLength32
minLength32
byte_limit: optional number

The maximum number of bytes to capture. This field only applies to full packet captures.

maximum1000000000
minimum1
colo_name: optional string

The name of the data center used for the packet capture. This can be a specific colo (ord02) or a multi-colo name (ORD). This field only applies to full packet captures.

destination_conf: optional string

The full URI for the bucket. This field only applies to full packet captures.

error_message: optional string

An error message that describes why the packet capture failed. This field only applies to full packet captures.

filter_v1: optional PCAPFilter { destination_address, destination_port, protocol, 2 more }

The packet capture filter. When this field is empty, all packets are captured.

packets_captured: optional number

The number of packets captured.

status: optional "unknown" or "success" or "pending" or 5 more

The status of the packet capture request.

One of the following:
"unknown"
"success"
"pending"
"running"
"conversion_pending"
"conversion_running"
"complete"
"failed"
stop_requested: optional string

The RFC 3339 timestamp when stopping the packet capture was requested. This field only applies to full packet captures.

formatdate-time
submitted: optional string

The RFC 3339 timestamp when the packet capture was created.

system: optional "magic-transit"

The system used to collect packet captures.

time_limit: optional number

The packet capture duration in seconds.

maximum86400
minimum1
type: optional "simple" or "full"

The type of packet capture. Simple captures sampled packets, and full captures entire payloads and non-sampled packets.

One of the following:
"simple"
"full"
PCAPCreateResponse = PCAP { id, filter_v1, offset_time, 5 more } or { id, byte_limit, colo_name, 10 more }
One of the following:
PCAP { id, filter_v1, offset_time, 5 more }
id: optional string

The ID for the packet capture.

maxLength32
minLength32
filter_v1: optional PCAPFilter { destination_address, destination_port, protocol, 2 more }

The packet capture filter. When this field is empty, all packets are captured.

offset_time: optional string

The RFC 3339 offset timestamp from which to query backwards for packets. Must be within the last 24h. When this field is empty, defaults to time of request.

formatdate-time
status: optional "unknown" or "success" or "pending" or 5 more

The status of the packet capture request.

One of the following:
"unknown"
"success"
"pending"
"running"
"conversion_pending"
"conversion_running"
"complete"
"failed"
submitted: optional string

The RFC 3339 timestamp when the packet capture was created.

system: optional "magic-transit"

The system used to collect packet captures.

time_limit: optional number

The packet capture duration in seconds.

maximum300
minimum1
type: optional "simple" or "full"

The type of packet capture. Simple captures sampled packets, and full captures entire payloads and non-sampled packets.

One of the following:
"simple"
"full"
MagicVisibilityPCAPsPCAPsResponseFull { id, byte_limit, colo_name, 10 more }
id: optional string

The ID for the packet capture.

maxLength32
minLength32
byte_limit: optional number

The maximum number of bytes to capture. This field only applies to full packet captures.

maximum1000000000
minimum1
colo_name: optional string

The name of the data center used for the packet capture. This can be a specific colo (ord02) or a multi-colo name (ORD). This field only applies to full packet captures.

destination_conf: optional string

The full URI for the bucket. This field only applies to full packet captures.

error_message: optional string

An error message that describes why the packet capture failed. This field only applies to full packet captures.

filter_v1: optional PCAPFilter { destination_address, destination_port, protocol, 2 more }

The packet capture filter. When this field is empty, all packets are captured.

packets_captured: optional number

The number of packets captured.

status: optional "unknown" or "success" or "pending" or 5 more

The status of the packet capture request.

One of the following:
"unknown"
"success"
"pending"
"running"
"conversion_pending"
"conversion_running"
"complete"
"failed"
stop_requested: optional string

The RFC 3339 timestamp when stopping the packet capture was requested. This field only applies to full packet captures.

formatdate-time
submitted: optional string

The RFC 3339 timestamp when the packet capture was created.

system: optional "magic-transit"

The system used to collect packet captures.

time_limit: optional number

The packet capture duration in seconds.

maximum86400
minimum1
type: optional "simple" or "full"

The type of packet capture. Simple captures sampled packets, and full captures entire payloads and non-sampled packets.

One of the following:
"simple"
"full"

Magic TransitPCAPsOwnership

List PCAPs Bucket Ownership
GET/accounts/{account_id}/pcaps/ownership
Add buckets for full packet captures
POST/accounts/{account_id}/pcaps/ownership
Delete buckets for full packet captures
DELETE/accounts/{account_id}/pcaps/ownership/{ownership_id}
Validate buckets for full packet captures
POST/accounts/{account_id}/pcaps/ownership/validate
ModelsExpand Collapse
Ownership { id, destination_conf, filename, 3 more }
id: string

The bucket ID associated with the packet captures API.

maxLength32
minLength32
destination_conf: string

The full URI for the bucket. This field only applies to full packet captures.

filename: string

The ownership challenge filename stored in the bucket.

status: "pending" or "success" or "failed"

The status of the ownership challenge. Can be pending, success or failed.

One of the following:
"pending"
"success"
"failed"
submitted: string

The RFC 3339 timestamp when the bucket was added to packet captures API.

validated: optional string

The RFC 3339 timestamp when the bucket was validated.

Magic TransitPCAPsDownload

Download Simple PCAP
GET/accounts/{account_id}/pcaps/{pcap_id}/download