Skip to content
Start here

Magic Transit

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

Determines whether to run healthchecks for a tunnel.

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

target?: MagicHealthCheckTarget { effective, saved } | 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?: 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?: string

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

string

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

HealthCheckRate = "low" | "mid" | "high"

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

One of the following:
"low"
"mid"
"high"
HealthCheckType = "reply" | "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
client.magicTransit.apps.list(AppListParams { account_id } params, RequestOptionsoptions?): SinglePage<AppListResponse>
GET/accounts/{account_id}/magic/apps
Create a new App
client.magicTransit.apps.create(AppCreateParams { account_id, name, type, 3 more } params, RequestOptionsoptions?): AppCreateResponse { account_app_id, hostnames, ip_subnets, 3 more } | null
POST/accounts/{account_id}/magic/apps
Update an App
client.magicTransit.apps.update(stringaccountAppId, AppUpdateParams { account_id, hostnames, ip_subnets, 3 more } params, RequestOptionsoptions?): AppUpdateResponse { account_app_id, hostnames, ip_subnets, 3 more } | null
PUT/accounts/{account_id}/magic/apps/{account_app_id}
Update an App
client.magicTransit.apps.edit(stringaccountAppId, AppEditParams { account_id, hostnames, ip_subnets, 3 more } params, RequestOptionsoptions?): AppEditResponse { account_app_id, hostnames, ip_subnets, 3 more } | null
PATCH/accounts/{account_id}/magic/apps/{account_app_id}
Delete Account App
client.magicTransit.apps.delete(stringaccountAppId, AppDeleteParams { account_id } params, RequestOptionsoptions?): AppDeleteResponse { account_app_id, hostnames, ip_subnets, 3 more } | null
DELETE/accounts/{account_id}/magic/apps/{account_app_id}
ModelsExpand Collapse
AppListResponse = MagicAccountApp { account_app_id, hostnames, ip_subnets, 3 more } | MagicManagedApp { 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?: Array<string>

FQDNs to associate with traffic decisions.

ip_subnets?: Array<string>

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

name?: string

Display name for the app.

source_subnets?: Array<string>

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

type?: 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?: Array<string>

FQDNs to associate with traffic decisions.

ip_subnets?: Array<string>

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

name?: string

Display name for the app.

source_subnets?: Array<string>

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

type?: 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?: Array<string>

FQDNs to associate with traffic decisions.

ip_subnets?: Array<string>

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

name?: string

Display name for the app.

source_subnets?: Array<string>

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

type?: 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?: Array<string>

FQDNs to associate with traffic decisions.

ip_subnets?: Array<string>

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

name?: string

Display name for the app.

source_subnets?: Array<string>

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

type?: 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?: Array<string>

FQDNs to associate with traffic decisions.

ip_subnets?: Array<string>

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

name?: string

Display name for the app.

source_subnets?: Array<string>

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

type?: 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?: Array<string>

FQDNs to associate with traffic decisions.

ip_subnets?: Array<string>

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

name?: string

Display name for the app.

source_subnets?: Array<string>

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

type?: string

Category of the app.

Magic TransitCf Interconnects

List interconnects
client.magicTransit.cfInterconnects.list(CfInterconnectListParams { account_id, xMagicNewHcTarget } params, RequestOptionsoptions?): CfInterconnectListResponse { interconnects }
GET/accounts/{account_id}/magic/cf_interconnects
List interconnect Details
client.magicTransit.cfInterconnects.get(stringcfInterconnectId, CfInterconnectGetParams { account_id, xMagicNewHcTarget } params, RequestOptionsoptions?): CfInterconnectGetResponse { interconnect }
GET/accounts/{account_id}/magic/cf_interconnects/{cf_interconnect_id}
Update interconnect
client.magicTransit.cfInterconnects.update(stringcfInterconnectId, CfInterconnectUpdateParams { account_id, automatic_return_routing, description, 7 more } params, RequestOptionsoptions?): CfInterconnectUpdateResponse { modified, modified_interconnect }
PUT/accounts/{account_id}/magic/cf_interconnects/{cf_interconnect_id}
Update multiple interconnects
client.magicTransit.cfInterconnects.bulkUpdate(CfInterconnectBulkUpdateParams { account_id, body, xMagicNewHcTarget } params, RequestOptionsoptions?): CfInterconnectBulkUpdateResponse { modified, modified_interconnects }
PUT/accounts/{account_id}/magic/cf_interconnects
ModelsExpand Collapse
CfInterconnectListResponse { interconnects }
interconnects?: Array<Interconnect>
id?: string

Identifier

maxLength32
automatic_return_routing?: boolean

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

colo_name?: string

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

created_on?: string

The date and time the tunnel was created.

formatdate-time
description?: string

An optional description of the interconnect.

gre?: GRE { cloudflare_endpoint }

The configuration specific to GRE interconnects.

cloudflare_endpoint?: string

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

health_check?: HealthCheck { enabled, rate, target, type }
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.

interface_address6?: 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?: string

The date and time the tunnel was last modified.

formatdate-time
mtu?: number

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

name?: string

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

virtual_port_reservation_id?: string

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

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

Identifier

maxLength32
automatic_return_routing?: boolean

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

colo_name?: string

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

created_on?: string

The date and time the tunnel was created.

formatdate-time
description?: string

An optional description of the interconnect.

gre?: GRE { cloudflare_endpoint }

The configuration specific to GRE interconnects.

cloudflare_endpoint?: string

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

health_check?: HealthCheck { enabled, rate, target, type }
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.

interface_address6?: 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?: string

The date and time the tunnel was last modified.

formatdate-time
mtu?: number

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

name?: string

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

virtual_port_reservation_id?: string

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

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

Identifier

maxLength32
automatic_return_routing?: boolean

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

colo_name?: string

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

created_on?: string

The date and time the tunnel was created.

formatdate-time
description?: string

An optional description of the interconnect.

gre?: GRE { cloudflare_endpoint }

The configuration specific to GRE interconnects.

cloudflare_endpoint?: string

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

health_check?: HealthCheck { enabled, rate, target, type }
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.

interface_address6?: 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?: string

The date and time the tunnel was last modified.

formatdate-time
mtu?: number

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

name?: string

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

virtual_port_reservation_id?: string

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

maxLength32
CfInterconnectBulkUpdateResponse { modified, modified_interconnects }
modified?: boolean
modified_interconnects?: Array<ModifiedInterconnect>
id?: string

Identifier

maxLength32
automatic_return_routing?: boolean

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

colo_name?: string

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

created_on?: string

The date and time the tunnel was created.

formatdate-time
description?: string

An optional description of the interconnect.

gre?: GRE { cloudflare_endpoint }

The configuration specific to GRE interconnects.

cloudflare_endpoint?: string

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

health_check?: HealthCheck { enabled, rate, target, type }
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.

interface_address6?: 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?: string

The date and time the tunnel was last modified.

formatdate-time
mtu?: number

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

name?: string

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

virtual_port_reservation_id?: string

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

maxLength32

Magic TransitGRE Tunnels

List GRE tunnels
client.magicTransit.greTunnels.list(GRETunnelListParams { account_id, xMagicNewHcTarget } params, RequestOptionsoptions?): GRETunnelListResponse { gre_tunnels }
GET/accounts/{account_id}/magic/gre_tunnels
List GRE Tunnel Details
client.magicTransit.greTunnels.get(stringgreTunnelId, GRETunnelGetParams { account_id, xMagicNewHcTarget } params, RequestOptionsoptions?): GRETunnelGetResponse { gre_tunnel }
GET/accounts/{account_id}/magic/gre_tunnels/{gre_tunnel_id}
Create a GRE tunnel
client.magicTransit.greTunnels.create(GRETunnelCreateParams { account_id, cloudflare_gre_endpoint, customer_gre_endpoint, 10 more } params, RequestOptionsoptions?): GRETunnelCreateResponse { id, cloudflare_gre_endpoint, customer_gre_endpoint, 12 more }
POST/accounts/{account_id}/magic/gre_tunnels
Update GRE Tunnel
client.magicTransit.greTunnels.update(stringgreTunnelId, GRETunnelUpdateParams { account_id, cloudflare_gre_endpoint, customer_gre_endpoint, 9 more } params, RequestOptionsoptions?): GRETunnelUpdateResponse { modified, modified_gre_tunnel }
PUT/accounts/{account_id}/magic/gre_tunnels/{gre_tunnel_id}
Delete GRE Tunnel
client.magicTransit.greTunnels.delete(stringgreTunnelId, GRETunnelDeleteParams { account_id, xMagicNewHcTarget } params, RequestOptionsoptions?): GRETunnelDeleteResponse { deleted, deleted_gre_tunnel }
DELETE/accounts/{account_id}/magic/gre_tunnels/{gre_tunnel_id}
Update multiple GRE tunnels
client.magicTransit.greTunnels.bulkUpdate(GRETunnelBulkUpdateParams { account_id, body, xMagicNewHcTarget } params, RequestOptionsoptions?): GRETunnelBulkUpdateResponse { modified, modified_gre_tunnels }
PUT/accounts/{account_id}/magic/gre_tunnels
ModelsExpand Collapse
GRETunnelListResponse { gre_tunnels }
gre_tunnels?: Array<GRETunnel>
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?: boolean

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

bgp?: BGP { customer_asn, extra_prefixes, md5_key }
customer_asn: number

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes?: Array<string>

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

md5_key?: 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?: BGPStatus { state, tcp_established, updated_at, 5 more }
state: "BGP_DOWN" | "BGP_UP" | "BGP_ESTABLISHING"
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: boolean
updated_at: string
formatdate-time
bgp_state?: string
cf_speaker_ip?: string
formatipv4
cf_speaker_port?: number
maximum65535
minimum1
customer_speaker_ip?: string
formatipv4
customer_speaker_port?: number
maximum65535
minimum1
created_on?: string

The date and time the tunnel was created.

formatdate-time
description?: string

An optional description of the GRE tunnel.

health_check?: HealthCheck { direction, enabled, rate, 2 more }
direction?: "unidirectional" | "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?: boolean

Determines whether to run healthchecks for a tunnel.

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

target?: MagicHealthCheckTarget { effective, saved } | 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?: 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?: string

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

string

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

interface_address6?: 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?: string

The date and time the tunnel was last modified.

formatdate-time
mtu?: number

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

ttl?: number

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

GRETunnelGetResponse { gre_tunnel }
gre_tunnel?: GRETunnel { 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?: boolean

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

bgp?: BGP { customer_asn, extra_prefixes, md5_key }
customer_asn: number

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes?: Array<string>

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

md5_key?: 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?: BGPStatus { state, tcp_established, updated_at, 5 more }
state: "BGP_DOWN" | "BGP_UP" | "BGP_ESTABLISHING"
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: boolean
updated_at: string
formatdate-time
bgp_state?: string
cf_speaker_ip?: string
formatipv4
cf_speaker_port?: number
maximum65535
minimum1
customer_speaker_ip?: string
formatipv4
customer_speaker_port?: number
maximum65535
minimum1
created_on?: string

The date and time the tunnel was created.

formatdate-time
description?: string

An optional description of the GRE tunnel.

health_check?: HealthCheck { direction, enabled, rate, 2 more }
direction?: "unidirectional" | "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?: boolean

Determines whether to run healthchecks for a tunnel.

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

target?: MagicHealthCheckTarget { effective, saved } | 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?: 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?: string

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

string

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

interface_address6?: 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?: string

The date and time the tunnel was last modified.

formatdate-time
mtu?: number

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

ttl?: 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?: boolean

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

bgp?: BGP { customer_asn, extra_prefixes, md5_key }
customer_asn: number

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes?: Array<string>

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

md5_key?: 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?: BGPStatus { state, tcp_established, updated_at, 5 more }
state: "BGP_DOWN" | "BGP_UP" | "BGP_ESTABLISHING"
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: boolean
updated_at: string
formatdate-time
bgp_state?: string
cf_speaker_ip?: string
formatipv4
cf_speaker_port?: number
maximum65535
minimum1
customer_speaker_ip?: string
formatipv4
customer_speaker_port?: number
maximum65535
minimum1
created_on?: string

The date and time the tunnel was created.

formatdate-time
description?: string

An optional description of the GRE tunnel.

health_check?: HealthCheck { direction, enabled, rate, 2 more }
direction?: "unidirectional" | "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?: boolean

Determines whether to run healthchecks for a tunnel.

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

target?: MagicHealthCheckTarget { effective, saved } | 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?: 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?: string

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

string

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

interface_address6?: 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?: string

The date and time the tunnel was last modified.

formatdate-time
mtu?: number

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

ttl?: number

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

GRETunnelUpdateResponse { modified, modified_gre_tunnel }
modified?: boolean
modified_gre_tunnel?: ModifiedGRETunnel { 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?: boolean

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

bgp?: BGP { customer_asn, extra_prefixes, md5_key }
customer_asn: number

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes?: Array<string>

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

md5_key?: 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?: BGPStatus { state, tcp_established, updated_at, 5 more }
state: "BGP_DOWN" | "BGP_UP" | "BGP_ESTABLISHING"
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: boolean
updated_at: string
formatdate-time
bgp_state?: string
cf_speaker_ip?: string
formatipv4
cf_speaker_port?: number
maximum65535
minimum1
customer_speaker_ip?: string
formatipv4
customer_speaker_port?: number
maximum65535
minimum1
created_on?: string

The date and time the tunnel was created.

formatdate-time
description?: string

An optional description of the GRE tunnel.

health_check?: HealthCheck { direction, enabled, rate, 2 more }
direction?: "unidirectional" | "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?: boolean

Determines whether to run healthchecks for a tunnel.

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

target?: MagicHealthCheckTarget { effective, saved } | 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?: 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?: string

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

string

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

interface_address6?: 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?: string

The date and time the tunnel was last modified.

formatdate-time
mtu?: number

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

ttl?: number

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

GRETunnelDeleteResponse { deleted, deleted_gre_tunnel }
deleted?: boolean
deleted_gre_tunnel?: DeletedGRETunnel { 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?: boolean

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

bgp?: BGP { customer_asn, extra_prefixes, md5_key }
customer_asn: number

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes?: Array<string>

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

md5_key?: 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?: BGPStatus { state, tcp_established, updated_at, 5 more }
state: "BGP_DOWN" | "BGP_UP" | "BGP_ESTABLISHING"
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: boolean
updated_at: string
formatdate-time
bgp_state?: string
cf_speaker_ip?: string
formatipv4
cf_speaker_port?: number
maximum65535
minimum1
customer_speaker_ip?: string
formatipv4
customer_speaker_port?: number
maximum65535
minimum1
created_on?: string

The date and time the tunnel was created.

formatdate-time
description?: string

An optional description of the GRE tunnel.

health_check?: HealthCheck { direction, enabled, rate, 2 more }
direction?: "unidirectional" | "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?: boolean

Determines whether to run healthchecks for a tunnel.

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

target?: MagicHealthCheckTarget { effective, saved } | 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?: 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?: string

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

string

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

interface_address6?: 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?: string

The date and time the tunnel was last modified.

formatdate-time
mtu?: number

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

ttl?: number

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

GRETunnelBulkUpdateResponse { modified, modified_gre_tunnels }
modified?: boolean
modified_gre_tunnels?: Array<ModifiedGRETunnel>
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?: boolean

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

bgp?: BGP { customer_asn, extra_prefixes, md5_key }
customer_asn: number

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes?: Array<string>

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

md5_key?: 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?: BGPStatus { state, tcp_established, updated_at, 5 more }
state: "BGP_DOWN" | "BGP_UP" | "BGP_ESTABLISHING"
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: boolean
updated_at: string
formatdate-time
bgp_state?: string
cf_speaker_ip?: string
formatipv4
cf_speaker_port?: number
maximum65535
minimum1
customer_speaker_ip?: string
formatipv4
customer_speaker_port?: number
maximum65535
minimum1
created_on?: string

The date and time the tunnel was created.

formatdate-time
description?: string

An optional description of the GRE tunnel.

health_check?: HealthCheck { direction, enabled, rate, 2 more }
direction?: "unidirectional" | "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?: boolean

Determines whether to run healthchecks for a tunnel.

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

target?: MagicHealthCheckTarget { effective, saved } | 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?: 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?: string

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

string

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

interface_address6?: 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?: string

The date and time the tunnel was last modified.

formatdate-time
mtu?: number

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

ttl?: number

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

Magic TransitIPSEC Tunnels

List IPsec tunnels
client.magicTransit.ipsecTunnels.list(IPSECTunnelListParams { account_id, xMagicNewHcTarget } params, RequestOptionsoptions?): IPSECTunnelListResponse { ipsec_tunnels }
GET/accounts/{account_id}/magic/ipsec_tunnels
List IPsec tunnel details
client.magicTransit.ipsecTunnels.get(stringipsecTunnelId, IPSECTunnelGetParams { account_id, xMagicNewHcTarget } params, RequestOptionsoptions?): IPSECTunnelGetResponse { ipsec_tunnel }
GET/accounts/{account_id}/magic/ipsec_tunnels/{ipsec_tunnel_id}
Create an IPsec tunnel
client.magicTransit.ipsecTunnels.create(IPSECTunnelCreateParams { account_id, cloudflare_endpoint, interface_address, 11 more } params, RequestOptionsoptions?): IPSECTunnelCreateResponse { id, cloudflare_endpoint, interface_address, 14 more }
POST/accounts/{account_id}/magic/ipsec_tunnels
Update IPsec Tunnel
client.magicTransit.ipsecTunnels.update(stringipsecTunnelId, IPSECTunnelUpdateParams { account_id, cloudflare_endpoint, interface_address, 11 more } params, RequestOptionsoptions?): IPSECTunnelUpdateResponse { modified, modified_ipsec_tunnel }
PUT/accounts/{account_id}/magic/ipsec_tunnels/{ipsec_tunnel_id}
Delete IPsec Tunnel
client.magicTransit.ipsecTunnels.delete(stringipsecTunnelId, IPSECTunnelDeleteParams { account_id, xMagicNewHcTarget } params, RequestOptionsoptions?): IPSECTunnelDeleteResponse { deleted, deleted_ipsec_tunnel }
DELETE/accounts/{account_id}/magic/ipsec_tunnels/{ipsec_tunnel_id}
Update multiple IPsec tunnels
client.magicTransit.ipsecTunnels.bulkUpdate(IPSECTunnelBulkUpdateParams { account_id, body, xMagicNewHcTarget } params, RequestOptionsoptions?): IPSECTunnelBulkUpdateResponse { modified, modified_ipsec_tunnels }
PUT/accounts/{account_id}/magic/ipsec_tunnels
Generate Pre Shared Key (PSK) for IPsec tunnels
client.magicTransit.ipsecTunnels.pskGenerate(stringipsecTunnelId, IPSECTunnelPSKGenerateParams { account_id, body } params, RequestOptionsoptions?): IPSECTunnelPSKGenerateResponse { ipsec_tunnel_id, psk, psk_metadata }
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?: string

The date and time the tunnel was last modified.

formatdate-time
IPSECTunnelListResponse { ipsec_tunnels }
ipsec_tunnels?: Array<IPSECTunnel>
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?: boolean

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

automatic_return_routing?: boolean

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

bgp?: BGP { customer_asn, extra_prefixes, md5_key }
customer_asn: number

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes?: Array<string>

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

md5_key?: 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?: BGPStatus { state, tcp_established, updated_at, 5 more }
state: "BGP_DOWN" | "BGP_UP" | "BGP_ESTABLISHING"
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: boolean
updated_at: string
formatdate-time
bgp_state?: string
cf_speaker_ip?: string
formatipv4
cf_speaker_port?: number
maximum65535
minimum1
customer_speaker_ip?: string
formatipv4
customer_speaker_port?: number
maximum65535
minimum1
created_on?: string

The date and time the tunnel was created.

formatdate-time
custom_remote_identities?: CustomRemoteIdentities { fqdn_id }
fqdn_id?: 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?: 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?: string

An optional description forthe IPsec tunnel.

health_check?: HealthCheck { direction, enabled, rate, 2 more }
direction?: "unidirectional" | "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?: boolean

Determines whether to run healthchecks for a tunnel.

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

target?: MagicHealthCheckTarget { effective, saved } | 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?: 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?: string

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

string

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

interface_address6?: 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?: string

The date and time the tunnel was last modified.

formatdate-time
psk_metadata?: PSKMetadata { last_generated_on }

The PSK metadata that includes when the PSK was generated.

replay_protection?: boolean

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

IPSECTunnelGetResponse { ipsec_tunnel }
ipsec_tunnel?: IPSECTunnel { 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?: boolean

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

automatic_return_routing?: boolean

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

bgp?: BGP { customer_asn, extra_prefixes, md5_key }
customer_asn: number

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes?: Array<string>

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

md5_key?: 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?: BGPStatus { state, tcp_established, updated_at, 5 more }
state: "BGP_DOWN" | "BGP_UP" | "BGP_ESTABLISHING"
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: boolean
updated_at: string
formatdate-time
bgp_state?: string
cf_speaker_ip?: string
formatipv4
cf_speaker_port?: number
maximum65535
minimum1
customer_speaker_ip?: string
formatipv4
customer_speaker_port?: number
maximum65535
minimum1
created_on?: string

The date and time the tunnel was created.

formatdate-time
custom_remote_identities?: CustomRemoteIdentities { fqdn_id }
fqdn_id?: 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?: 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?: string

An optional description forthe IPsec tunnel.

health_check?: HealthCheck { direction, enabled, rate, 2 more }
direction?: "unidirectional" | "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?: boolean

Determines whether to run healthchecks for a tunnel.

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

target?: MagicHealthCheckTarget { effective, saved } | 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?: 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?: string

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

string

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

interface_address6?: 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?: string

The date and time the tunnel was last modified.

formatdate-time
psk_metadata?: PSKMetadata { last_generated_on }

The PSK metadata that includes when the PSK was generated.

replay_protection?: 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?: boolean

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

automatic_return_routing?: boolean

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

bgp?: BGP { customer_asn, extra_prefixes, md5_key }
customer_asn: number

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes?: Array<string>

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

md5_key?: 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?: BGPStatus { state, tcp_established, updated_at, 5 more }
state: "BGP_DOWN" | "BGP_UP" | "BGP_ESTABLISHING"
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: boolean
updated_at: string
formatdate-time
bgp_state?: string
cf_speaker_ip?: string
formatipv4
cf_speaker_port?: number
maximum65535
minimum1
customer_speaker_ip?: string
formatipv4
customer_speaker_port?: number
maximum65535
minimum1
created_on?: string

The date and time the tunnel was created.

formatdate-time
custom_remote_identities?: CustomRemoteIdentities { fqdn_id }
fqdn_id?: 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?: 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?: string

An optional description forthe IPsec tunnel.

health_check?: HealthCheck { direction, enabled, rate, 2 more }
direction?: "unidirectional" | "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?: boolean

Determines whether to run healthchecks for a tunnel.

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

target?: MagicHealthCheckTarget { effective, saved } | 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?: 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?: string

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

string

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

interface_address6?: 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?: string

The date and time the tunnel was last modified.

formatdate-time
psk_metadata?: PSKMetadata { last_generated_on }

The PSK metadata that includes when the PSK was generated.

replay_protection?: boolean

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

IPSECTunnelUpdateResponse { modified, modified_ipsec_tunnel }
modified?: boolean
modified_ipsec_tunnel?: ModifiedIPSECTunnel { 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?: boolean

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

automatic_return_routing?: boolean

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

bgp?: BGP { customer_asn, extra_prefixes, md5_key }
customer_asn: number

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes?: Array<string>

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

md5_key?: 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?: BGPStatus { state, tcp_established, updated_at, 5 more }
state: "BGP_DOWN" | "BGP_UP" | "BGP_ESTABLISHING"
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: boolean
updated_at: string
formatdate-time
bgp_state?: string
cf_speaker_ip?: string
formatipv4
cf_speaker_port?: number
maximum65535
minimum1
customer_speaker_ip?: string
formatipv4
customer_speaker_port?: number
maximum65535
minimum1
created_on?: string

The date and time the tunnel was created.

formatdate-time
custom_remote_identities?: CustomRemoteIdentities { fqdn_id }
fqdn_id?: 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?: 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?: string

An optional description forthe IPsec tunnel.

health_check?: HealthCheck { direction, enabled, rate, 2 more }
direction?: "unidirectional" | "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?: boolean

Determines whether to run healthchecks for a tunnel.

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

target?: MagicHealthCheckTarget { effective, saved } | 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?: 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?: string

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

string

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

interface_address6?: 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?: string

The date and time the tunnel was last modified.

formatdate-time
psk_metadata?: PSKMetadata { last_generated_on }

The PSK metadata that includes when the PSK was generated.

replay_protection?: boolean

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

IPSECTunnelDeleteResponse { deleted, deleted_ipsec_tunnel }
deleted?: boolean
deleted_ipsec_tunnel?: DeletedIPSECTunnel { 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?: boolean

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

automatic_return_routing?: boolean

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

bgp?: BGP { customer_asn, extra_prefixes, md5_key }
customer_asn: number

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes?: Array<string>

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

md5_key?: 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?: BGPStatus { state, tcp_established, updated_at, 5 more }
state: "BGP_DOWN" | "BGP_UP" | "BGP_ESTABLISHING"
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: boolean
updated_at: string
formatdate-time
bgp_state?: string
cf_speaker_ip?: string
formatipv4
cf_speaker_port?: number
maximum65535
minimum1
customer_speaker_ip?: string
formatipv4
customer_speaker_port?: number
maximum65535
minimum1
created_on?: string

The date and time the tunnel was created.

formatdate-time
custom_remote_identities?: CustomRemoteIdentities { fqdn_id }
fqdn_id?: 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?: 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?: string

An optional description forthe IPsec tunnel.

health_check?: HealthCheck { direction, enabled, rate, 2 more }
direction?: "unidirectional" | "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?: boolean

Determines whether to run healthchecks for a tunnel.

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

target?: MagicHealthCheckTarget { effective, saved } | 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?: 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?: string

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

string

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

interface_address6?: 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?: string

The date and time the tunnel was last modified.

formatdate-time
psk_metadata?: PSKMetadata { last_generated_on }

The PSK metadata that includes when the PSK was generated.

replay_protection?: boolean

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

IPSECTunnelBulkUpdateResponse { modified, modified_ipsec_tunnels }
modified?: boolean
modified_ipsec_tunnels?: Array<ModifiedIPSECTunnel>
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?: boolean

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

automatic_return_routing?: boolean

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

bgp?: BGP { customer_asn, extra_prefixes, md5_key }
customer_asn: number

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes?: Array<string>

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

md5_key?: 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?: BGPStatus { state, tcp_established, updated_at, 5 more }
state: "BGP_DOWN" | "BGP_UP" | "BGP_ESTABLISHING"
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: boolean
updated_at: string
formatdate-time
bgp_state?: string
cf_speaker_ip?: string
formatipv4
cf_speaker_port?: number
maximum65535
minimum1
customer_speaker_ip?: string
formatipv4
customer_speaker_port?: number
maximum65535
minimum1
created_on?: string

The date and time the tunnel was created.

formatdate-time
custom_remote_identities?: CustomRemoteIdentities { fqdn_id }
fqdn_id?: 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?: 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?: string

An optional description forthe IPsec tunnel.

health_check?: HealthCheck { direction, enabled, rate, 2 more }
direction?: "unidirectional" | "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?: boolean

Determines whether to run healthchecks for a tunnel.

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

target?: MagicHealthCheckTarget { effective, saved } | 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?: 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?: string

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

string

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

interface_address6?: 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?: string

The date and time the tunnel was last modified.

formatdate-time
psk_metadata?: PSKMetadata { last_generated_on }

The PSK metadata that includes when the PSK was generated.

replay_protection?: 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?: string

Identifier

maxLength32
psk?: string

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

psk_metadata?: PSKMetadata { last_generated_on }

The PSK metadata that includes when the PSK was generated.

Magic TransitRoutes

List Routes
client.magicTransit.routes.list(RouteListParams { account_id } params, RequestOptionsoptions?): RouteListResponse { routes }
GET/accounts/{account_id}/magic/routes
Route Details
client.magicTransit.routes.get(stringrouteId, RouteGetParams { account_id } params, RequestOptionsoptions?): RouteGetResponse { route }
GET/accounts/{account_id}/magic/routes/{route_id}
Create a Route
client.magicTransit.routes.create(RouteCreateParams { account_id, nexthop, prefix, 4 more } params, RequestOptionsoptions?): RouteCreateResponse { id, nexthop, prefix, 6 more }
POST/accounts/{account_id}/magic/routes
Update Route
client.magicTransit.routes.update(stringrouteId, RouteUpdateParams { account_id, nexthop, prefix, 4 more } params, RequestOptionsoptions?): RouteUpdateResponse { modified, modified_route }
PUT/accounts/{account_id}/magic/routes/{route_id}
Delete Route
client.magicTransit.routes.delete(stringrouteId, RouteDeleteParams { account_id } params, RequestOptionsoptions?): RouteDeleteResponse { deleted, deleted_route }
DELETE/accounts/{account_id}/magic/routes/{route_id}
Update Many Routes
client.magicTransit.routes.bulkUpdate(RouteBulkUpdateParams { account_id, routes } params, RequestOptionsoptions?): RouteBulkUpdateResponse { modified, modified_routes }
PUT/accounts/{account_id}/magic/routes
Delete Many Routes
client.magicTransit.routes.empty(RouteEmptyParams { account_id } params, RequestOptionsoptions?): RouteEmptyResponse { deleted, deleted_routes }
DELETE/accounts/{account_id}/magic/routes
ModelsExpand Collapse
Scope { colo_names, colo_regions }

Used only for ECMP routes.

colo_names?: Array<string>

List of colo names for the ECMP scope.

colo_regions?: Array<string>

List of colo regions for the ECMP scope.

RouteListResponse { routes }
routes?: Array<Route>
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?: string

When the route was created.

formatdate-time
description?: string

An optional human provided description of the static route.

modified_on?: string

When the route was last modified.

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

Used only for ECMP routes.

weight?: number

Optional weight of the ECMP scope - if provided.

RouteGetResponse { route }
route?: Route { 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?: string

When the route was created.

formatdate-time
description?: string

An optional human provided description of the static route.

modified_on?: string

When the route was last modified.

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

Used only for ECMP routes.

weight?: 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?: string

When the route was created.

formatdate-time
description?: string

An optional human provided description of the static route.

modified_on?: string

When the route was last modified.

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

Used only for ECMP routes.

weight?: number

Optional weight of the ECMP scope - if provided.

RouteUpdateResponse { modified, modified_route }
modified?: boolean
modified_route?: ModifiedRoute { 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?: string

When the route was created.

formatdate-time
description?: string

An optional human provided description of the static route.

modified_on?: string

When the route was last modified.

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

Used only for ECMP routes.

weight?: number

Optional weight of the ECMP scope - if provided.

RouteDeleteResponse { deleted, deleted_route }
deleted?: boolean
deleted_route?: DeletedRoute { 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?: string

When the route was created.

formatdate-time
description?: string

An optional human provided description of the static route.

modified_on?: string

When the route was last modified.

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

Used only for ECMP routes.

weight?: number

Optional weight of the ECMP scope - if provided.

RouteBulkUpdateResponse { modified, modified_routes }
modified?: boolean
modified_routes?: Array<ModifiedRoute>
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?: string

When the route was created.

formatdate-time
description?: string

An optional human provided description of the static route.

modified_on?: string

When the route was last modified.

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

Used only for ECMP routes.

weight?: number

Optional weight of the ECMP scope - if provided.

RouteEmptyResponse { deleted, deleted_routes }
deleted?: boolean
deleted_routes?: Array<DeletedRoute>
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?: string

When the route was created.

formatdate-time
description?: string

An optional human provided description of the static route.

modified_on?: string

When the route was last modified.

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

Used only for ECMP routes.

weight?: number

Optional weight of the ECMP scope - if provided.

Magic TransitSites

List Sites
client.magicTransit.sites.list(SiteListParams { account_id, connectorid } params, RequestOptionsoptions?): SinglePage<Site { id, connector_id, description, 4 more } >
GET/accounts/{account_id}/magic/sites
Site Details
client.magicTransit.sites.get(stringsiteId, SiteGetParams { account_id, xMagicNewHcTarget } params, RequestOptionsoptions?): Site { id, connector_id, description, 4 more }
GET/accounts/{account_id}/magic/sites/{site_id}
Create a new Site
client.magicTransit.sites.create(SiteCreateParams { account_id, name, connector_id, 4 more } params, RequestOptionsoptions?): Site { id, connector_id, description, 4 more }
POST/accounts/{account_id}/magic/sites
Update Site
client.magicTransit.sites.update(stringsiteId, SiteUpdateParams { account_id, connector_id, description, 3 more } params, RequestOptionsoptions?): Site { id, connector_id, description, 4 more }
PUT/accounts/{account_id}/magic/sites/{site_id}
Patch Site
client.magicTransit.sites.edit(stringsiteId, SiteEditParams { account_id, connector_id, description, 3 more } params, RequestOptionsoptions?): Site { id, connector_id, description, 4 more }
PATCH/accounts/{account_id}/magic/sites/{site_id}
Delete Site
client.magicTransit.sites.delete(stringsiteId, SiteDeleteParams { account_id } params, RequestOptionsoptions?): Site { id, connector_id, description, 4 more }
DELETE/accounts/{account_id}/magic/sites/{site_id}
ModelsExpand Collapse
Site { id, connector_id, description, 4 more }
id?: string

Identifier

maxLength32
connector_id?: string

Magic Connector identifier tag.

description?: string
ha_mode?: boolean

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

location?: SiteLocation { lat, lon }

Location of site in latitude and longitude.

name?: string

The name of the site.

secondary_connector_id?: string

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

SiteLocation { lat, lon }

Location of site in latitude and longitude.

lat?: string

Latitude

lon?: string

Longitude

Magic TransitSitesApp Configuration

Magic TransitSitesACLs

List Site ACLs
client.magicTransit.sites.acls.list(stringsiteId, ACLListParams { account_id } params, RequestOptionsoptions?): SinglePage<ACL { id, description, forward_locally, 5 more } >
GET/accounts/{account_id}/magic/sites/{site_id}/acls
Site ACL Details
client.magicTransit.sites.acls.get(stringsiteId, stringaclId, ACLGetParams { account_id } params, RequestOptionsoptions?): ACL { id, description, forward_locally, 5 more }
GET/accounts/{account_id}/magic/sites/{site_id}/acls/{acl_id}
Create a new Site ACL
client.magicTransit.sites.acls.create(stringsiteId, ACLCreateParams { account_id, lan_1, lan_2, 5 more } params, RequestOptionsoptions?): ACL { id, description, forward_locally, 5 more }
POST/accounts/{account_id}/magic/sites/{site_id}/acls
Update Site ACL
client.magicTransit.sites.acls.update(stringsiteId, stringaclId, ACLUpdateParams { account_id, description, forward_locally, 5 more } params, RequestOptionsoptions?): ACL { id, description, forward_locally, 5 more }
PUT/accounts/{account_id}/magic/sites/{site_id}/acls/{acl_id}
Patch Site ACL
client.magicTransit.sites.acls.edit(stringsiteId, stringaclId, ACLEditParams { account_id, description, forward_locally, 5 more } params, RequestOptionsoptions?): ACL { id, description, forward_locally, 5 more }
PATCH/accounts/{account_id}/magic/sites/{site_id}/acls/{acl_id}
Delete Site ACL
client.magicTransit.sites.acls.delete(stringsiteId, stringaclId, ACLDeleteParams { account_id } params, RequestOptionsoptions?): ACL { id, description, forward_locally, 5 more }
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?: string

Identifier

maxLength32
description?: string

Description for the ACL.

forward_locally?: 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?: ACLConfiguration { lan_id, lan_name, port_ranges, 2 more }
lan_2?: ACLConfiguration { lan_id, lan_name, port_ranges, 2 more }
name?: string

The name of the ACL.

protocols?: Array<AllowedProtocol>
One of the following:
"tcp"
"udp"
"icmp"
unidirectional?: 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?: string

The name of the LAN based on the provided lan_id.

port_ranges?: Array<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?: Array<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?: Array<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" | "udp" | "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
client.magicTransit.sites.lans.list(stringsiteId, LANListParams { account_id } params, RequestOptionsoptions?): SinglePage<LAN { id, bond_id, ha_link, 9 more } >
GET/accounts/{account_id}/magic/sites/{site_id}/lans
Site LAN Details
client.magicTransit.sites.lans.get(stringsiteId, stringlanId, LANGetParams { account_id } params, RequestOptionsoptions?): LAN { id, bond_id, ha_link, 9 more }
GET/accounts/{account_id}/magic/sites/{site_id}/lans/{lan_id}
Create a new Site LAN
client.magicTransit.sites.lans.create(stringsiteId, LANCreateParams { account_id, bond_id, ha_link, 8 more } params, RequestOptionsoptions?): SinglePage<LAN { id, bond_id, ha_link, 9 more } >
POST/accounts/{account_id}/magic/sites/{site_id}/lans
Update Site LAN
client.magicTransit.sites.lans.update(stringsiteId, stringlanId, LANUpdateParams { account_id, bond_id, is_breakout, 7 more } params, RequestOptionsoptions?): LAN { id, bond_id, ha_link, 9 more }
PUT/accounts/{account_id}/magic/sites/{site_id}/lans/{lan_id}
Patch Site LAN
client.magicTransit.sites.lans.edit(stringsiteId, stringlanId, LANEditParams { account_id, bond_id, is_breakout, 7 more } params, RequestOptionsoptions?): LAN { id, bond_id, ha_link, 9 more }
PATCH/accounts/{account_id}/magic/sites/{site_id}/lans/{lan_id}
Delete Site LAN
client.magicTransit.sites.lans.delete(stringsiteId, stringlanId, LANDeleteParams { account_id } params, RequestOptionsoptions?): LAN { id, bond_id, ha_link, 9 more }
DELETE/accounts/{account_id}/magic/sites/{site_id}/lans/{lan_id}
ModelsExpand Collapse
DHCPRelay { server_addresses }
server_addresses?: Array<string>

List of DHCP server IPs.

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

A valid IPv4 address.

dhcp_pool_start?: string

A valid IPv4 address.

dns_server?: string

A valid IPv4 address.

dns_servers?: Array<string>
reservations?: Record<string, string>

Mapping of MAC addresses to IP addresses

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

Identifier

maxLength32
bond_id?: number
is_breakout?: boolean

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

is_prioritized?: boolean

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

name?: string
nat?: Nat { static_prefix }
physport?: number
routed_subnets?: Array<RoutedSubnet { next_hop, prefix, nat } >
next_hop: string

A valid IPv4 address.

prefix: string

A valid CIDR notation representing an IP range.

nat?: Nat { static_prefix }
site_id?: string

Identifier

maxLength32
static_addressing?: 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?: 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?: DHCPRelay { server_addresses }
dhcp_server?: DHCPServer { dhcp_pool_end, dhcp_pool_start, dns_server, 2 more }
secondary_address?: string

A valid CIDR notation representing an IP range.

virtual_address?: string

A valid CIDR notation representing an IP range.

Nat { static_prefix }
static_prefix?: 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?: Nat { static_prefix }

Magic TransitSitesWANs

List Site WANs
client.magicTransit.sites.wans.list(stringsiteId, WANListParams { account_id } params, RequestOptionsoptions?): SinglePage<WAN { id, health_check_rate, name, 5 more } >
GET/accounts/{account_id}/magic/sites/{site_id}/wans
Site WAN Details
client.magicTransit.sites.wans.get(stringsiteId, stringwanId, WANGetParams { account_id } params, RequestOptionsoptions?): WAN { id, health_check_rate, name, 5 more }
GET/accounts/{account_id}/magic/sites/{site_id}/wans/{wan_id}
Create a new Site WAN
client.magicTransit.sites.wans.create(stringsiteId, WANCreateParams { account_id, physport, name, 3 more } params, RequestOptionsoptions?): SinglePage<WAN { id, health_check_rate, name, 5 more } >
POST/accounts/{account_id}/magic/sites/{site_id}/wans
Update Site WAN
client.magicTransit.sites.wans.update(stringsiteId, stringwanId, WANUpdateParams { account_id, name, physport, 3 more } params, RequestOptionsoptions?): WAN { id, health_check_rate, name, 5 more }
PUT/accounts/{account_id}/magic/sites/{site_id}/wans/{wan_id}
Patch Site WAN
client.magicTransit.sites.wans.edit(stringsiteId, stringwanId, WANEditParams { account_id, name, physport, 3 more } params, RequestOptionsoptions?): WAN { id, health_check_rate, name, 5 more }
PATCH/accounts/{account_id}/magic/sites/{site_id}/wans/{wan_id}
Delete Site WAN
client.magicTransit.sites.wans.delete(stringsiteId, stringwanId, WANDeleteParams { account_id } params, RequestOptionsoptions?): WAN { id, health_check_rate, name, 5 more }
DELETE/accounts/{account_id}/magic/sites/{site_id}/wans/{wan_id}
ModelsExpand Collapse
WAN { id, health_check_rate, name, 5 more }
id?: string

Identifier

maxLength32
health_check_rate?: "low" | "mid" | "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?: string
physport?: number
priority?: number

Priority of WAN for traffic loadbalancing.

site_id?: string

Identifier

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

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

vlan_tag?: 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?: string

A valid CIDR notation representing an IP range.

Magic TransitConnectors

List Connectors
client.magicTransit.connectors.list(ConnectorListParams { account_id } params, RequestOptionsoptions?): SinglePage<ConnectorListResponse { id, activated, interrupt_window_days_of_week, 10 more } >
GET/accounts/{account_id}/magic/connectors
Fetch Connector
client.magicTransit.connectors.get(stringconnectorId, ConnectorGetParams { account_id } params, RequestOptionsoptions?): ConnectorGetResponse { id, activated, interrupt_window_days_of_week, 10 more }
GET/accounts/{account_id}/magic/connectors/{connector_id}
Add a connector to your account
client.magicTransit.connectors.create(ConnectorCreateParams { account_id, device, activated, 6 more } params, RequestOptionsoptions?): ConnectorCreateResponse { id, activated, interrupt_window_days_of_week, 10 more }
POST/accounts/{account_id}/magic/connectors
Replace Connector or Re-provision License Key
client.magicTransit.connectors.update(stringconnectorId, ConnectorUpdateParams { account_id, activated, interrupt_window_days_of_week, 6 more } params, RequestOptionsoptions?): ConnectorUpdateResponse { id, activated, interrupt_window_days_of_week, 10 more }
PUT/accounts/{account_id}/magic/connectors/{connector_id}
Edit Connector to update specific properties or Re-provision License Key
client.magicTransit.connectors.edit(stringconnectorId, ConnectorEditParams { account_id, activated, interrupt_window_days_of_week, 6 more } params, RequestOptionsoptions?): ConnectorEditResponse { id, activated, interrupt_window_days_of_week, 10 more }
PATCH/accounts/{account_id}/magic/connectors/{connector_id}
Remove a connector from your account
client.magicTransit.connectors.delete(stringconnectorId, ConnectorDeleteParams { account_id } params, RequestOptionsoptions?): ConnectorDeleteResponse { id, activated, interrupt_window_days_of_week, 10 more }
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<"Sunday" | "Monday" | "Tuesday" | 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<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?: Device { id, serial_number }
id: string
serial_number?: string
last_heartbeat?: string
last_seen_version?: string
license_key?: string
ConnectorGetResponse { id, activated, interrupt_window_days_of_week, 10 more }
id: string
activated: boolean
interrupt_window_days_of_week: Array<"Sunday" | "Monday" | "Tuesday" | 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<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?: Device { id, serial_number }
id: string
serial_number?: string
last_heartbeat?: string
last_seen_version?: string
license_key?: string
ConnectorCreateResponse { id, activated, interrupt_window_days_of_week, 10 more }
id: string
activated: boolean
interrupt_window_days_of_week: Array<"Sunday" | "Monday" | "Tuesday" | 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<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?: Device { id, serial_number }
id: string
serial_number?: string
last_heartbeat?: string
last_seen_version?: string
license_key?: string
ConnectorUpdateResponse { id, activated, interrupt_window_days_of_week, 10 more }
id: string
activated: boolean
interrupt_window_days_of_week: Array<"Sunday" | "Monday" | "Tuesday" | 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<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?: Device { id, serial_number }
id: string
serial_number?: string
last_heartbeat?: string
last_seen_version?: string
license_key?: string
ConnectorEditResponse { id, activated, interrupt_window_days_of_week, 10 more }
id: string
activated: boolean
interrupt_window_days_of_week: Array<"Sunday" | "Monday" | "Tuesday" | 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<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?: Device { id, serial_number }
id: string
serial_number?: string
last_heartbeat?: string
last_seen_version?: string
license_key?: string
ConnectorDeleteResponse { id, activated, interrupt_window_days_of_week, 10 more }
id: string
activated: boolean
interrupt_window_days_of_week: Array<"Sunday" | "Monday" | "Tuesday" | 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<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?: Device { id, serial_number }
id: string
serial_number?: string
last_heartbeat?: string
last_seen_version?: string
license_key?: string

Magic TransitConnectorsEvents

List Events
client.magicTransit.connectors.events.list(stringconnectorId, EventListParams { account_id, from, to, 3 more } params, RequestOptionsoptions?): EventListResponse { count, items, cursor }
GET/accounts/{account_id}/magic/connectors/{connector_id}/telemetry/events
Get Event
client.magicTransit.connectors.events.get(stringconnectorId, numbereventT, numbereventN, EventGetParams { account_id } params, RequestOptionsoptions?): EventGetResponse { e, n, t, v }
GET/accounts/{account_id}/magic/connectors/{connector_id}/telemetry/events/{event_t}.{event_n}
ModelsExpand Collapse
EventListResponse { count, items, cursor }
count: number
items: Array<Item>
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?: string
EventGetResponse { e, n, t, v }

Recorded Event

e: Init { k } | Leave { k } | StartAttestation { k } | 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?: string

Version

Magic TransitConnectorsEventsLatest

Get latest Events
client.magicTransit.connectors.events.latest.list(stringconnectorId, LatestListParams { account_id } params, RequestOptionsoptions?): LatestListResponse { count, items }
GET/accounts/{account_id}/magic/connectors/{connector_id}/telemetry/events/latest
ModelsExpand Collapse
LatestListResponse { count, items }
count: number
items: Array<Item>
e: Init { k } | Leave { k } | StartAttestation { k } | 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?: string

Version

Magic TransitConnectorsSnapshots

List Snapshots
client.magicTransit.connectors.snapshots.list(stringconnectorId, SnapshotListParams { account_id, from, to, 2 more } params, RequestOptionsoptions?): SnapshotListResponse { count, items, cursor }
GET/accounts/{account_id}/magic/connectors/{connector_id}/telemetry/snapshots
Get Snapshot
client.magicTransit.connectors.snapshots.get(stringconnectorId, numbersnapshotT, SnapshotGetParams { account_id } params, RequestOptionsoptions?): SnapshotGetResponse { count_reclaim_failures, count_reclaimed_paths, count_record_failed, 169 more }
GET/accounts/{account_id}/magic/connectors/{connector_id}/telemetry/snapshots/{snapshot_t}
ModelsExpand Collapse
SnapshotListResponse { count, items, cursor }
count: number
items: Array<Item>
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?: string
SnapshotGetResponse { count_reclaim_failures, count_reclaimed_paths, count_record_failed, 169 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?: Array<Bond>
name: string

Name of the network interface

status: string

Current status of the network interface

cpu_count?: number

Count of processors/cores

cpu_pressure_10s?: number

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

cpu_pressure_300s?: number

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

cpu_pressure_60s?: number

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

cpu_pressure_total_us?: number

Total stall time (microseconds)

cpu_time_guest_ms?: number

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

cpu_time_guest_nice_ms?: number

Time spent running a niced guest (milliseconds)

cpu_time_idle_ms?: number

Time spent in idle state (milliseconds)

cpu_time_iowait_ms?: number

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

cpu_time_irq_ms?: number

Time spent servicing interrupts (milliseconds)

cpu_time_nice_ms?: number

Time spent in low-priority user mode (milliseconds)

cpu_time_softirq_ms?: number

Time spent servicing softirqs (milliseconds)

cpu_time_steal_ms?: number

Time stolen (milliseconds)

cpu_time_system_ms?: number

Time spent in system mode (milliseconds)

cpu_time_user_ms?: number

Time spent in user mode (milliseconds)

delta?: number

Number of network operations applied during state transition

dhcp_leases?: Array<DHCPLease>
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?: Array<Disk>
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?: number

Discards completed successfully

discards_merged?: number

Discards merged

flushes?: number

Flushes completed successfully

sectors_discarded?: number

Sectors discarded

time_discarding_ms?: number

Time spent discarding (milliseconds)

time_flushing_ms?: number

Time spent flushing (milliseconds)

epsilon?: number

Simulated number of network operations applied during state transition

ha_state?: string

Name of high availability state

ha_value?: number

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

interfaces?: Array<Interface>
name: string

Name of the network interface

operstate: string

UP/DOWN state of the network interface

ip_addresses?: Array<IPAddress>
interface_name: string

Name of the network interface

ip_address: string

IP address of the network interface

speed?: number

Speed of the network interface (bits per second)

io_pressure_full_10s?: number

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

io_pressure_full_300s?: number

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

io_pressure_full_60s?: number

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

io_pressure_full_total_us?: number

Total stall time (microseconds)

io_pressure_some_10s?: number

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

io_pressure_some_300s?: number

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

io_pressure_some_60s?: number

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

io_pressure_some_total_us?: number

Total stall time (microseconds)

kernel_btime?: number

Boot time (seconds since Unix epoch)

kernel_ctxt?: number

Number of context switches that the system underwent

kernel_processes?: number

Number of forks since boot

kernel_processes_blocked?: number

Number of processes blocked waiting for I/O

kernel_processes_running?: number

Number of processes in runnable state

load_average_15m?: number

The fifteen-minute load average

load_average_1m?: number

The one-minute load average

load_average_5m?: number

The five-minute load average

load_average_cur?: number

Number of currently runnable kernel scheduling entities

load_average_max?: number

Number of kernel scheduling entities that currently exist on the system

memory_active_bytes?: number

Memory that has been used more recently

memory_anon_hugepages_bytes?: number

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

memory_anon_pages_bytes?: number

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

memory_available_bytes?: number

Estimate of how much memory is available for starting new applications

memory_bounce_bytes?: number

Memory used for block device bounce buffers

memory_buffers_bytes?: number

Relatively temporary storage for raw disk blocks

memory_cached_bytes?: number

In-memory cache for files read from the disk

memory_cma_free_bytes?: number

Free CMA (Contiguous Memory Allocator) pages

memory_cma_total_bytes?: number

Total CMA (Contiguous Memory Allocator) pages

memory_commit_limit_bytes?: number

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

memory_committed_as_bytes?: number

Amount of memory presently allocated on the system

memory_dirty_bytes?: number

Memory which is waiting to get written back to the disk

memory_free_bytes?: number

The sum of LowFree and HighFree

memory_high_free_bytes?: number

Amount of free highmem

memory_high_total_bytes?: number

Total amount of highmem

memory_hugepages_free?: number

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

memory_hugepages_rsvd?: number

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

memory_hugepages_surp?: number

Number of huge pages in the pool above the threshold

memory_hugepages_total?: number

The size of the pool of huge pages

memory_hugepagesize_bytes?: number

The size of huge pages

memory_inactive_bytes?: number

Memory which has been less recently used

memory_k_reclaimable_bytes?: number

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

memory_kernel_stack_bytes?: number

Amount of memory allocated to kernel stacks

memory_low_free_bytes?: number

Amount of free lowmem

memory_low_total_bytes?: number

Total amount of lowmem

memory_mapped_bytes?: number

Files which have been mapped into memory

memory_page_tables_bytes?: number

Amount of memory dedicated to the lowest level of page tables

memory_per_cpu_bytes?: number

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

memory_pressure_full_10s?: number

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

memory_pressure_full_300s?: number

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

memory_pressure_full_60s?: number

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

memory_pressure_full_total_us?: number

Total stall time (microseconds)

memory_pressure_some_10s?: number

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

memory_pressure_some_300s?: number

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

memory_pressure_some_60s?: number

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

memory_pressure_some_total_us?: number

Total stall time (microseconds)

memory_s_reclaimable_bytes?: number

Part of slab that can be reclaimed on memory pressure

memory_s_unreclaim_bytes?: number

Part of slab that cannot be reclaimed on memory pressure

memory_secondary_page_tables_bytes?: number

Amount of memory dedicated to the lowest level of page tables

memory_shmem_bytes?: number

Amount of memory consumed by tmpfs

memory_shmem_hugepages_bytes?: number

Memory used by shmem and tmpfs, allocated with huge pages

memory_shmem_pmd_mapped_bytes?: number

Shared memory mapped into user space with huge pages

memory_slab_bytes?: number

In-kernel data structures cache

memory_swap_cached_bytes?: number

Memory swapped out and back in while still in swap file

memory_swap_free_bytes?: number

Amount of swap space that is currently unused

memory_swap_total_bytes?: number

Total amount of swap space available

memory_total_bytes?: number

Total usable RAM

memory_vmalloc_chunk_bytes?: number

Largest contiguous block of vmalloc area which is free

memory_vmalloc_total_bytes?: number

Total size of vmalloc memory area

memory_vmalloc_used_bytes?: number

Amount of vmalloc area which is used

memory_writeback_bytes?: number

Memory which is actively being written back to the disk

memory_writeback_tmp_bytes?: number

Memory used by FUSE for temporary writeback buffers

memory_z_swap_bytes?: number

Memory consumed by the zswap backend, compressed

memory_z_swapped_bytes?: number

Amount of anonymous memory stored in zswap, uncompressed

mounts?: Array<Mount>
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?: number

Available disk size (bytes)

is_read_only?: boolean

Determines whether the disk is read-only

is_removable?: boolean

Determines whether the disk is removable

total_bytes?: number

Total disk size (bytes)

netdevs?: Array<Netdev>
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

snmp_icmp_in_addr_mask_reps?: number

Number of ICMP Address Mask Reply messages received

snmp_icmp_in_addr_masks?: number

Number of ICMP Address Mask Request messages received

snmp_icmp_in_csum_errors?: number

Number of ICMP messages received with bad checksums

snmp_icmp_in_dest_unreachs?: number

Number of ICMP Destination Unreachable messages received

snmp_icmp_in_echo_reps?: number

Number of ICMP Echo Reply messages received

snmp_icmp_in_echos?: number

Number of ICMP Echo (request) messages received

snmp_icmp_in_errors?: number

Number of ICMP messages received with ICMP-specific errors

snmp_icmp_in_msgs?: number

Number of ICMP messages received

snmp_icmp_in_parm_probs?: number

Number of ICMP Parameter Problem messages received

snmp_icmp_in_redirects?: number

Number of ICMP Redirect messages received

snmp_icmp_in_src_quenchs?: number

Number of ICMP Source Quench messages received

snmp_icmp_in_time_excds?: number

Number of ICMP Time Exceeded messages received

snmp_icmp_in_timestamp_reps?: number

Number of ICMP Address Mask Request messages received

snmp_icmp_in_timestamps?: number

Number of ICMP Timestamp (request) messages received

snmp_icmp_out_addr_mask_reps?: number

Number of ICMP Address Mask Reply messages sent

snmp_icmp_out_addr_masks?: number

Number of ICMP Address Mask Request messages sent

snmp_icmp_out_dest_unreachs?: number

Number of ICMP Destination Unreachable messages sent

snmp_icmp_out_echo_reps?: number

Number of ICMP Echo Reply messages sent

snmp_icmp_out_echos?: number

Number of ICMP Echo (request) messages sent

snmp_icmp_out_errors?: number

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

snmp_icmp_out_msgs?: number

Number of ICMP messages attempted to send

snmp_icmp_out_parm_probs?: number

Number of ICMP Parameter Problem messages sent

snmp_icmp_out_redirects?: number

Number of ICMP Redirect messages sent

snmp_icmp_out_src_quenchs?: number

Number of ICMP Source Quench messages sent

snmp_icmp_out_time_excds?: number

Number of ICMP Time Exceeded messages sent

snmp_icmp_out_timestamp_reps?: number

Number of ICMP Timestamp Reply messages sent

snmp_icmp_out_timestamps?: number

Number of ICMP Timestamp (request) messages sent

snmp_ip_default_ttl?: number

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

snmp_ip_forw_datagrams?: number

Number of datagrams forwarded to their final destination

snmp_ip_forwarding_enabled?: boolean

Set when acting as an IP gateway

snmp_ip_frag_creates?: number

Number of datagrams generated by fragmentation

snmp_ip_frag_fails?: number

Number of datagrams discarded because fragmentation failed

snmp_ip_frag_oks?: number

Number of datagrams successfully fragmented

snmp_ip_in_addr_errors?: number

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

snmp_ip_in_delivers?: number

Number of input datagrams successfully delivered to IP user-protocols

snmp_ip_in_discards?: number

Number of input datagrams otherwise discarded

snmp_ip_in_hdr_errors?: number

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

snmp_ip_in_receives?: number

Number of input datagrams received from interfaces

snmp_ip_in_unknown_protos?: number

Number of input datagrams discarded due unknown or unsupported protocol

snmp_ip_out_discards?: number

Number of output datagrams otherwise discarded

snmp_ip_out_no_routes?: number

Number of output datagrams discarded because no route matched

snmp_ip_out_requests?: number

Number of datagrams supplied for transmission

snmp_ip_reasm_fails?: number

Number of failures detected by the reassembly algorithm

snmp_ip_reasm_oks?: number

Number of datagrams successfully reassembled

snmp_ip_reasm_reqds?: number

Number of fragments received which needed to be reassembled

snmp_ip_reasm_timeout?: number

Number of seconds fragments are held while awaiting reassembly

snmp_tcp_active_opens?: number

Number of times TCP transitions to SYN-SENT from CLOSED

snmp_tcp_attempt_fails?: 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?: number

Number of TCP connections in ESTABLISHED or CLOSE-WAIT

snmp_tcp_estab_resets?: number

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

snmp_tcp_in_csum_errors?: number

Number of TCP segments received with checksum errors

snmp_tcp_in_errs?: number

Number of TCP segments received in error

snmp_tcp_in_segs?: number

Number of TCP segments received

snmp_tcp_max_conn?: number

Limit on the total number of TCP connections

snmp_tcp_out_rsts?: number

Number of TCP segments sent with RST flag

snmp_tcp_out_segs?: number

Number of TCP segments sent

snmp_tcp_passive_opens?: number

Number of times TCP transitions to SYN-RCVD from LISTEN

snmp_tcp_retrans_segs?: number

Number of TCP segments retransmitted

snmp_tcp_rto_max?: number

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

snmp_tcp_rto_min?: number

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

snmp_udp_in_datagrams?: number

Number of UDP datagrams delivered to UDP applications

snmp_udp_in_errors?: number

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

snmp_udp_no_ports?: number

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

snmp_udp_out_datagrams?: number

Number of UDP datagrams sent

system_boot_time_s?: number

Boottime of the system (seconds since the Unix epoch)

thermals?: Array<Thermal>
label: string

Sensor identifier for the component

critical_celcius?: number

Critical failure temperature of the component (degrees Celsius)

current_celcius?: number

Current temperature of the component (degrees Celsius)

max_celcius?: number

Maximum temperature of the component (degrees Celsius)

tunnels?: Array<Tunnel>
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?: number

MTU as measured between the two ends of the tunnel

recent_healthy_pings?: number

Number of recent healthy pings for this tunnel

recent_unhealthy_pings?: number

Number of recent unhealthy pings for this tunnel

uptime_idle_ms?: number

Sum of how much time each core has spent idle

uptime_total_ms?: number

Uptime of the system, including time spent in suspend

Magic TransitConnectorsSnapshotsLatest

Get latest Snapshots
client.magicTransit.connectors.snapshots.latest.list(stringconnectorId, LatestListParams { account_id } params, RequestOptionsoptions?): LatestListResponse { count, items }
GET/accounts/{account_id}/magic/connectors/{connector_id}/telemetry/snapshots/latest
ModelsExpand Collapse
LatestListResponse { count, items }
count: number
items: Array<Item>
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?: Array<Bond>
name: string

Name of the network interface

status: string

Current status of the network interface

cpu_count?: number

Count of processors/cores

cpu_pressure_10s?: number

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

cpu_pressure_300s?: number

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

cpu_pressure_60s?: number

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

cpu_pressure_total_us?: number

Total stall time (microseconds)

cpu_time_guest_ms?: number

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

cpu_time_guest_nice_ms?: number

Time spent running a niced guest (milliseconds)

cpu_time_idle_ms?: number

Time spent in idle state (milliseconds)

cpu_time_iowait_ms?: number

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

cpu_time_irq_ms?: number

Time spent servicing interrupts (milliseconds)

cpu_time_nice_ms?: number

Time spent in low-priority user mode (milliseconds)

cpu_time_softirq_ms?: number

Time spent servicing softirqs (milliseconds)

cpu_time_steal_ms?: number

Time stolen (milliseconds)

cpu_time_system_ms?: number

Time spent in system mode (milliseconds)

cpu_time_user_ms?: number

Time spent in user mode (milliseconds)

delta?: number

Number of network operations applied during state transition

dhcp_leases?: Array<DHCPLease>
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?: Array<Disk>
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?: number

Discards completed successfully

discards_merged?: number

Discards merged

flushes?: number

Flushes completed successfully

sectors_discarded?: number

Sectors discarded

time_discarding_ms?: number

Time spent discarding (milliseconds)

time_flushing_ms?: number

Time spent flushing (milliseconds)

epsilon?: number

Simulated number of network operations applied during state transition

ha_state?: string

Name of high availability state

ha_value?: number

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

interfaces?: Array<Interface>
name: string

Name of the network interface

operstate: string

UP/DOWN state of the network interface

ip_addresses?: Array<IPAddress>
interface_name: string

Name of the network interface

ip_address: string

IP address of the network interface

speed?: number

Speed of the network interface (bits per second)

io_pressure_full_10s?: number

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

io_pressure_full_300s?: number

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

io_pressure_full_60s?: number

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

io_pressure_full_total_us?: number

Total stall time (microseconds)

io_pressure_some_10s?: number

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

io_pressure_some_300s?: number

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

io_pressure_some_60s?: number

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

io_pressure_some_total_us?: number

Total stall time (microseconds)

kernel_btime?: number

Boot time (seconds since Unix epoch)

kernel_ctxt?: number

Number of context switches that the system underwent

kernel_processes?: number

Number of forks since boot

kernel_processes_blocked?: number

Number of processes blocked waiting for I/O

kernel_processes_running?: number

Number of processes in runnable state

load_average_15m?: number

The fifteen-minute load average

load_average_1m?: number

The one-minute load average

load_average_5m?: number

The five-minute load average

load_average_cur?: number

Number of currently runnable kernel scheduling entities

load_average_max?: number

Number of kernel scheduling entities that currently exist on the system

memory_active_bytes?: number

Memory that has been used more recently

memory_anon_hugepages_bytes?: number

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

memory_anon_pages_bytes?: number

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

memory_available_bytes?: number

Estimate of how much memory is available for starting new applications

memory_bounce_bytes?: number

Memory used for block device bounce buffers

memory_buffers_bytes?: number

Relatively temporary storage for raw disk blocks

memory_cached_bytes?: number

In-memory cache for files read from the disk

memory_cma_free_bytes?: number

Free CMA (Contiguous Memory Allocator) pages

memory_cma_total_bytes?: number

Total CMA (Contiguous Memory Allocator) pages

memory_commit_limit_bytes?: number

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

memory_committed_as_bytes?: number

Amount of memory presently allocated on the system

memory_dirty_bytes?: number

Memory which is waiting to get written back to the disk

memory_free_bytes?: number

The sum of LowFree and HighFree

memory_high_free_bytes?: number

Amount of free highmem

memory_high_total_bytes?: number

Total amount of highmem

memory_hugepages_free?: number

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

memory_hugepages_rsvd?: number

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

memory_hugepages_surp?: number

Number of huge pages in the pool above the threshold

memory_hugepages_total?: number

The size of the pool of huge pages

memory_hugepagesize_bytes?: number

The size of huge pages

memory_inactive_bytes?: number

Memory which has been less recently used

memory_k_reclaimable_bytes?: number

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

memory_kernel_stack_bytes?: number

Amount of memory allocated to kernel stacks

memory_low_free_bytes?: number

Amount of free lowmem

memory_low_total_bytes?: number

Total amount of lowmem

memory_mapped_bytes?: number

Files which have been mapped into memory

memory_page_tables_bytes?: number

Amount of memory dedicated to the lowest level of page tables

memory_per_cpu_bytes?: number

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

memory_pressure_full_10s?: number

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

memory_pressure_full_300s?: number

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

memory_pressure_full_60s?: number

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

memory_pressure_full_total_us?: number

Total stall time (microseconds)

memory_pressure_some_10s?: number

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

memory_pressure_some_300s?: number

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

memory_pressure_some_60s?: number

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

memory_pressure_some_total_us?: number

Total stall time (microseconds)

memory_s_reclaimable_bytes?: number

Part of slab that can be reclaimed on memory pressure

memory_s_unreclaim_bytes?: number

Part of slab that cannot be reclaimed on memory pressure

memory_secondary_page_tables_bytes?: number

Amount of memory dedicated to the lowest level of page tables

memory_shmem_bytes?: number

Amount of memory consumed by tmpfs

memory_shmem_hugepages_bytes?: number

Memory used by shmem and tmpfs, allocated with huge pages

memory_shmem_pmd_mapped_bytes?: number

Shared memory mapped into user space with huge pages

memory_slab_bytes?: number

In-kernel data structures cache

memory_swap_cached_bytes?: number

Memory swapped out and back in while still in swap file

memory_swap_free_bytes?: number

Amount of swap space that is currently unused

memory_swap_total_bytes?: number

Total amount of swap space available

memory_total_bytes?: number

Total usable RAM

memory_vmalloc_chunk_bytes?: number

Largest contiguous block of vmalloc area which is free

memory_vmalloc_total_bytes?: number

Total size of vmalloc memory area

memory_vmalloc_used_bytes?: number

Amount of vmalloc area which is used

memory_writeback_bytes?: number

Memory which is actively being written back to the disk

memory_writeback_tmp_bytes?: number

Memory used by FUSE for temporary writeback buffers

memory_z_swap_bytes?: number

Memory consumed by the zswap backend, compressed

memory_z_swapped_bytes?: number

Amount of anonymous memory stored in zswap, uncompressed

mounts?: Array<Mount>
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?: number

Available disk size (bytes)

is_read_only?: boolean

Determines whether the disk is read-only

is_removable?: boolean

Determines whether the disk is removable

total_bytes?: number

Total disk size (bytes)

netdevs?: Array<Netdev>
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

snmp_icmp_in_addr_mask_reps?: number

Number of ICMP Address Mask Reply messages received

snmp_icmp_in_addr_masks?: number

Number of ICMP Address Mask Request messages received

snmp_icmp_in_csum_errors?: number

Number of ICMP messages received with bad checksums

snmp_icmp_in_dest_unreachs?: number

Number of ICMP Destination Unreachable messages received

snmp_icmp_in_echo_reps?: number

Number of ICMP Echo Reply messages received

snmp_icmp_in_echos?: number

Number of ICMP Echo (request) messages received

snmp_icmp_in_errors?: number

Number of ICMP messages received with ICMP-specific errors

snmp_icmp_in_msgs?: number

Number of ICMP messages received

snmp_icmp_in_parm_probs?: number

Number of ICMP Parameter Problem messages received

snmp_icmp_in_redirects?: number

Number of ICMP Redirect messages received

snmp_icmp_in_src_quenchs?: number

Number of ICMP Source Quench messages received

snmp_icmp_in_time_excds?: number

Number of ICMP Time Exceeded messages received

snmp_icmp_in_timestamp_reps?: number

Number of ICMP Address Mask Request messages received

snmp_icmp_in_timestamps?: number

Number of ICMP Timestamp (request) messages received

snmp_icmp_out_addr_mask_reps?: number

Number of ICMP Address Mask Reply messages sent

snmp_icmp_out_addr_masks?: number

Number of ICMP Address Mask Request messages sent

snmp_icmp_out_dest_unreachs?: number

Number of ICMP Destination Unreachable messages sent

snmp_icmp_out_echo_reps?: number

Number of ICMP Echo Reply messages sent

snmp_icmp_out_echos?: number

Number of ICMP Echo (request) messages sent

snmp_icmp_out_errors?: number

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

snmp_icmp_out_msgs?: number

Number of ICMP messages attempted to send

snmp_icmp_out_parm_probs?: number

Number of ICMP Parameter Problem messages sent

snmp_icmp_out_redirects?: number

Number of ICMP Redirect messages sent

snmp_icmp_out_src_quenchs?: number

Number of ICMP Source Quench messages sent

snmp_icmp_out_time_excds?: number

Number of ICMP Time Exceeded messages sent

snmp_icmp_out_timestamp_reps?: number

Number of ICMP Timestamp Reply messages sent

snmp_icmp_out_timestamps?: number

Number of ICMP Timestamp (request) messages sent

snmp_ip_default_ttl?: number

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

snmp_ip_forw_datagrams?: number

Number of datagrams forwarded to their final destination

snmp_ip_forwarding_enabled?: boolean

Set when acting as an IP gateway

snmp_ip_frag_creates?: number

Number of datagrams generated by fragmentation

snmp_ip_frag_fails?: number

Number of datagrams discarded because fragmentation failed

snmp_ip_frag_oks?: number

Number of datagrams successfully fragmented

snmp_ip_in_addr_errors?: number

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

snmp_ip_in_delivers?: number

Number of input datagrams successfully delivered to IP user-protocols

snmp_ip_in_discards?: number

Number of input datagrams otherwise discarded

snmp_ip_in_hdr_errors?: number

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

snmp_ip_in_receives?: number

Number of input datagrams received from interfaces

snmp_ip_in_unknown_protos?: number

Number of input datagrams discarded due unknown or unsupported protocol

snmp_ip_out_discards?: number

Number of output datagrams otherwise discarded

snmp_ip_out_no_routes?: number

Number of output datagrams discarded because no route matched

snmp_ip_out_requests?: number

Number of datagrams supplied for transmission

snmp_ip_reasm_fails?: number

Number of failures detected by the reassembly algorithm

snmp_ip_reasm_oks?: number

Number of datagrams successfully reassembled

snmp_ip_reasm_reqds?: number

Number of fragments received which needed to be reassembled

snmp_ip_reasm_timeout?: number

Number of seconds fragments are held while awaiting reassembly

snmp_tcp_active_opens?: number

Number of times TCP transitions to SYN-SENT from CLOSED

snmp_tcp_attempt_fails?: 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?: number

Number of TCP connections in ESTABLISHED or CLOSE-WAIT

snmp_tcp_estab_resets?: number

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

snmp_tcp_in_csum_errors?: number

Number of TCP segments received with checksum errors

snmp_tcp_in_errs?: number

Number of TCP segments received in error

snmp_tcp_in_segs?: number

Number of TCP segments received

snmp_tcp_max_conn?: number

Limit on the total number of TCP connections

snmp_tcp_out_rsts?: number

Number of TCP segments sent with RST flag

snmp_tcp_out_segs?: number

Number of TCP segments sent

snmp_tcp_passive_opens?: number

Number of times TCP transitions to SYN-RCVD from LISTEN

snmp_tcp_retrans_segs?: number

Number of TCP segments retransmitted

snmp_tcp_rto_max?: number

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

snmp_tcp_rto_min?: number

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

snmp_udp_in_datagrams?: number

Number of UDP datagrams delivered to UDP applications

snmp_udp_in_errors?: number

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

snmp_udp_no_ports?: number

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

snmp_udp_out_datagrams?: number

Number of UDP datagrams sent

system_boot_time_s?: number

Boottime of the system (seconds since the Unix epoch)

thermals?: Array<Thermal>
label: string

Sensor identifier for the component

critical_celcius?: number

Critical failure temperature of the component (degrees Celsius)

current_celcius?: number

Current temperature of the component (degrees Celsius)

max_celcius?: number

Maximum temperature of the component (degrees Celsius)

tunnels?: Array<Tunnel>
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?: number

MTU as measured between the two ends of the tunnel

recent_healthy_pings?: number

Number of recent healthy pings for this tunnel

recent_unhealthy_pings?: number

Number of recent unhealthy pings for this tunnel

uptime_idle_ms?: number

Sum of how much time each core has spent idle

uptime_total_ms?: number

Uptime of the system, including time spent in suspend

Magic TransitPCAPs

List packet capture requests
client.magicTransit.pcaps.list(PCAPListParams { account_id } params, RequestOptionsoptions?): SinglePage<PCAPListResponse>
GET/accounts/{account_id}/pcaps
Get PCAP request
client.magicTransit.pcaps.get(stringpcapId, PCAPGetParams { account_id } params, RequestOptionsoptions?): PCAPGetResponse
GET/accounts/{account_id}/pcaps/{pcap_id}
Create PCAP request
client.magicTransit.pcaps.create(PCAPCreateParamsparams, RequestOptionsoptions?): PCAPCreateResponse
POST/accounts/{account_id}/pcaps
Stop full PCAP
client.magicTransit.pcaps.stop(stringpcapId, PCAPStopParams { account_id } params, RequestOptionsoptions?): void
PUT/accounts/{account_id}/pcaps/{pcap_id}/stop
ModelsExpand Collapse
PCAP { id, filter_v1, offset_time, 5 more }
id?: string

The ID for the packet capture.

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

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

offset_time?: 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?: "unknown" | "success" | "pending" | 5 more

The status of the packet capture request.

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

The RFC 3339 timestamp when the packet capture was created.

system?: "magic-transit"

The system used to collect packet captures.

time_limit?: number

The packet capture duration in seconds.

maximum300
minimum1
type?: "simple" | "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?: string

The destination IP address of the packet.

destination_port?: number

The destination port of the packet.

protocol?: number

The protocol number of the packet.

source_address?: string

The source IP address of the packet.

source_port?: number

The source port of the packet.

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

The ID for the packet capture.

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

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

offset_time?: 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?: "unknown" | "success" | "pending" | 5 more

The status of the packet capture request.

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

The RFC 3339 timestamp when the packet capture was created.

system?: "magic-transit"

The system used to collect packet captures.

time_limit?: number

The packet capture duration in seconds.

maximum300
minimum1
type?: "simple" | "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?: string

The ID for the packet capture.

maxLength32
minLength32
byte_limit?: number

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

maximum1000000000
minimum1
colo_name?: 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?: string

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

error_message?: string

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

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

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

packets_captured?: number

The number of packets captured.

status?: "unknown" | "success" | "pending" | 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?: string

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

formatdate-time
submitted?: string

The RFC 3339 timestamp when the packet capture was created.

system?: "magic-transit"

The system used to collect packet captures.

time_limit?: number

The packet capture duration in seconds.

maximum86400
minimum1
type?: "simple" | "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 } | MagicVisibilityPCAPsPCAPsResponseFull { id, byte_limit, colo_name, 10 more }
One of the following:
PCAP { id, filter_v1, offset_time, 5 more }
id?: string

The ID for the packet capture.

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

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

offset_time?: 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?: "unknown" | "success" | "pending" | 5 more

The status of the packet capture request.

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

The RFC 3339 timestamp when the packet capture was created.

system?: "magic-transit"

The system used to collect packet captures.

time_limit?: number

The packet capture duration in seconds.

maximum300
minimum1
type?: "simple" | "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?: string

The ID for the packet capture.

maxLength32
minLength32
byte_limit?: number

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

maximum1000000000
minimum1
colo_name?: 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?: string

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

error_message?: string

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

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

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

packets_captured?: number

The number of packets captured.

status?: "unknown" | "success" | "pending" | 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?: string

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

formatdate-time
submitted?: string

The RFC 3339 timestamp when the packet capture was created.

system?: "magic-transit"

The system used to collect packet captures.

time_limit?: number

The packet capture duration in seconds.

maximum86400
minimum1
type?: "simple" | "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 } | MagicVisibilityPCAPsPCAPsResponseFull { id, byte_limit, colo_name, 10 more }
One of the following:
PCAP { id, filter_v1, offset_time, 5 more }
id?: string

The ID for the packet capture.

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

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

offset_time?: 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?: "unknown" | "success" | "pending" | 5 more

The status of the packet capture request.

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

The RFC 3339 timestamp when the packet capture was created.

system?: "magic-transit"

The system used to collect packet captures.

time_limit?: number

The packet capture duration in seconds.

maximum300
minimum1
type?: "simple" | "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?: string

The ID for the packet capture.

maxLength32
minLength32
byte_limit?: number

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

maximum1000000000
minimum1
colo_name?: 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?: string

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

error_message?: string

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

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

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

packets_captured?: number

The number of packets captured.

status?: "unknown" | "success" | "pending" | 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?: string

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

formatdate-time
submitted?: string

The RFC 3339 timestamp when the packet capture was created.

system?: "magic-transit"

The system used to collect packet captures.

time_limit?: number

The packet capture duration in seconds.

maximum86400
minimum1
type?: "simple" | "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
client.magicTransit.pcaps.ownership.get(OwnershipGetParams { account_id } params, RequestOptionsoptions?): SinglePage<Ownership { id, destination_conf, filename, 3 more } >
GET/accounts/{account_id}/pcaps/ownership
Add buckets for full packet captures
client.magicTransit.pcaps.ownership.create(OwnershipCreateParams { account_id, destination_conf } params, RequestOptionsoptions?): Ownership { id, destination_conf, filename, 3 more }
POST/accounts/{account_id}/pcaps/ownership
Delete buckets for full packet captures
client.magicTransit.pcaps.ownership.delete(stringownershipId, OwnershipDeleteParams { account_id } params, RequestOptionsoptions?): void
DELETE/accounts/{account_id}/pcaps/ownership/{ownership_id}
Validate buckets for full packet captures
client.magicTransit.pcaps.ownership.validate(OwnershipValidateParams { account_id, destination_conf, ownership_challenge } params, RequestOptionsoptions?): Ownership { id, destination_conf, filename, 3 more }
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" | "success" | "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?: string

The RFC 3339 timestamp when the bucket was validated.

Magic TransitPCAPsDownload

Download Simple PCAP
client.magicTransit.pcaps.download.get(stringpcapId, DownloadGetParams { account_id } params, RequestOptionsoptions?): Response
GET/accounts/{account_id}/pcaps/{pcap_id}/download