Skip to content
Start here

Magic Transit

ModelsExpand Collapse
class HealthCheck:
enabled: Optional[bool]

Determines whether to run healthchecks for a tunnel.

rate: Optional[HealthCheckRate]

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

target: Optional[Target]

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:
class TargetMagicHealthCheckTarget:

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

effective: Optional[str]

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

saved: Optional[str]

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

str
type: Optional[HealthCheckType]

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

Literal["low", "mid", "high"]

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

One of the following:
"low"
"mid"
"high"
Literal["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
magic_transit.apps.list(AppListParams**kwargs) -> SyncSinglePage[AppListResponse]
GET/accounts/{account_id}/magic/apps
Create a new App
magic_transit.apps.create(AppCreateParams**kwargs) -> AppCreateResponse
POST/accounts/{account_id}/magic/apps
Update an App
magic_transit.apps.update(straccount_app_id, AppUpdateParams**kwargs) -> AppUpdateResponse
PUT/accounts/{account_id}/magic/apps/{account_app_id}
Update an App
magic_transit.apps.edit(straccount_app_id, AppEditParams**kwargs) -> AppEditResponse
PATCH/accounts/{account_id}/magic/apps/{account_app_id}
Delete Account App
magic_transit.apps.delete(straccount_app_id, AppDeleteParams**kwargs) -> AppDeleteResponse
DELETE/accounts/{account_id}/magic/apps/{account_app_id}
ModelsExpand Collapse

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

One of the following:
class MagicAccountApp:

Custom app defined for an account.

account_app_id: str

Magic account app ID.

hostnames: Optional[List[str]]

FQDNs to associate with traffic decisions.

ip_subnets: Optional[List[str]]

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

name: Optional[str]

Display name for the app.

source_subnets: Optional[List[str]]

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

type: Optional[str]

Category of the app.

class MagicManagedApp:

Managed app defined by Cloudflare.

managed_app_id: str

Managed app ID.

hostnames: Optional[List[str]]

FQDNs to associate with traffic decisions.

ip_subnets: Optional[List[str]]

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

name: Optional[str]

Display name for the app.

source_subnets: Optional[List[str]]

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

type: Optional[str]

Category of the app.

class AppCreateResponse:

Custom app defined for an account.

account_app_id: str

Magic account app ID.

hostnames: Optional[List[str]]

FQDNs to associate with traffic decisions.

ip_subnets: Optional[List[str]]

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

name: Optional[str]

Display name for the app.

source_subnets: Optional[List[str]]

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

type: Optional[str]

Category of the app.

class AppUpdateResponse:

Custom app defined for an account.

account_app_id: str

Magic account app ID.

hostnames: Optional[List[str]]

FQDNs to associate with traffic decisions.

ip_subnets: Optional[List[str]]

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

name: Optional[str]

Display name for the app.

source_subnets: Optional[List[str]]

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

type: Optional[str]

Category of the app.

class AppEditResponse:

Custom app defined for an account.

account_app_id: str

Magic account app ID.

hostnames: Optional[List[str]]

FQDNs to associate with traffic decisions.

ip_subnets: Optional[List[str]]

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

name: Optional[str]

Display name for the app.

source_subnets: Optional[List[str]]

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

type: Optional[str]

Category of the app.

class AppDeleteResponse:

Custom app defined for an account.

account_app_id: str

Magic account app ID.

hostnames: Optional[List[str]]

FQDNs to associate with traffic decisions.

ip_subnets: Optional[List[str]]

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

name: Optional[str]

Display name for the app.

source_subnets: Optional[List[str]]

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

type: Optional[str]

Category of the app.

Magic TransitCf Interconnects

List interconnects
magic_transit.cf_interconnects.list(CfInterconnectListParams**kwargs) -> CfInterconnectListResponse
GET/accounts/{account_id}/magic/cf_interconnects
List interconnect Details
magic_transit.cf_interconnects.get(strcf_interconnect_id, CfInterconnectGetParams**kwargs) -> CfInterconnectGetResponse
GET/accounts/{account_id}/magic/cf_interconnects/{cf_interconnect_id}
Update interconnect
magic_transit.cf_interconnects.update(strcf_interconnect_id, CfInterconnectUpdateParams**kwargs) -> CfInterconnectUpdateResponse
PUT/accounts/{account_id}/magic/cf_interconnects/{cf_interconnect_id}
Update multiple interconnects
magic_transit.cf_interconnects.bulk_update(CfInterconnectBulkUpdateParams**kwargs) -> CfInterconnectBulkUpdateResponse
PUT/accounts/{account_id}/magic/cf_interconnects
ModelsExpand Collapse
class CfInterconnectListResponse:
interconnects: Optional[List[Interconnect]]
id: Optional[str]

Identifier

maxLength32
automatic_return_routing: Optional[bool]

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

colo_name: Optional[str]

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

created_on: Optional[datetime]

The date and time the tunnel was created.

formatdate-time
description: Optional[str]

An optional description of the interconnect.

gre: Optional[InterconnectGRE]

The configuration specific to GRE interconnects.

cloudflare_endpoint: Optional[str]

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

health_check: Optional[HealthCheck]
interface_address: Optional[str]

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

interface_address6: Optional[str]

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

modified_on: Optional[datetime]

The date and time the tunnel was last modified.

formatdate-time
mtu: Optional[int]

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

name: Optional[str]

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

virtual_port_reservation_id: Optional[str]

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

maxLength32
class CfInterconnectGetResponse:
interconnect: Optional[Interconnect]
id: Optional[str]

Identifier

maxLength32
automatic_return_routing: Optional[bool]

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

colo_name: Optional[str]

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

created_on: Optional[datetime]

The date and time the tunnel was created.

formatdate-time
description: Optional[str]

An optional description of the interconnect.

gre: Optional[InterconnectGRE]

The configuration specific to GRE interconnects.

cloudflare_endpoint: Optional[str]

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

health_check: Optional[HealthCheck]
interface_address: Optional[str]

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

interface_address6: Optional[str]

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

modified_on: Optional[datetime]

The date and time the tunnel was last modified.

formatdate-time
mtu: Optional[int]

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

name: Optional[str]

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

virtual_port_reservation_id: Optional[str]

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

maxLength32
class CfInterconnectUpdateResponse:
modified: Optional[bool]
modified_interconnect: Optional[ModifiedInterconnect]
id: Optional[str]

Identifier

maxLength32
automatic_return_routing: Optional[bool]

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

colo_name: Optional[str]

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

created_on: Optional[datetime]

The date and time the tunnel was created.

formatdate-time
description: Optional[str]

An optional description of the interconnect.

gre: Optional[ModifiedInterconnectGRE]

The configuration specific to GRE interconnects.

cloudflare_endpoint: Optional[str]

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

health_check: Optional[HealthCheck]
interface_address: Optional[str]

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

interface_address6: Optional[str]

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

modified_on: Optional[datetime]

The date and time the tunnel was last modified.

formatdate-time
mtu: Optional[int]

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

name: Optional[str]

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

virtual_port_reservation_id: Optional[str]

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

maxLength32
class CfInterconnectBulkUpdateResponse:
modified: Optional[bool]
modified_interconnects: Optional[List[ModifiedInterconnect]]
id: Optional[str]

Identifier

maxLength32
automatic_return_routing: Optional[bool]

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

colo_name: Optional[str]

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

created_on: Optional[datetime]

The date and time the tunnel was created.

formatdate-time
description: Optional[str]

An optional description of the interconnect.

gre: Optional[ModifiedInterconnectGRE]

The configuration specific to GRE interconnects.

cloudflare_endpoint: Optional[str]

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

health_check: Optional[HealthCheck]
interface_address: Optional[str]

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

interface_address6: Optional[str]

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

modified_on: Optional[datetime]

The date and time the tunnel was last modified.

formatdate-time
mtu: Optional[int]

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

name: Optional[str]

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

virtual_port_reservation_id: Optional[str]

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

maxLength32

Magic TransitGRE Tunnels

List GRE tunnels
magic_transit.gre_tunnels.list(GRETunnelListParams**kwargs) -> GRETunnelListResponse
GET/accounts/{account_id}/magic/gre_tunnels
List GRE Tunnel Details
magic_transit.gre_tunnels.get(strgre_tunnel_id, GRETunnelGetParams**kwargs) -> GRETunnelGetResponse
GET/accounts/{account_id}/magic/gre_tunnels/{gre_tunnel_id}
Create a GRE tunnel
magic_transit.gre_tunnels.create(GRETunnelCreateParams**kwargs) -> GRETunnelCreateResponse
POST/accounts/{account_id}/magic/gre_tunnels
Update GRE Tunnel
magic_transit.gre_tunnels.update(strgre_tunnel_id, GRETunnelUpdateParams**kwargs) -> GRETunnelUpdateResponse
PUT/accounts/{account_id}/magic/gre_tunnels/{gre_tunnel_id}
Delete GRE Tunnel
magic_transit.gre_tunnels.delete(strgre_tunnel_id, GRETunnelDeleteParams**kwargs) -> GRETunnelDeleteResponse
DELETE/accounts/{account_id}/magic/gre_tunnels/{gre_tunnel_id}
Update multiple GRE tunnels
magic_transit.gre_tunnels.bulk_update(GRETunnelBulkUpdateParams**kwargs) -> GRETunnelBulkUpdateResponse
PUT/accounts/{account_id}/magic/gre_tunnels
ModelsExpand Collapse
class GRETunnelListResponse:
gre_tunnels: Optional[List[GRETunnel]]
id: str

Identifier

maxLength32
cloudflare_gre_endpoint: str

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

customer_gre_endpoint: str

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

interface_address: str

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

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

automatic_return_routing: Optional[bool]

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

bgp: Optional[GRETunnelBGP]
customer_asn: int

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes: Optional[List[str]]

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

md5_key: Optional[str]

MD5 key to use for session authentication.

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

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

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

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

bgp_status: Optional[GRETunnelBGPStatus]
state: Literal["BGP_DOWN", "BGP_UP", "BGP_ESTABLISHING"]
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: bool
updated_at: datetime
formatdate-time
bgp_state: Optional[str]
cf_speaker_ip: Optional[str]
formatipv4
cf_speaker_port: Optional[int]
maximum65535
minimum1
customer_speaker_ip: Optional[str]
formatipv4
customer_speaker_port: Optional[int]
maximum65535
minimum1
created_on: Optional[datetime]

The date and time the tunnel was created.

formatdate-time
description: Optional[str]

An optional description of the GRE tunnel.

health_check: Optional[GRETunnelHealthCheck]
direction: Optional[Literal["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: Optional[bool]

Determines whether to run healthchecks for a tunnel.

rate: Optional[HealthCheckRate]

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

target: Optional[GRETunnelHealthCheckTarget]

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:
class GRETunnelHealthCheckTargetMagicHealthCheckTarget:

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

effective: Optional[str]

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

saved: Optional[str]

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

str
type: Optional[HealthCheckType]

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

interface_address6: Optional[str]

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

modified_on: Optional[datetime]

The date and time the tunnel was last modified.

formatdate-time
mtu: Optional[int]

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

ttl: Optional[int]

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

class GRETunnelGetResponse:
gre_tunnel: Optional[GRETunnel]
id: str

Identifier

maxLength32
cloudflare_gre_endpoint: str

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

customer_gre_endpoint: str

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

interface_address: str

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

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

automatic_return_routing: Optional[bool]

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

bgp: Optional[GRETunnelBGP]
customer_asn: int

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes: Optional[List[str]]

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

md5_key: Optional[str]

MD5 key to use for session authentication.

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

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

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

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

bgp_status: Optional[GRETunnelBGPStatus]
state: Literal["BGP_DOWN", "BGP_UP", "BGP_ESTABLISHING"]
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: bool
updated_at: datetime
formatdate-time
bgp_state: Optional[str]
cf_speaker_ip: Optional[str]
formatipv4
cf_speaker_port: Optional[int]
maximum65535
minimum1
customer_speaker_ip: Optional[str]
formatipv4
customer_speaker_port: Optional[int]
maximum65535
minimum1
created_on: Optional[datetime]

The date and time the tunnel was created.

formatdate-time
description: Optional[str]

An optional description of the GRE tunnel.

health_check: Optional[GRETunnelHealthCheck]
direction: Optional[Literal["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: Optional[bool]

Determines whether to run healthchecks for a tunnel.

rate: Optional[HealthCheckRate]

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

target: Optional[GRETunnelHealthCheckTarget]

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:
class GRETunnelHealthCheckTargetMagicHealthCheckTarget:

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

effective: Optional[str]

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

saved: Optional[str]

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

str
type: Optional[HealthCheckType]

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

interface_address6: Optional[str]

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

modified_on: Optional[datetime]

The date and time the tunnel was last modified.

formatdate-time
mtu: Optional[int]

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

ttl: Optional[int]

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

class GRETunnelCreateResponse:
id: str

Identifier

maxLength32
cloudflare_gre_endpoint: str

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

customer_gre_endpoint: str

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

interface_address: str

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

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

automatic_return_routing: Optional[bool]

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

bgp: Optional[BGP]
customer_asn: int

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes: Optional[List[str]]

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

md5_key: Optional[str]

MD5 key to use for session authentication.

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

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

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

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

bgp_status: Optional[BGPStatus]
state: Literal["BGP_DOWN", "BGP_UP", "BGP_ESTABLISHING"]
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: bool
updated_at: datetime
formatdate-time
bgp_state: Optional[str]
cf_speaker_ip: Optional[str]
formatipv4
cf_speaker_port: Optional[int]
maximum65535
minimum1
customer_speaker_ip: Optional[str]
formatipv4
customer_speaker_port: Optional[int]
maximum65535
minimum1
created_on: Optional[datetime]

The date and time the tunnel was created.

formatdate-time
description: Optional[str]

An optional description of the GRE tunnel.

health_check: Optional[HealthCheck]
direction: Optional[Literal["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: Optional[bool]

Determines whether to run healthchecks for a tunnel.

rate: Optional[HealthCheckRate]

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

target: Optional[HealthCheckTarget]

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:
class HealthCheckTargetMagicHealthCheckTarget:

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

effective: Optional[str]

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

saved: Optional[str]

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

str
type: Optional[HealthCheckType]

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

interface_address6: Optional[str]

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

modified_on: Optional[datetime]

The date and time the tunnel was last modified.

formatdate-time
mtu: Optional[int]

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

ttl: Optional[int]

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

class GRETunnelUpdateResponse:
modified: Optional[bool]
modified_gre_tunnel: Optional[ModifiedGRETunnel]
id: str

Identifier

maxLength32
cloudflare_gre_endpoint: str

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

customer_gre_endpoint: str

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

interface_address: str

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

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

automatic_return_routing: Optional[bool]

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

bgp: Optional[ModifiedGRETunnelBGP]
customer_asn: int

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes: Optional[List[str]]

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

md5_key: Optional[str]

MD5 key to use for session authentication.

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

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

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

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

bgp_status: Optional[ModifiedGRETunnelBGPStatus]
state: Literal["BGP_DOWN", "BGP_UP", "BGP_ESTABLISHING"]
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: bool
updated_at: datetime
formatdate-time
bgp_state: Optional[str]
cf_speaker_ip: Optional[str]
formatipv4
cf_speaker_port: Optional[int]
maximum65535
minimum1
customer_speaker_ip: Optional[str]
formatipv4
customer_speaker_port: Optional[int]
maximum65535
minimum1
created_on: Optional[datetime]

The date and time the tunnel was created.

formatdate-time
description: Optional[str]

An optional description of the GRE tunnel.

health_check: Optional[ModifiedGRETunnelHealthCheck]
direction: Optional[Literal["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: Optional[bool]

Determines whether to run healthchecks for a tunnel.

rate: Optional[HealthCheckRate]

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

target: Optional[ModifiedGRETunnelHealthCheckTarget]

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:
class ModifiedGRETunnelHealthCheckTargetMagicHealthCheckTarget:

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

effective: Optional[str]

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

saved: Optional[str]

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

str
type: Optional[HealthCheckType]

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

interface_address6: Optional[str]

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

modified_on: Optional[datetime]

The date and time the tunnel was last modified.

formatdate-time
mtu: Optional[int]

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

ttl: Optional[int]

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

class GRETunnelDeleteResponse:
deleted: Optional[bool]
deleted_gre_tunnel: Optional[DeletedGRETunnel]
id: str

Identifier

maxLength32
cloudflare_gre_endpoint: str

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

customer_gre_endpoint: str

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

interface_address: str

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

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

automatic_return_routing: Optional[bool]

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

bgp: Optional[DeletedGRETunnelBGP]
customer_asn: int

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes: Optional[List[str]]

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

md5_key: Optional[str]

MD5 key to use for session authentication.

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

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

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

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

bgp_status: Optional[DeletedGRETunnelBGPStatus]
state: Literal["BGP_DOWN", "BGP_UP", "BGP_ESTABLISHING"]
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: bool
updated_at: datetime
formatdate-time
bgp_state: Optional[str]
cf_speaker_ip: Optional[str]
formatipv4
cf_speaker_port: Optional[int]
maximum65535
minimum1
customer_speaker_ip: Optional[str]
formatipv4
customer_speaker_port: Optional[int]
maximum65535
minimum1
created_on: Optional[datetime]

The date and time the tunnel was created.

formatdate-time
description: Optional[str]

An optional description of the GRE tunnel.

health_check: Optional[DeletedGRETunnelHealthCheck]
direction: Optional[Literal["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: Optional[bool]

Determines whether to run healthchecks for a tunnel.

rate: Optional[HealthCheckRate]

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

target: Optional[DeletedGRETunnelHealthCheckTarget]

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:
class DeletedGRETunnelHealthCheckTargetMagicHealthCheckTarget:

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

effective: Optional[str]

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

saved: Optional[str]

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

str
type: Optional[HealthCheckType]

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

interface_address6: Optional[str]

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

modified_on: Optional[datetime]

The date and time the tunnel was last modified.

formatdate-time
mtu: Optional[int]

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

ttl: Optional[int]

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

class GRETunnelBulkUpdateResponse:
modified: Optional[bool]
modified_gre_tunnels: Optional[List[ModifiedGRETunnel]]
id: str

Identifier

maxLength32
cloudflare_gre_endpoint: str

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

customer_gre_endpoint: str

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

interface_address: str

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

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

automatic_return_routing: Optional[bool]

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

bgp: Optional[ModifiedGRETunnelBGP]
customer_asn: int

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes: Optional[List[str]]

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

md5_key: Optional[str]

MD5 key to use for session authentication.

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

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

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

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

bgp_status: Optional[ModifiedGRETunnelBGPStatus]
state: Literal["BGP_DOWN", "BGP_UP", "BGP_ESTABLISHING"]
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: bool
updated_at: datetime
formatdate-time
bgp_state: Optional[str]
cf_speaker_ip: Optional[str]
formatipv4
cf_speaker_port: Optional[int]
maximum65535
minimum1
customer_speaker_ip: Optional[str]
formatipv4
customer_speaker_port: Optional[int]
maximum65535
minimum1
created_on: Optional[datetime]

The date and time the tunnel was created.

formatdate-time
description: Optional[str]

An optional description of the GRE tunnel.

health_check: Optional[ModifiedGRETunnelHealthCheck]
direction: Optional[Literal["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: Optional[bool]

Determines whether to run healthchecks for a tunnel.

rate: Optional[HealthCheckRate]

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

target: Optional[ModifiedGRETunnelHealthCheckTarget]

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:
class ModifiedGRETunnelHealthCheckTargetMagicHealthCheckTarget:

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

effective: Optional[str]

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

saved: Optional[str]

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

str
type: Optional[HealthCheckType]

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

interface_address6: Optional[str]

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

modified_on: Optional[datetime]

The date and time the tunnel was last modified.

formatdate-time
mtu: Optional[int]

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

ttl: Optional[int]

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

Magic TransitIPSEC Tunnels

List IPsec tunnels
magic_transit.ipsec_tunnels.list(IPSECTunnelListParams**kwargs) -> IPSECTunnelListResponse
GET/accounts/{account_id}/magic/ipsec_tunnels
List IPsec tunnel details
magic_transit.ipsec_tunnels.get(stripsec_tunnel_id, IPSECTunnelGetParams**kwargs) -> IPSECTunnelGetResponse
GET/accounts/{account_id}/magic/ipsec_tunnels/{ipsec_tunnel_id}
Create an IPsec tunnel
magic_transit.ipsec_tunnels.create(IPSECTunnelCreateParams**kwargs) -> IPSECTunnelCreateResponse
POST/accounts/{account_id}/magic/ipsec_tunnels
Update IPsec Tunnel
magic_transit.ipsec_tunnels.update(stripsec_tunnel_id, IPSECTunnelUpdateParams**kwargs) -> IPSECTunnelUpdateResponse
PUT/accounts/{account_id}/magic/ipsec_tunnels/{ipsec_tunnel_id}
Delete IPsec Tunnel
magic_transit.ipsec_tunnels.delete(stripsec_tunnel_id, IPSECTunnelDeleteParams**kwargs) -> IPSECTunnelDeleteResponse
DELETE/accounts/{account_id}/magic/ipsec_tunnels/{ipsec_tunnel_id}
Update multiple IPsec tunnels
magic_transit.ipsec_tunnels.bulk_update(IPSECTunnelBulkUpdateParams**kwargs) -> IPSECTunnelBulkUpdateResponse
PUT/accounts/{account_id}/magic/ipsec_tunnels
Generate Pre Shared Key (PSK) for IPsec tunnels
magic_transit.ipsec_tunnels.psk_generate(stripsec_tunnel_id, IPSECTunnelPSKGenerateParams**kwargs) -> IPSECTunnelPSKGenerateResponse
POST/accounts/{account_id}/magic/ipsec_tunnels/{ipsec_tunnel_id}/psk_generate
ModelsExpand Collapse
class PSKMetadata:

The PSK metadata that includes when the PSK was generated.

last_generated_on: Optional[datetime]

The date and time the tunnel was last modified.

formatdate-time
class IPSECTunnelListResponse:
ipsec_tunnels: Optional[List[IPSECTunnel]]
id: str

Identifier

maxLength32
cloudflare_endpoint: str

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

interface_address: str

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

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

allow_null_cipher: Optional[bool]

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

automatic_return_routing: Optional[bool]

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

bgp: Optional[IPSECTunnelBGP]
customer_asn: int

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes: Optional[List[str]]

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

md5_key: Optional[str]

MD5 key to use for session authentication.

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

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

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

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

bgp_status: Optional[IPSECTunnelBGPStatus]
state: Literal["BGP_DOWN", "BGP_UP", "BGP_ESTABLISHING"]
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: bool
updated_at: datetime
formatdate-time
bgp_state: Optional[str]
cf_speaker_ip: Optional[str]
formatipv4
cf_speaker_port: Optional[int]
maximum65535
minimum1
customer_speaker_ip: Optional[str]
formatipv4
customer_speaker_port: Optional[int]
maximum65535
minimum1
created_on: Optional[datetime]

The date and time the tunnel was created.

formatdate-time
custom_remote_identities: Optional[IPSECTunnelCustomRemoteIdentities]
fqdn_id: Optional[str]

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

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

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

customer_endpoint: Optional[str]

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

description: Optional[str]

An optional description forthe IPsec tunnel.

health_check: Optional[IPSECTunnelHealthCheck]
direction: Optional[Literal["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: Optional[bool]

Determines whether to run healthchecks for a tunnel.

rate: Optional[HealthCheckRate]

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

target: Optional[IPSECTunnelHealthCheckTarget]

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:
class IPSECTunnelHealthCheckTargetMagicHealthCheckTarget:

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

effective: Optional[str]

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

saved: Optional[str]

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

str
type: Optional[HealthCheckType]

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

interface_address6: Optional[str]

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

modified_on: Optional[datetime]

The date and time the tunnel was last modified.

formatdate-time
psk_metadata: Optional[PSKMetadata]

The PSK metadata that includes when the PSK was generated.

replay_protection: Optional[bool]

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

class IPSECTunnelGetResponse:
ipsec_tunnel: Optional[IPSECTunnel]
id: str

Identifier

maxLength32
cloudflare_endpoint: str

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

interface_address: str

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

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

allow_null_cipher: Optional[bool]

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

automatic_return_routing: Optional[bool]

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

bgp: Optional[IPSECTunnelBGP]
customer_asn: int

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes: Optional[List[str]]

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

md5_key: Optional[str]

MD5 key to use for session authentication.

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

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

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

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

bgp_status: Optional[IPSECTunnelBGPStatus]
state: Literal["BGP_DOWN", "BGP_UP", "BGP_ESTABLISHING"]
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: bool
updated_at: datetime
formatdate-time
bgp_state: Optional[str]
cf_speaker_ip: Optional[str]
formatipv4
cf_speaker_port: Optional[int]
maximum65535
minimum1
customer_speaker_ip: Optional[str]
formatipv4
customer_speaker_port: Optional[int]
maximum65535
minimum1
created_on: Optional[datetime]

The date and time the tunnel was created.

formatdate-time
custom_remote_identities: Optional[IPSECTunnelCustomRemoteIdentities]
fqdn_id: Optional[str]

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

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

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

customer_endpoint: Optional[str]

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

description: Optional[str]

An optional description forthe IPsec tunnel.

health_check: Optional[IPSECTunnelHealthCheck]
direction: Optional[Literal["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: Optional[bool]

Determines whether to run healthchecks for a tunnel.

rate: Optional[HealthCheckRate]

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

target: Optional[IPSECTunnelHealthCheckTarget]

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:
class IPSECTunnelHealthCheckTargetMagicHealthCheckTarget:

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

effective: Optional[str]

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

saved: Optional[str]

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

str
type: Optional[HealthCheckType]

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

interface_address6: Optional[str]

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

modified_on: Optional[datetime]

The date and time the tunnel was last modified.

formatdate-time
psk_metadata: Optional[PSKMetadata]

The PSK metadata that includes when the PSK was generated.

replay_protection: Optional[bool]

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

class IPSECTunnelCreateResponse:
id: str

Identifier

maxLength32
cloudflare_endpoint: str

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

interface_address: str

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

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

allow_null_cipher: Optional[bool]

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

automatic_return_routing: Optional[bool]

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

bgp: Optional[BGP]
customer_asn: int

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes: Optional[List[str]]

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

md5_key: Optional[str]

MD5 key to use for session authentication.

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

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

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

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

bgp_status: Optional[BGPStatus]
state: Literal["BGP_DOWN", "BGP_UP", "BGP_ESTABLISHING"]
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: bool
updated_at: datetime
formatdate-time
bgp_state: Optional[str]
cf_speaker_ip: Optional[str]
formatipv4
cf_speaker_port: Optional[int]
maximum65535
minimum1
customer_speaker_ip: Optional[str]
formatipv4
customer_speaker_port: Optional[int]
maximum65535
minimum1
created_on: Optional[datetime]

The date and time the tunnel was created.

formatdate-time
custom_remote_identities: Optional[CustomRemoteIdentities]
fqdn_id: Optional[str]

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

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

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

customer_endpoint: Optional[str]

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

description: Optional[str]

An optional description forthe IPsec tunnel.

health_check: Optional[HealthCheck]
direction: Optional[Literal["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: Optional[bool]

Determines whether to run healthchecks for a tunnel.

rate: Optional[HealthCheckRate]

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

target: Optional[HealthCheckTarget]

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:
class HealthCheckTargetMagicHealthCheckTarget:

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

effective: Optional[str]

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

saved: Optional[str]

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

str
type: Optional[HealthCheckType]

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

interface_address6: Optional[str]

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

modified_on: Optional[datetime]

The date and time the tunnel was last modified.

formatdate-time
psk_metadata: Optional[PSKMetadata]

The PSK metadata that includes when the PSK was generated.

replay_protection: Optional[bool]

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

class IPSECTunnelUpdateResponse:
modified: Optional[bool]
modified_ipsec_tunnel: Optional[ModifiedIPSECTunnel]
id: str

Identifier

maxLength32
cloudflare_endpoint: str

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

interface_address: str

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

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

allow_null_cipher: Optional[bool]

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

automatic_return_routing: Optional[bool]

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

bgp: Optional[ModifiedIPSECTunnelBGP]
customer_asn: int

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes: Optional[List[str]]

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

md5_key: Optional[str]

MD5 key to use for session authentication.

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

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

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

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

bgp_status: Optional[ModifiedIPSECTunnelBGPStatus]
state: Literal["BGP_DOWN", "BGP_UP", "BGP_ESTABLISHING"]
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: bool
updated_at: datetime
formatdate-time
bgp_state: Optional[str]
cf_speaker_ip: Optional[str]
formatipv4
cf_speaker_port: Optional[int]
maximum65535
minimum1
customer_speaker_ip: Optional[str]
formatipv4
customer_speaker_port: Optional[int]
maximum65535
minimum1
created_on: Optional[datetime]

The date and time the tunnel was created.

formatdate-time
custom_remote_identities: Optional[ModifiedIPSECTunnelCustomRemoteIdentities]
fqdn_id: Optional[str]

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

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

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

customer_endpoint: Optional[str]

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

description: Optional[str]

An optional description forthe IPsec tunnel.

health_check: Optional[ModifiedIPSECTunnelHealthCheck]
direction: Optional[Literal["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: Optional[bool]

Determines whether to run healthchecks for a tunnel.

rate: Optional[HealthCheckRate]

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

target: Optional[ModifiedIPSECTunnelHealthCheckTarget]

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:
class ModifiedIPSECTunnelHealthCheckTargetMagicHealthCheckTarget:

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

effective: Optional[str]

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

saved: Optional[str]

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

str
type: Optional[HealthCheckType]

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

interface_address6: Optional[str]

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

modified_on: Optional[datetime]

The date and time the tunnel was last modified.

formatdate-time
psk_metadata: Optional[PSKMetadata]

The PSK metadata that includes when the PSK was generated.

replay_protection: Optional[bool]

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

class IPSECTunnelDeleteResponse:
deleted: Optional[bool]
deleted_ipsec_tunnel: Optional[DeletedIPSECTunnel]
id: str

Identifier

maxLength32
cloudflare_endpoint: str

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

interface_address: str

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

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

allow_null_cipher: Optional[bool]

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

automatic_return_routing: Optional[bool]

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

bgp: Optional[DeletedIPSECTunnelBGP]
customer_asn: int

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes: Optional[List[str]]

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

md5_key: Optional[str]

MD5 key to use for session authentication.

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

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

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

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

bgp_status: Optional[DeletedIPSECTunnelBGPStatus]
state: Literal["BGP_DOWN", "BGP_UP", "BGP_ESTABLISHING"]
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: bool
updated_at: datetime
formatdate-time
bgp_state: Optional[str]
cf_speaker_ip: Optional[str]
formatipv4
cf_speaker_port: Optional[int]
maximum65535
minimum1
customer_speaker_ip: Optional[str]
formatipv4
customer_speaker_port: Optional[int]
maximum65535
minimum1
created_on: Optional[datetime]

The date and time the tunnel was created.

formatdate-time
custom_remote_identities: Optional[DeletedIPSECTunnelCustomRemoteIdentities]
fqdn_id: Optional[str]

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

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

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

customer_endpoint: Optional[str]

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

description: Optional[str]

An optional description forthe IPsec tunnel.

health_check: Optional[DeletedIPSECTunnelHealthCheck]
direction: Optional[Literal["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: Optional[bool]

Determines whether to run healthchecks for a tunnel.

rate: Optional[HealthCheckRate]

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

target: Optional[DeletedIPSECTunnelHealthCheckTarget]

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:
class DeletedIPSECTunnelHealthCheckTargetMagicHealthCheckTarget:

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

effective: Optional[str]

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

saved: Optional[str]

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

str
type: Optional[HealthCheckType]

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

interface_address6: Optional[str]

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

modified_on: Optional[datetime]

The date and time the tunnel was last modified.

formatdate-time
psk_metadata: Optional[PSKMetadata]

The PSK metadata that includes when the PSK was generated.

replay_protection: Optional[bool]

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

class IPSECTunnelBulkUpdateResponse:
modified: Optional[bool]
modified_ipsec_tunnels: Optional[List[ModifiedIPSECTunnel]]
id: str

Identifier

maxLength32
cloudflare_endpoint: str

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

interface_address: str

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

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

allow_null_cipher: Optional[bool]

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

automatic_return_routing: Optional[bool]

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

bgp: Optional[ModifiedIPSECTunnelBGP]
customer_asn: int

ASN used on the customer end of the BGP session

formatint32
minimum0
extra_prefixes: Optional[List[str]]

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

md5_key: Optional[str]

MD5 key to use for session authentication.

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

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

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

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

bgp_status: Optional[ModifiedIPSECTunnelBGPStatus]
state: Literal["BGP_DOWN", "BGP_UP", "BGP_ESTABLISHING"]
One of the following:
"BGP_DOWN"
"BGP_UP"
"BGP_ESTABLISHING"
tcp_established: bool
updated_at: datetime
formatdate-time
bgp_state: Optional[str]
cf_speaker_ip: Optional[str]
formatipv4
cf_speaker_port: Optional[int]
maximum65535
minimum1
customer_speaker_ip: Optional[str]
formatipv4
customer_speaker_port: Optional[int]
maximum65535
minimum1
created_on: Optional[datetime]

The date and time the tunnel was created.

formatdate-time
custom_remote_identities: Optional[ModifiedIPSECTunnelCustomRemoteIdentities]
fqdn_id: Optional[str]

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

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

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

customer_endpoint: Optional[str]

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

description: Optional[str]

An optional description forthe IPsec tunnel.

health_check: Optional[ModifiedIPSECTunnelHealthCheck]
direction: Optional[Literal["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: Optional[bool]

Determines whether to run healthchecks for a tunnel.

rate: Optional[HealthCheckRate]

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

target: Optional[ModifiedIPSECTunnelHealthCheckTarget]

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:
class ModifiedIPSECTunnelHealthCheckTargetMagicHealthCheckTarget:

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

effective: Optional[str]

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

saved: Optional[str]

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

str
type: Optional[HealthCheckType]

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

interface_address6: Optional[str]

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

modified_on: Optional[datetime]

The date and time the tunnel was last modified.

formatdate-time
psk_metadata: Optional[PSKMetadata]

The PSK metadata that includes when the PSK was generated.

replay_protection: Optional[bool]

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

class IPSECTunnelPSKGenerateResponse:
ipsec_tunnel_id: Optional[str]

Identifier

maxLength32
psk: Optional[str]

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

psk_metadata: Optional[PSKMetadata]

The PSK metadata that includes when the PSK was generated.

Magic TransitRoutes

List Routes
magic_transit.routes.list(RouteListParams**kwargs) -> RouteListResponse
GET/accounts/{account_id}/magic/routes
Route Details
magic_transit.routes.get(strroute_id, RouteGetParams**kwargs) -> RouteGetResponse
GET/accounts/{account_id}/magic/routes/{route_id}
Create a Route
magic_transit.routes.create(RouteCreateParams**kwargs) -> RouteCreateResponse
POST/accounts/{account_id}/magic/routes
Update Route
magic_transit.routes.update(strroute_id, RouteUpdateParams**kwargs) -> RouteUpdateResponse
PUT/accounts/{account_id}/magic/routes/{route_id}
Delete Route
magic_transit.routes.delete(strroute_id, RouteDeleteParams**kwargs) -> RouteDeleteResponse
DELETE/accounts/{account_id}/magic/routes/{route_id}
Update Many Routes
magic_transit.routes.bulk_update(RouteBulkUpdateParams**kwargs) -> RouteBulkUpdateResponse
PUT/accounts/{account_id}/magic/routes
Delete Many Routes
magic_transit.routes.empty(RouteEmptyParams**kwargs) -> RouteEmptyResponse
DELETE/accounts/{account_id}/magic/routes
ModelsExpand Collapse
class Scope:

Used only for ECMP routes.

colo_names: Optional[List[str]]

List of colo names for the ECMP scope.

colo_regions: Optional[List[str]]

List of colo regions for the ECMP scope.

class RouteListResponse:
routes: Optional[List[Route]]
id: str

Identifier

maxLength32
nexthop: str

The next-hop IP Address for the static route.

prefix: str

IP Prefix in Classless Inter-Domain Routing format.

priority: int

Priority of the static route.

created_on: Optional[datetime]

When the route was created.

formatdate-time
description: Optional[str]

An optional human provided description of the static route.

modified_on: Optional[datetime]

When the route was last modified.

formatdate-time
scope: Optional[Scope]

Used only for ECMP routes.

weight: Optional[int]

Optional weight of the ECMP scope - if provided.

class RouteGetResponse:
route: Optional[Route]
id: str

Identifier

maxLength32
nexthop: str

The next-hop IP Address for the static route.

prefix: str

IP Prefix in Classless Inter-Domain Routing format.

priority: int

Priority of the static route.

created_on: Optional[datetime]

When the route was created.

formatdate-time
description: Optional[str]

An optional human provided description of the static route.

modified_on: Optional[datetime]

When the route was last modified.

formatdate-time
scope: Optional[Scope]

Used only for ECMP routes.

weight: Optional[int]

Optional weight of the ECMP scope - if provided.

class RouteCreateResponse:
id: str

Identifier

maxLength32
nexthop: str

The next-hop IP Address for the static route.

prefix: str

IP Prefix in Classless Inter-Domain Routing format.

priority: int

Priority of the static route.

created_on: Optional[datetime]

When the route was created.

formatdate-time
description: Optional[str]

An optional human provided description of the static route.

modified_on: Optional[datetime]

When the route was last modified.

formatdate-time
scope: Optional[Scope]

Used only for ECMP routes.

weight: Optional[int]

Optional weight of the ECMP scope - if provided.

class RouteUpdateResponse:
modified: Optional[bool]
modified_route: Optional[ModifiedRoute]
id: str

Identifier

maxLength32
nexthop: str

The next-hop IP Address for the static route.

prefix: str

IP Prefix in Classless Inter-Domain Routing format.

priority: int

Priority of the static route.

created_on: Optional[datetime]

When the route was created.

formatdate-time
description: Optional[str]

An optional human provided description of the static route.

modified_on: Optional[datetime]

When the route was last modified.

formatdate-time
scope: Optional[Scope]

Used only for ECMP routes.

weight: Optional[int]

Optional weight of the ECMP scope - if provided.

class RouteDeleteResponse:
deleted: Optional[bool]
deleted_route: Optional[DeletedRoute]
id: str

Identifier

maxLength32
nexthop: str

The next-hop IP Address for the static route.

prefix: str

IP Prefix in Classless Inter-Domain Routing format.

priority: int

Priority of the static route.

created_on: Optional[datetime]

When the route was created.

formatdate-time
description: Optional[str]

An optional human provided description of the static route.

modified_on: Optional[datetime]

When the route was last modified.

formatdate-time
scope: Optional[Scope]

Used only for ECMP routes.

weight: Optional[int]

Optional weight of the ECMP scope - if provided.

class RouteBulkUpdateResponse:
modified: Optional[bool]
modified_routes: Optional[List[ModifiedRoute]]
id: str

Identifier

maxLength32
nexthop: str

The next-hop IP Address for the static route.

prefix: str

IP Prefix in Classless Inter-Domain Routing format.

priority: int

Priority of the static route.

created_on: Optional[datetime]

When the route was created.

formatdate-time
description: Optional[str]

An optional human provided description of the static route.

modified_on: Optional[datetime]

When the route was last modified.

formatdate-time
scope: Optional[Scope]

Used only for ECMP routes.

weight: Optional[int]

Optional weight of the ECMP scope - if provided.

class RouteEmptyResponse:
deleted: Optional[bool]
deleted_routes: Optional[List[DeletedRoute]]
id: str

Identifier

maxLength32
nexthop: str

The next-hop IP Address for the static route.

prefix: str

IP Prefix in Classless Inter-Domain Routing format.

priority: int

Priority of the static route.

created_on: Optional[datetime]

When the route was created.

formatdate-time
description: Optional[str]

An optional human provided description of the static route.

modified_on: Optional[datetime]

When the route was last modified.

formatdate-time
scope: Optional[Scope]

Used only for ECMP routes.

weight: Optional[int]

Optional weight of the ECMP scope - if provided.

Magic TransitSites

List Sites
magic_transit.sites.list(SiteListParams**kwargs) -> SyncSinglePage[Site]
GET/accounts/{account_id}/magic/sites
Site Details
magic_transit.sites.get(strsite_id, SiteGetParams**kwargs) -> Site
GET/accounts/{account_id}/magic/sites/{site_id}
Create a new Site
magic_transit.sites.create(SiteCreateParams**kwargs) -> Site
POST/accounts/{account_id}/magic/sites
Update Site
magic_transit.sites.update(strsite_id, SiteUpdateParams**kwargs) -> Site
PUT/accounts/{account_id}/magic/sites/{site_id}
Patch Site
magic_transit.sites.edit(strsite_id, SiteEditParams**kwargs) -> Site
PATCH/accounts/{account_id}/magic/sites/{site_id}
Delete Site
magic_transit.sites.delete(strsite_id, SiteDeleteParams**kwargs) -> Site
DELETE/accounts/{account_id}/magic/sites/{site_id}
ModelsExpand Collapse
class Site:
id: Optional[str]

Identifier

maxLength32
connector_id: Optional[str]

Magic Connector identifier tag.

description: Optional[str]
ha_mode: Optional[bool]

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

location: Optional[SiteLocation]

Location of site in latitude and longitude.

name: Optional[str]

The name of the site.

secondary_connector_id: Optional[str]

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

class SiteLocation:

Location of site in latitude and longitude.

lat: Optional[str]

Latitude

lon: Optional[str]

Longitude

Magic TransitSitesApp Configuration

Magic TransitSitesACLs

List Site ACLs
magic_transit.sites.acls.list(strsite_id, ACLListParams**kwargs) -> SyncSinglePage[ACL]
GET/accounts/{account_id}/magic/sites/{site_id}/acls
Site ACL Details
magic_transit.sites.acls.get(stracl_id, ACLGetParams**kwargs) -> ACL
GET/accounts/{account_id}/magic/sites/{site_id}/acls/{acl_id}
Create a new Site ACL
magic_transit.sites.acls.create(strsite_id, ACLCreateParams**kwargs) -> ACL
POST/accounts/{account_id}/magic/sites/{site_id}/acls
Update Site ACL
magic_transit.sites.acls.update(stracl_id, ACLUpdateParams**kwargs) -> ACL
PUT/accounts/{account_id}/magic/sites/{site_id}/acls/{acl_id}
Patch Site ACL
magic_transit.sites.acls.edit(stracl_id, ACLEditParams**kwargs) -> ACL
PATCH/accounts/{account_id}/magic/sites/{site_id}/acls/{acl_id}
Delete Site ACL
magic_transit.sites.acls.delete(stracl_id, ACLDeleteParams**kwargs) -> ACL
DELETE/accounts/{account_id}/magic/sites/{site_id}/acls/{acl_id}
ModelsExpand Collapse
class ACL:

Bidirectional ACL policy for network traffic within a site.

id: Optional[str]

Identifier

maxLength32
description: Optional[str]

Description for the ACL.

forward_locally: Optional[bool]

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

lan_1: Optional[ACLConfiguration]
lan_2: Optional[ACLConfiguration]
name: Optional[str]

The name of the ACL.

protocols: Optional[List[AllowedProtocol]]
One of the following:
"tcp"
"udp"
"icmp"
unidirectional: Optional[bool]

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.

class ACLConfiguration:
lan_id: str

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

lan_name: Optional[str]

The name of the LAN based on the provided lan_id.

port_ranges: Optional[List[str]]

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

ports: Optional[List[int]]

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

subnets: Optional[List[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.

Literal["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"
str

A valid IPv4 address.

Magic TransitSitesLANs

List Site LANs
magic_transit.sites.lans.list(strsite_id, LANListParams**kwargs) -> SyncSinglePage[LAN]
GET/accounts/{account_id}/magic/sites/{site_id}/lans
Site LAN Details
magic_transit.sites.lans.get(strlan_id, LANGetParams**kwargs) -> LAN
GET/accounts/{account_id}/magic/sites/{site_id}/lans/{lan_id}
Create a new Site LAN
magic_transit.sites.lans.create(strsite_id, LANCreateParams**kwargs) -> SyncSinglePage[LAN]
POST/accounts/{account_id}/magic/sites/{site_id}/lans
Update Site LAN
magic_transit.sites.lans.update(strlan_id, LANUpdateParams**kwargs) -> LAN
PUT/accounts/{account_id}/magic/sites/{site_id}/lans/{lan_id}
Patch Site LAN
magic_transit.sites.lans.edit(strlan_id, LANEditParams**kwargs) -> LAN
PATCH/accounts/{account_id}/magic/sites/{site_id}/lans/{lan_id}
Delete Site LAN
magic_transit.sites.lans.delete(strlan_id, LANDeleteParams**kwargs) -> LAN
DELETE/accounts/{account_id}/magic/sites/{site_id}/lans/{lan_id}
ModelsExpand Collapse
class DHCPRelay:
server_addresses: Optional[List[str]]

List of DHCP server IPs.

class DHCPServer:
dhcp_pool_end: Optional[str]

A valid IPv4 address.

dhcp_pool_start: Optional[str]

A valid IPv4 address.

dns_server: Optional[str]

A valid IPv4 address.

dns_servers: Optional[List[str]]
reservations: Optional[Dict[str, str]]

Mapping of MAC addresses to IP addresses

class LAN:
id: Optional[str]

Identifier

maxLength32
bond_id: Optional[int]
is_breakout: Optional[bool]

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

is_prioritized: Optional[bool]

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

name: Optional[str]
nat: Optional[Nat]
physport: Optional[int]
routed_subnets: Optional[List[RoutedSubnet]]
next_hop: str

A valid IPv4 address.

prefix: str

A valid CIDR notation representing an IP range.

nat: Optional[Nat]
site_id: Optional[str]

Identifier

maxLength32
static_addressing: Optional[LANStaticAddressing]

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

vlan_tag: Optional[int]

VLAN ID. Use zero for untagged.

class LANStaticAddressing:

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

A valid CIDR notation representing an IP range.

dhcp_relay: Optional[DHCPRelay]
dhcp_server: Optional[DHCPServer]
secondary_address: Optional[str]

A valid CIDR notation representing an IP range.

virtual_address: Optional[str]

A valid CIDR notation representing an IP range.

class Nat:
static_prefix: Optional[str]

A valid CIDR notation representing an IP range.

class RoutedSubnet:
next_hop: str

A valid IPv4 address.

prefix: str

A valid CIDR notation representing an IP range.

nat: Optional[Nat]

Magic TransitSitesWANs

List Site WANs
magic_transit.sites.wans.list(strsite_id, WANListParams**kwargs) -> SyncSinglePage[WAN]
GET/accounts/{account_id}/magic/sites/{site_id}/wans
Site WAN Details
magic_transit.sites.wans.get(strwan_id, WANGetParams**kwargs) -> WAN
GET/accounts/{account_id}/magic/sites/{site_id}/wans/{wan_id}
Create a new Site WAN
magic_transit.sites.wans.create(strsite_id, WANCreateParams**kwargs) -> SyncSinglePage[WAN]
POST/accounts/{account_id}/magic/sites/{site_id}/wans
Update Site WAN
magic_transit.sites.wans.update(strwan_id, WANUpdateParams**kwargs) -> WAN
PUT/accounts/{account_id}/magic/sites/{site_id}/wans/{wan_id}
Patch Site WAN
magic_transit.sites.wans.edit(strwan_id, WANEditParams**kwargs) -> WAN
PATCH/accounts/{account_id}/magic/sites/{site_id}/wans/{wan_id}
Delete Site WAN
magic_transit.sites.wans.delete(strwan_id, WANDeleteParams**kwargs) -> WAN
DELETE/accounts/{account_id}/magic/sites/{site_id}/wans/{wan_id}
ModelsExpand Collapse
class WAN:
id: Optional[str]

Identifier

maxLength32
health_check_rate: Optional[Literal["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: Optional[str]
physport: Optional[int]
priority: Optional[int]

Priority of WAN for traffic loadbalancing.

site_id: Optional[str]

Identifier

maxLength32
static_addressing: Optional[WANStaticAddressing]

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

vlan_tag: Optional[int]

VLAN ID. Use zero for untagged.

class WANStaticAddressing:

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

address: str

A valid CIDR notation representing an IP range.

gateway_address: str

A valid IPv4 address.

secondary_address: Optional[str]

A valid CIDR notation representing an IP range.

Magic TransitConnectors

List Connectors
magic_transit.connectors.list(ConnectorListParams**kwargs) -> SyncSinglePage[ConnectorListResponse]
GET/accounts/{account_id}/magic/connectors
Fetch Connector
magic_transit.connectors.get(strconnector_id, ConnectorGetParams**kwargs) -> ConnectorGetResponse
GET/accounts/{account_id}/magic/connectors/{connector_id}
Add a connector to your account
magic_transit.connectors.create(ConnectorCreateParams**kwargs) -> ConnectorCreateResponse
POST/accounts/{account_id}/magic/connectors
Replace Connector or Re-provision License Key
magic_transit.connectors.update(strconnector_id, ConnectorUpdateParams**kwargs) -> ConnectorUpdateResponse
PUT/accounts/{account_id}/magic/connectors/{connector_id}
Edit Connector to update specific properties or Re-provision License Key
magic_transit.connectors.edit(strconnector_id, ConnectorEditParams**kwargs) -> ConnectorEditResponse
PATCH/accounts/{account_id}/magic/connectors/{connector_id}
Remove a connector from your account
magic_transit.connectors.delete(strconnector_id, ConnectorDeleteParams**kwargs) -> ConnectorDeleteResponse
DELETE/accounts/{account_id}/magic/connectors/{connector_id}
ModelsExpand Collapse
class ConnectorListResponse:
id: str
activated: bool
interrupt_window_days_of_week: List[Literal["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: float
maximum24
minimum1
interrupt_window_embargo_dates: List[str]

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

interrupt_window_hour_of_day: float
last_updated: str
notes: str
timezone: str
device: Optional[Device]
id: str
serial_number: Optional[str]
last_heartbeat: Optional[str]
last_seen_version: Optional[str]
license_key: Optional[str]
class ConnectorGetResponse:
id: str
activated: bool
interrupt_window_days_of_week: List[Literal["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: float
maximum24
minimum1
interrupt_window_embargo_dates: List[str]

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

interrupt_window_hour_of_day: float
last_updated: str
notes: str
timezone: str
device: Optional[Device]
id: str
serial_number: Optional[str]
last_heartbeat: Optional[str]
last_seen_version: Optional[str]
license_key: Optional[str]
class ConnectorCreateResponse:
id: str
activated: bool
interrupt_window_days_of_week: List[Literal["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: float
maximum24
minimum1
interrupt_window_embargo_dates: List[str]

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

interrupt_window_hour_of_day: float
last_updated: str
notes: str
timezone: str
device: Optional[Device]
id: str
serial_number: Optional[str]
last_heartbeat: Optional[str]
last_seen_version: Optional[str]
license_key: Optional[str]
class ConnectorUpdateResponse:
id: str
activated: bool
interrupt_window_days_of_week: List[Literal["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: float
maximum24
minimum1
interrupt_window_embargo_dates: List[str]

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

interrupt_window_hour_of_day: float
last_updated: str
notes: str
timezone: str
device: Optional[Device]
id: str
serial_number: Optional[str]
last_heartbeat: Optional[str]
last_seen_version: Optional[str]
license_key: Optional[str]
class ConnectorEditResponse:
id: str
activated: bool
interrupt_window_days_of_week: List[Literal["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: float
maximum24
minimum1
interrupt_window_embargo_dates: List[str]

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

interrupt_window_hour_of_day: float
last_updated: str
notes: str
timezone: str
device: Optional[Device]
id: str
serial_number: Optional[str]
last_heartbeat: Optional[str]
last_seen_version: Optional[str]
license_key: Optional[str]
class ConnectorDeleteResponse:
id: str
activated: bool
interrupt_window_days_of_week: List[Literal["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: float
maximum24
minimum1
interrupt_window_embargo_dates: List[str]

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

interrupt_window_hour_of_day: float
last_updated: str
notes: str
timezone: str
device: Optional[Device]
id: str
serial_number: Optional[str]
last_heartbeat: Optional[str]
last_seen_version: Optional[str]
license_key: Optional[str]

Magic TransitConnectorsEvents

List Events
magic_transit.connectors.events.list(strconnector_id, EventListParams**kwargs) -> EventListResponse
GET/accounts/{account_id}/magic/connectors/{connector_id}/telemetry/events
Get Event
magic_transit.connectors.events.get(floatevent_n, EventGetParams**kwargs) -> EventGetResponse
GET/accounts/{account_id}/magic/connectors/{connector_id}/telemetry/events/{event_t}.{event_n}
ModelsExpand Collapse
class EventListResponse:
count: float
items: List[Item]
a: float

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

k: str

Kind

n: float

Sequence number, used to order events with the same timestamp

t: float

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

cursor: Optional[str]
class EventGetResponse:

Recorded Event

e: E
One of the following:
class EInit:
k: Literal["Init"]

Initialized process

class ELeave:
k: Literal["Leave"]

Stopped process

class EStartAttestation:
k: Literal["StartAttestation"]

Started attestation

class EFinishAttestationSuccess:
k: Literal["FinishAttestationSuccess"]

Finished attestation

class EFinishAttestationFailure:
k: Literal["FinishAttestationFailure"]

Failed attestation

class EStartRotateCryptKey:
k: Literal["StartRotateCryptKey"]

Started crypt key rotation

class EFinishRotateCryptKeySuccess:
k: Literal["FinishRotateCryptKeySuccess"]

Finished crypt key rotation

class EFinishRotateCryptKeyFailure:
k: Literal["FinishRotateCryptKeyFailure"]

Failed crypt key rotation

class EStartRotatePki:
k: Literal["StartRotatePki"]

Started PKI rotation

class EFinishRotatePkiSuccess:
k: Literal["FinishRotatePkiSuccess"]

Finished PKI rotation

class EFinishRotatePkiFailure:
k: Literal["FinishRotatePkiFailure"]

Failed PKI rotation

class EStartUpgrade:
k: Literal["StartUpgrade"]

Started upgrade

url: str

Location of upgrade bundle

class EFinishUpgradeSuccess:
k: Literal["FinishUpgradeSuccess"]

Finished upgrade

class EFinishUpgradeFailure:
k: Literal["FinishUpgradeFailure"]

Failed upgrade

class EReconcile:
k: Literal["Reconcile"]

Reconciled

class EConfigureCloudflaredTunnel:
k: Literal["ConfigureCloudflaredTunnel"]

Configured Cloudflared tunnel

n: float

Sequence number, used to order events with the same timestamp

t: float

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

v: Optional[str]

Version

Magic TransitConnectorsEventsLatest

Get latest Events
magic_transit.connectors.events.latest.list(strconnector_id, LatestListParams**kwargs) -> LatestListResponse
GET/accounts/{account_id}/magic/connectors/{connector_id}/telemetry/events/latest
ModelsExpand Collapse
class LatestListResponse:
count: float
items: List[Item]
e: ItemE
One of the following:
class ItemEInit:
k: Literal["Init"]

Initialized process

class ItemELeave:
k: Literal["Leave"]

Stopped process

class ItemEStartAttestation:
k: Literal["StartAttestation"]

Started attestation

class ItemEFinishAttestationSuccess:
k: Literal["FinishAttestationSuccess"]

Finished attestation

class ItemEFinishAttestationFailure:
k: Literal["FinishAttestationFailure"]

Failed attestation

class ItemEStartRotateCryptKey:
k: Literal["StartRotateCryptKey"]

Started crypt key rotation

class ItemEFinishRotateCryptKeySuccess:
k: Literal["FinishRotateCryptKeySuccess"]

Finished crypt key rotation

class ItemEFinishRotateCryptKeyFailure:
k: Literal["FinishRotateCryptKeyFailure"]

Failed crypt key rotation

class ItemEStartRotatePki:
k: Literal["StartRotatePki"]

Started PKI rotation

class ItemEFinishRotatePkiSuccess:
k: Literal["FinishRotatePkiSuccess"]

Finished PKI rotation

class ItemEFinishRotatePkiFailure:
k: Literal["FinishRotatePkiFailure"]

Failed PKI rotation

class ItemEStartUpgrade:
k: Literal["StartUpgrade"]

Started upgrade

url: str

Location of upgrade bundle

class ItemEFinishUpgradeSuccess:
k: Literal["FinishUpgradeSuccess"]

Finished upgrade

class ItemEFinishUpgradeFailure:
k: Literal["FinishUpgradeFailure"]

Failed upgrade

class ItemEReconcile:
k: Literal["Reconcile"]

Reconciled

class ItemEConfigureCloudflaredTunnel:
k: Literal["ConfigureCloudflaredTunnel"]

Configured Cloudflared tunnel

n: float

Sequence number, used to order events with the same timestamp

t: float

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

v: Optional[str]

Version

Magic TransitConnectorsSnapshots

List Snapshots
magic_transit.connectors.snapshots.list(strconnector_id, SnapshotListParams**kwargs) -> SnapshotListResponse
GET/accounts/{account_id}/magic/connectors/{connector_id}/telemetry/snapshots
Get Snapshot
magic_transit.connectors.snapshots.get(floatsnapshot_t, SnapshotGetParams**kwargs) -> SnapshotGetResponse
GET/accounts/{account_id}/magic/connectors/{connector_id}/telemetry/snapshots/{snapshot_t}
ModelsExpand Collapse
class SnapshotListResponse:
count: float
items: List[Item]
a: float

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

t: float

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

cursor: Optional[str]
class SnapshotGetResponse:

Snapshot

count_reclaim_failures: float

Count of failures to reclaim space

count_reclaimed_paths: float

Count of reclaimed paths

count_record_failed: float

Count of failed snapshot recordings

count_transmit_failures: float

Count of failed snapshot transmissions

t: float

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

v: str

Version

bonds: Optional[List[Bond]]
name: str

Name of the network interface

status: str

Current status of the network interface

cpu_count: Optional[float]

Count of processors/cores

cpu_pressure_10s: Optional[float]

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

cpu_pressure_300s: Optional[float]

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

cpu_pressure_60s: Optional[float]

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

cpu_pressure_total_us: Optional[float]

Total stall time (microseconds)

cpu_time_guest_ms: Optional[float]

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

cpu_time_guest_nice_ms: Optional[float]

Time spent running a niced guest (milliseconds)

cpu_time_idle_ms: Optional[float]

Time spent in idle state (milliseconds)

cpu_time_iowait_ms: Optional[float]

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

cpu_time_irq_ms: Optional[float]

Time spent servicing interrupts (milliseconds)

cpu_time_nice_ms: Optional[float]

Time spent in low-priority user mode (milliseconds)

cpu_time_softirq_ms: Optional[float]

Time spent servicing softirqs (milliseconds)

cpu_time_steal_ms: Optional[float]

Time stolen (milliseconds)

cpu_time_system_ms: Optional[float]

Time spent in system mode (milliseconds)

cpu_time_user_ms: Optional[float]

Time spent in user mode (milliseconds)

delta: Optional[float]

Number of network operations applied during state transition

dhcp_leases: Optional[List[DHCPLease]]
client_id: str

Client ID of the device the IP Address was leased to

expiry_time: float

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

hostname: str

Hostname of the device the IP Address was leased to

interface_name: str

Name of the network interface

ip_address: str

IP Address that was leased

mac_address: str

MAC Address of the device the IP Address was leased to

disks: Optional[List[Disk]]
in_progress: float

I/Os currently in progress

major: float

Device major number

merged: float

Reads merged

minor: float

Device minor number

name: str

Device name

reads: float

Reads completed successfully

sectors_read: float

Sectors read successfully

sectors_written: float

Sectors written successfully

time_in_progress_ms: float

Time spent doing I/Os (milliseconds)

time_reading_ms: float

Time spent reading (milliseconds)

time_writing_ms: float

Time spent writing (milliseconds)

weighted_time_in_progress_ms: float

Weighted time spent doing I/Os (milliseconds)

writes: float

Writes completed

writes_merged: float

Writes merged

discards: Optional[float]

Discards completed successfully

discards_merged: Optional[float]

Discards merged

flushes: Optional[float]

Flushes completed successfully

sectors_discarded: Optional[float]

Sectors discarded

time_discarding_ms: Optional[float]

Time spent discarding (milliseconds)

time_flushing_ms: Optional[float]

Time spent flushing (milliseconds)

epsilon: Optional[float]

Simulated number of network operations applied during state transition

ha_state: Optional[str]

Name of high availability state

ha_value: Optional[float]

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

interfaces: Optional[List[Interface]]
name: str

Name of the network interface

operstate: str

UP/DOWN state of the network interface

ip_addresses: Optional[List[InterfaceIPAddress]]
interface_name: str

Name of the network interface

ip_address: str

IP address of the network interface

speed: Optional[float]

Speed of the network interface (bits per second)

io_pressure_full_10s: Optional[float]

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

io_pressure_full_300s: Optional[float]

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

io_pressure_full_60s: Optional[float]

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

io_pressure_full_total_us: Optional[float]

Total stall time (microseconds)

io_pressure_some_10s: Optional[float]

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

io_pressure_some_300s: Optional[float]

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

io_pressure_some_60s: Optional[float]

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

io_pressure_some_total_us: Optional[float]

Total stall time (microseconds)

kernel_btime: Optional[float]

Boot time (seconds since Unix epoch)

kernel_ctxt: Optional[float]

Number of context switches that the system underwent

kernel_processes: Optional[float]

Number of forks since boot

kernel_processes_blocked: Optional[float]

Number of processes blocked waiting for I/O

kernel_processes_running: Optional[float]

Number of processes in runnable state

load_average_15m: Optional[float]

The fifteen-minute load average

load_average_1m: Optional[float]

The one-minute load average

load_average_5m: Optional[float]

The five-minute load average

load_average_cur: Optional[float]

Number of currently runnable kernel scheduling entities

load_average_max: Optional[float]

Number of kernel scheduling entities that currently exist on the system

memory_active_bytes: Optional[float]

Memory that has been used more recently

memory_anon_hugepages_bytes: Optional[float]

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

memory_anon_pages_bytes: Optional[float]

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

memory_available_bytes: Optional[float]

Estimate of how much memory is available for starting new applications

memory_bounce_bytes: Optional[float]

Memory used for block device bounce buffers

memory_buffers_bytes: Optional[float]

Relatively temporary storage for raw disk blocks

memory_cached_bytes: Optional[float]

In-memory cache for files read from the disk

memory_cma_free_bytes: Optional[float]

Free CMA (Contiguous Memory Allocator) pages

memory_cma_total_bytes: Optional[float]

Total CMA (Contiguous Memory Allocator) pages

memory_commit_limit_bytes: Optional[float]

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

memory_committed_as_bytes: Optional[float]

Amount of memory presently allocated on the system

memory_dirty_bytes: Optional[float]

Memory which is waiting to get written back to the disk

memory_free_bytes: Optional[float]

The sum of LowFree and HighFree

memory_high_free_bytes: Optional[float]

Amount of free highmem

memory_high_total_bytes: Optional[float]

Total amount of highmem

memory_hugepages_free: Optional[float]

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

memory_hugepages_rsvd: Optional[float]

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

memory_hugepages_surp: Optional[float]

Number of huge pages in the pool above the threshold

memory_hugepages_total: Optional[float]

The size of the pool of huge pages

memory_hugepagesize_bytes: Optional[float]

The size of huge pages

memory_inactive_bytes: Optional[float]

Memory which has been less recently used

memory_k_reclaimable_bytes: Optional[float]

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

memory_kernel_stack_bytes: Optional[float]

Amount of memory allocated to kernel stacks

memory_low_free_bytes: Optional[float]

Amount of free lowmem

memory_low_total_bytes: Optional[float]

Total amount of lowmem

memory_mapped_bytes: Optional[float]

Files which have been mapped into memory

memory_page_tables_bytes: Optional[float]

Amount of memory dedicated to the lowest level of page tables

memory_per_cpu_bytes: Optional[float]

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

memory_pressure_full_10s: Optional[float]

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

memory_pressure_full_300s: Optional[float]

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

memory_pressure_full_60s: Optional[float]

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

memory_pressure_full_total_us: Optional[float]

Total stall time (microseconds)

memory_pressure_some_10s: Optional[float]

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

memory_pressure_some_300s: Optional[float]

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

memory_pressure_some_60s: Optional[float]

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

memory_pressure_some_total_us: Optional[float]

Total stall time (microseconds)

memory_s_reclaimable_bytes: Optional[float]

Part of slab that can be reclaimed on memory pressure

memory_s_unreclaim_bytes: Optional[float]

Part of slab that cannot be reclaimed on memory pressure

memory_secondary_page_tables_bytes: Optional[float]

Amount of memory dedicated to the lowest level of page tables

memory_shmem_bytes: Optional[float]

Amount of memory consumed by tmpfs

memory_shmem_hugepages_bytes: Optional[float]

Memory used by shmem and tmpfs, allocated with huge pages

memory_shmem_pmd_mapped_bytes: Optional[float]

Shared memory mapped into user space with huge pages

memory_slab_bytes: Optional[float]

In-kernel data structures cache

memory_swap_cached_bytes: Optional[float]

Memory swapped out and back in while still in swap file

memory_swap_free_bytes: Optional[float]

Amount of swap space that is currently unused

memory_swap_total_bytes: Optional[float]

Total amount of swap space available

memory_total_bytes: Optional[float]

Total usable RAM

memory_vmalloc_chunk_bytes: Optional[float]

Largest contiguous block of vmalloc area which is free

memory_vmalloc_total_bytes: Optional[float]

Total size of vmalloc memory area

memory_vmalloc_used_bytes: Optional[float]

Amount of vmalloc area which is used

memory_writeback_bytes: Optional[float]

Memory which is actively being written back to the disk

memory_writeback_tmp_bytes: Optional[float]

Memory used by FUSE for temporary writeback buffers

memory_z_swap_bytes: Optional[float]

Memory consumed by the zswap backend, compressed

memory_z_swapped_bytes: Optional[float]

Amount of anonymous memory stored in zswap, uncompressed

mounts: Optional[List[Mount]]
file_system: str

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

kind: str

Kind of disk (HDD, SSD, etc.)

mount_point: str

Path where disk is mounted

name: str

Name of the disk mount

available_bytes: Optional[float]

Available disk size (bytes)

is_read_only: Optional[bool]

Determines whether the disk is read-only

is_removable: Optional[bool]

Determines whether the disk is removable

total_bytes: Optional[float]

Total disk size (bytes)

netdevs: Optional[List[Netdev]]
name: str

Name of the network device

recv_bytes: float

Total bytes received

recv_compressed: float

Compressed packets received

recv_drop: float

Packets dropped

recv_errs: float

Bad packets received

recv_fifo: float

FIFO overruns

recv_frame: float

Frame alignment errors

recv_multicast: float

Multicast packets received

recv_packets: float

Total packets received

sent_bytes: float

Total bytes transmitted

sent_carrier: float

Number of packets not sent due to carrier errors

sent_colls: float

Number of collisions

sent_compressed: float

Number of compressed packets transmitted

sent_drop: float

Number of packets dropped during transmission

sent_errs: float

Number of transmission errors

sent_fifo: float

FIFO overruns

sent_packets: float

Total packets transmitted

snmp_icmp_in_addr_mask_reps: Optional[float]

Number of ICMP Address Mask Reply messages received

snmp_icmp_in_addr_masks: Optional[float]

Number of ICMP Address Mask Request messages received

snmp_icmp_in_csum_errors: Optional[float]

Number of ICMP messages received with bad checksums

snmp_icmp_in_dest_unreachs: Optional[float]

Number of ICMP Destination Unreachable messages received

snmp_icmp_in_echo_reps: Optional[float]

Number of ICMP Echo Reply messages received

snmp_icmp_in_echos: Optional[float]

Number of ICMP Echo (request) messages received

snmp_icmp_in_errors: Optional[float]

Number of ICMP messages received with ICMP-specific errors

snmp_icmp_in_msgs: Optional[float]

Number of ICMP messages received

snmp_icmp_in_parm_probs: Optional[float]

Number of ICMP Parameter Problem messages received

snmp_icmp_in_redirects: Optional[float]

Number of ICMP Redirect messages received

snmp_icmp_in_src_quenchs: Optional[float]

Number of ICMP Source Quench messages received

snmp_icmp_in_time_excds: Optional[float]

Number of ICMP Time Exceeded messages received

snmp_icmp_in_timestamp_reps: Optional[float]

Number of ICMP Address Mask Request messages received

snmp_icmp_in_timestamps: Optional[float]

Number of ICMP Timestamp (request) messages received

snmp_icmp_out_addr_mask_reps: Optional[float]

Number of ICMP Address Mask Reply messages sent

snmp_icmp_out_addr_masks: Optional[float]

Number of ICMP Address Mask Request messages sent

snmp_icmp_out_dest_unreachs: Optional[float]

Number of ICMP Destination Unreachable messages sent

snmp_icmp_out_echo_reps: Optional[float]

Number of ICMP Echo Reply messages sent

snmp_icmp_out_echos: Optional[float]

Number of ICMP Echo (request) messages sent

snmp_icmp_out_errors: Optional[float]

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

snmp_icmp_out_msgs: Optional[float]

Number of ICMP messages attempted to send

snmp_icmp_out_parm_probs: Optional[float]

Number of ICMP Parameter Problem messages sent

snmp_icmp_out_redirects: Optional[float]

Number of ICMP Redirect messages sent

snmp_icmp_out_src_quenchs: Optional[float]

Number of ICMP Source Quench messages sent

snmp_icmp_out_time_excds: Optional[float]

Number of ICMP Time Exceeded messages sent

snmp_icmp_out_timestamp_reps: Optional[float]

Number of ICMP Timestamp Reply messages sent

snmp_icmp_out_timestamps: Optional[float]

Number of ICMP Timestamp (request) messages sent

snmp_ip_default_ttl: Optional[float]

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

snmp_ip_forw_datagrams: Optional[float]

Number of datagrams forwarded to their final destination

snmp_ip_forwarding_enabled: Optional[bool]

Set when acting as an IP gateway

snmp_ip_frag_creates: Optional[float]

Number of datagrams generated by fragmentation

snmp_ip_frag_fails: Optional[float]

Number of datagrams discarded because fragmentation failed

snmp_ip_frag_oks: Optional[float]

Number of datagrams successfully fragmented

snmp_ip_in_addr_errors: Optional[float]

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

snmp_ip_in_delivers: Optional[float]

Number of input datagrams successfully delivered to IP user-protocols

snmp_ip_in_discards: Optional[float]

Number of input datagrams otherwise discarded

snmp_ip_in_hdr_errors: Optional[float]

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

snmp_ip_in_receives: Optional[float]

Number of input datagrams received from interfaces

snmp_ip_in_unknown_protos: Optional[float]

Number of input datagrams discarded due unknown or unsupported protocol

snmp_ip_out_discards: Optional[float]

Number of output datagrams otherwise discarded

snmp_ip_out_no_routes: Optional[float]

Number of output datagrams discarded because no route matched

snmp_ip_out_requests: Optional[float]

Number of datagrams supplied for transmission

snmp_ip_reasm_fails: Optional[float]

Number of failures detected by the reassembly algorithm

snmp_ip_reasm_oks: Optional[float]

Number of datagrams successfully reassembled

snmp_ip_reasm_reqds: Optional[float]

Number of fragments received which needed to be reassembled

snmp_ip_reasm_timeout: Optional[float]

Number of seconds fragments are held while awaiting reassembly

snmp_tcp_active_opens: Optional[float]

Number of times TCP transitions to SYN-SENT from CLOSED

snmp_tcp_attempt_fails: Optional[float]

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

snmp_tcp_curr_estab: Optional[float]

Number of TCP connections in ESTABLISHED or CLOSE-WAIT

snmp_tcp_estab_resets: Optional[float]

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

snmp_tcp_in_csum_errors: Optional[float]

Number of TCP segments received with checksum errors

snmp_tcp_in_errs: Optional[float]

Number of TCP segments received in error

snmp_tcp_in_segs: Optional[float]

Number of TCP segments received

snmp_tcp_max_conn: Optional[float]

Limit on the total number of TCP connections

snmp_tcp_out_rsts: Optional[float]

Number of TCP segments sent with RST flag

snmp_tcp_out_segs: Optional[float]

Number of TCP segments sent

snmp_tcp_passive_opens: Optional[float]

Number of times TCP transitions to SYN-RCVD from LISTEN

snmp_tcp_retrans_segs: Optional[float]

Number of TCP segments retransmitted

snmp_tcp_rto_max: Optional[float]

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

snmp_tcp_rto_min: Optional[float]

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

snmp_udp_in_datagrams: Optional[float]

Number of UDP datagrams delivered to UDP applications

snmp_udp_in_errors: Optional[float]

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

snmp_udp_no_ports: Optional[float]

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

snmp_udp_out_datagrams: Optional[float]

Number of UDP datagrams sent

system_boot_time_s: Optional[float]

Boottime of the system (seconds since the Unix epoch)

thermals: Optional[List[Thermal]]
label: str

Sensor identifier for the component

critical_celcius: Optional[float]

Critical failure temperature of the component (degrees Celsius)

current_celcius: Optional[float]

Current temperature of the component (degrees Celsius)

max_celcius: Optional[float]

Maximum temperature of the component (degrees Celsius)

tunnels: Optional[List[Tunnel]]
health_state: str

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

health_value: float

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

interface_name: str

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

tunnel_id: str

Tunnel identifier

probed_mtu: Optional[float]

MTU as measured between the two ends of the tunnel

recent_healthy_pings: Optional[float]

Number of recent healthy pings for this tunnel

recent_unhealthy_pings: Optional[float]

Number of recent unhealthy pings for this tunnel

uptime_idle_ms: Optional[float]

Sum of how much time each core has spent idle

uptime_total_ms: Optional[float]

Uptime of the system, including time spent in suspend

Magic TransitConnectorsSnapshotsLatest

Get latest Snapshots
magic_transit.connectors.snapshots.latest.list(strconnector_id, LatestListParams**kwargs) -> LatestListResponse
GET/accounts/{account_id}/magic/connectors/{connector_id}/telemetry/snapshots/latest
ModelsExpand Collapse
class LatestListResponse:
count: float
items: List[Item]
count_reclaim_failures: float

Count of failures to reclaim space

count_reclaimed_paths: float

Count of reclaimed paths

count_record_failed: float

Count of failed snapshot recordings

count_transmit_failures: float

Count of failed snapshot transmissions

t: float

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

v: str

Version

bonds: Optional[List[ItemBond]]
name: str

Name of the network interface

status: str

Current status of the network interface

cpu_count: Optional[float]

Count of processors/cores

cpu_pressure_10s: Optional[float]

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

cpu_pressure_300s: Optional[float]

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

cpu_pressure_60s: Optional[float]

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

cpu_pressure_total_us: Optional[float]

Total stall time (microseconds)

cpu_time_guest_ms: Optional[float]

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

cpu_time_guest_nice_ms: Optional[float]

Time spent running a niced guest (milliseconds)

cpu_time_idle_ms: Optional[float]

Time spent in idle state (milliseconds)

cpu_time_iowait_ms: Optional[float]

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

cpu_time_irq_ms: Optional[float]

Time spent servicing interrupts (milliseconds)

cpu_time_nice_ms: Optional[float]

Time spent in low-priority user mode (milliseconds)

cpu_time_softirq_ms: Optional[float]

Time spent servicing softirqs (milliseconds)

cpu_time_steal_ms: Optional[float]

Time stolen (milliseconds)

cpu_time_system_ms: Optional[float]

Time spent in system mode (milliseconds)

cpu_time_user_ms: Optional[float]

Time spent in user mode (milliseconds)

delta: Optional[float]

Number of network operations applied during state transition

dhcp_leases: Optional[List[ItemDHCPLease]]
client_id: str

Client ID of the device the IP Address was leased to

expiry_time: float

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

hostname: str

Hostname of the device the IP Address was leased to

interface_name: str

Name of the network interface

ip_address: str

IP Address that was leased

mac_address: str

MAC Address of the device the IP Address was leased to

disks: Optional[List[ItemDisk]]
in_progress: float

I/Os currently in progress

major: float

Device major number

merged: float

Reads merged

minor: float

Device minor number

name: str

Device name

reads: float

Reads completed successfully

sectors_read: float

Sectors read successfully

sectors_written: float

Sectors written successfully

time_in_progress_ms: float

Time spent doing I/Os (milliseconds)

time_reading_ms: float

Time spent reading (milliseconds)

time_writing_ms: float

Time spent writing (milliseconds)

weighted_time_in_progress_ms: float

Weighted time spent doing I/Os (milliseconds)

writes: float

Writes completed

writes_merged: float

Writes merged

discards: Optional[float]

Discards completed successfully

discards_merged: Optional[float]

Discards merged

flushes: Optional[float]

Flushes completed successfully

sectors_discarded: Optional[float]

Sectors discarded

time_discarding_ms: Optional[float]

Time spent discarding (milliseconds)

time_flushing_ms: Optional[float]

Time spent flushing (milliseconds)

epsilon: Optional[float]

Simulated number of network operations applied during state transition

ha_state: Optional[str]

Name of high availability state

ha_value: Optional[float]

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

interfaces: Optional[List[ItemInterface]]
name: str

Name of the network interface

operstate: str

UP/DOWN state of the network interface

ip_addresses: Optional[List[ItemInterfaceIPAddress]]
interface_name: str

Name of the network interface

ip_address: str

IP address of the network interface

speed: Optional[float]

Speed of the network interface (bits per second)

io_pressure_full_10s: Optional[float]

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

io_pressure_full_300s: Optional[float]

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

io_pressure_full_60s: Optional[float]

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

io_pressure_full_total_us: Optional[float]

Total stall time (microseconds)

io_pressure_some_10s: Optional[float]

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

io_pressure_some_300s: Optional[float]

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

io_pressure_some_60s: Optional[float]

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

io_pressure_some_total_us: Optional[float]

Total stall time (microseconds)

kernel_btime: Optional[float]

Boot time (seconds since Unix epoch)

kernel_ctxt: Optional[float]

Number of context switches that the system underwent

kernel_processes: Optional[float]

Number of forks since boot

kernel_processes_blocked: Optional[float]

Number of processes blocked waiting for I/O

kernel_processes_running: Optional[float]

Number of processes in runnable state

load_average_15m: Optional[float]

The fifteen-minute load average

load_average_1m: Optional[float]

The one-minute load average

load_average_5m: Optional[float]

The five-minute load average

load_average_cur: Optional[float]

Number of currently runnable kernel scheduling entities

load_average_max: Optional[float]

Number of kernel scheduling entities that currently exist on the system

memory_active_bytes: Optional[float]

Memory that has been used more recently

memory_anon_hugepages_bytes: Optional[float]

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

memory_anon_pages_bytes: Optional[float]

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

memory_available_bytes: Optional[float]

Estimate of how much memory is available for starting new applications

memory_bounce_bytes: Optional[float]

Memory used for block device bounce buffers

memory_buffers_bytes: Optional[float]

Relatively temporary storage for raw disk blocks

memory_cached_bytes: Optional[float]

In-memory cache for files read from the disk

memory_cma_free_bytes: Optional[float]

Free CMA (Contiguous Memory Allocator) pages

memory_cma_total_bytes: Optional[float]

Total CMA (Contiguous Memory Allocator) pages

memory_commit_limit_bytes: Optional[float]

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

memory_committed_as_bytes: Optional[float]

Amount of memory presently allocated on the system

memory_dirty_bytes: Optional[float]

Memory which is waiting to get written back to the disk

memory_free_bytes: Optional[float]

The sum of LowFree and HighFree

memory_high_free_bytes: Optional[float]

Amount of free highmem

memory_high_total_bytes: Optional[float]

Total amount of highmem

memory_hugepages_free: Optional[float]

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

memory_hugepages_rsvd: Optional[float]

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

memory_hugepages_surp: Optional[float]

Number of huge pages in the pool above the threshold

memory_hugepages_total: Optional[float]

The size of the pool of huge pages

memory_hugepagesize_bytes: Optional[float]

The size of huge pages

memory_inactive_bytes: Optional[float]

Memory which has been less recently used

memory_k_reclaimable_bytes: Optional[float]

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

memory_kernel_stack_bytes: Optional[float]

Amount of memory allocated to kernel stacks

memory_low_free_bytes: Optional[float]

Amount of free lowmem

memory_low_total_bytes: Optional[float]

Total amount of lowmem

memory_mapped_bytes: Optional[float]

Files which have been mapped into memory

memory_page_tables_bytes: Optional[float]

Amount of memory dedicated to the lowest level of page tables

memory_per_cpu_bytes: Optional[float]

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

memory_pressure_full_10s: Optional[float]

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

memory_pressure_full_300s: Optional[float]

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

memory_pressure_full_60s: Optional[float]

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

memory_pressure_full_total_us: Optional[float]

Total stall time (microseconds)

memory_pressure_some_10s: Optional[float]

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

memory_pressure_some_300s: Optional[float]

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

memory_pressure_some_60s: Optional[float]

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

memory_pressure_some_total_us: Optional[float]

Total stall time (microseconds)

memory_s_reclaimable_bytes: Optional[float]

Part of slab that can be reclaimed on memory pressure

memory_s_unreclaim_bytes: Optional[float]

Part of slab that cannot be reclaimed on memory pressure

memory_secondary_page_tables_bytes: Optional[float]

Amount of memory dedicated to the lowest level of page tables

memory_shmem_bytes: Optional[float]

Amount of memory consumed by tmpfs

memory_shmem_hugepages_bytes: Optional[float]

Memory used by shmem and tmpfs, allocated with huge pages

memory_shmem_pmd_mapped_bytes: Optional[float]

Shared memory mapped into user space with huge pages

memory_slab_bytes: Optional[float]

In-kernel data structures cache

memory_swap_cached_bytes: Optional[float]

Memory swapped out and back in while still in swap file

memory_swap_free_bytes: Optional[float]

Amount of swap space that is currently unused

memory_swap_total_bytes: Optional[float]

Total amount of swap space available

memory_total_bytes: Optional[float]

Total usable RAM

memory_vmalloc_chunk_bytes: Optional[float]

Largest contiguous block of vmalloc area which is free

memory_vmalloc_total_bytes: Optional[float]

Total size of vmalloc memory area

memory_vmalloc_used_bytes: Optional[float]

Amount of vmalloc area which is used

memory_writeback_bytes: Optional[float]

Memory which is actively being written back to the disk

memory_writeback_tmp_bytes: Optional[float]

Memory used by FUSE for temporary writeback buffers

memory_z_swap_bytes: Optional[float]

Memory consumed by the zswap backend, compressed

memory_z_swapped_bytes: Optional[float]

Amount of anonymous memory stored in zswap, uncompressed

mounts: Optional[List[ItemMount]]
file_system: str

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

kind: str

Kind of disk (HDD, SSD, etc.)

mount_point: str

Path where disk is mounted

name: str

Name of the disk mount

available_bytes: Optional[float]

Available disk size (bytes)

is_read_only: Optional[bool]

Determines whether the disk is read-only

is_removable: Optional[bool]

Determines whether the disk is removable

total_bytes: Optional[float]

Total disk size (bytes)

netdevs: Optional[List[ItemNetdev]]
name: str

Name of the network device

recv_bytes: float

Total bytes received

recv_compressed: float

Compressed packets received

recv_drop: float

Packets dropped

recv_errs: float

Bad packets received

recv_fifo: float

FIFO overruns

recv_frame: float

Frame alignment errors

recv_multicast: float

Multicast packets received

recv_packets: float

Total packets received

sent_bytes: float

Total bytes transmitted

sent_carrier: float

Number of packets not sent due to carrier errors

sent_colls: float

Number of collisions

sent_compressed: float

Number of compressed packets transmitted

sent_drop: float

Number of packets dropped during transmission

sent_errs: float

Number of transmission errors

sent_fifo: float

FIFO overruns

sent_packets: float

Total packets transmitted

snmp_icmp_in_addr_mask_reps: Optional[float]

Number of ICMP Address Mask Reply messages received

snmp_icmp_in_addr_masks: Optional[float]

Number of ICMP Address Mask Request messages received

snmp_icmp_in_csum_errors: Optional[float]

Number of ICMP messages received with bad checksums

snmp_icmp_in_dest_unreachs: Optional[float]

Number of ICMP Destination Unreachable messages received

snmp_icmp_in_echo_reps: Optional[float]

Number of ICMP Echo Reply messages received

snmp_icmp_in_echos: Optional[float]

Number of ICMP Echo (request) messages received

snmp_icmp_in_errors: Optional[float]

Number of ICMP messages received with ICMP-specific errors

snmp_icmp_in_msgs: Optional[float]

Number of ICMP messages received

snmp_icmp_in_parm_probs: Optional[float]

Number of ICMP Parameter Problem messages received

snmp_icmp_in_redirects: Optional[float]

Number of ICMP Redirect messages received

snmp_icmp_in_src_quenchs: Optional[float]

Number of ICMP Source Quench messages received

snmp_icmp_in_time_excds: Optional[float]

Number of ICMP Time Exceeded messages received

snmp_icmp_in_timestamp_reps: Optional[float]

Number of ICMP Address Mask Request messages received

snmp_icmp_in_timestamps: Optional[float]

Number of ICMP Timestamp (request) messages received

snmp_icmp_out_addr_mask_reps: Optional[float]

Number of ICMP Address Mask Reply messages sent

snmp_icmp_out_addr_masks: Optional[float]

Number of ICMP Address Mask Request messages sent

snmp_icmp_out_dest_unreachs: Optional[float]

Number of ICMP Destination Unreachable messages sent

snmp_icmp_out_echo_reps: Optional[float]

Number of ICMP Echo Reply messages sent

snmp_icmp_out_echos: Optional[float]

Number of ICMP Echo (request) messages sent

snmp_icmp_out_errors: Optional[float]

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

snmp_icmp_out_msgs: Optional[float]

Number of ICMP messages attempted to send

snmp_icmp_out_parm_probs: Optional[float]

Number of ICMP Parameter Problem messages sent

snmp_icmp_out_redirects: Optional[float]

Number of ICMP Redirect messages sent

snmp_icmp_out_src_quenchs: Optional[float]

Number of ICMP Source Quench messages sent

snmp_icmp_out_time_excds: Optional[float]

Number of ICMP Time Exceeded messages sent

snmp_icmp_out_timestamp_reps: Optional[float]

Number of ICMP Timestamp Reply messages sent

snmp_icmp_out_timestamps: Optional[float]

Number of ICMP Timestamp (request) messages sent

snmp_ip_default_ttl: Optional[float]

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

snmp_ip_forw_datagrams: Optional[float]

Number of datagrams forwarded to their final destination

snmp_ip_forwarding_enabled: Optional[bool]

Set when acting as an IP gateway

snmp_ip_frag_creates: Optional[float]

Number of datagrams generated by fragmentation

snmp_ip_frag_fails: Optional[float]

Number of datagrams discarded because fragmentation failed

snmp_ip_frag_oks: Optional[float]

Number of datagrams successfully fragmented

snmp_ip_in_addr_errors: Optional[float]

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

snmp_ip_in_delivers: Optional[float]

Number of input datagrams successfully delivered to IP user-protocols

snmp_ip_in_discards: Optional[float]

Number of input datagrams otherwise discarded

snmp_ip_in_hdr_errors: Optional[float]

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

snmp_ip_in_receives: Optional[float]

Number of input datagrams received from interfaces

snmp_ip_in_unknown_protos: Optional[float]

Number of input datagrams discarded due unknown or unsupported protocol

snmp_ip_out_discards: Optional[float]

Number of output datagrams otherwise discarded

snmp_ip_out_no_routes: Optional[float]

Number of output datagrams discarded because no route matched

snmp_ip_out_requests: Optional[float]

Number of datagrams supplied for transmission

snmp_ip_reasm_fails: Optional[float]

Number of failures detected by the reassembly algorithm

snmp_ip_reasm_oks: Optional[float]

Number of datagrams successfully reassembled

snmp_ip_reasm_reqds: Optional[float]

Number of fragments received which needed to be reassembled

snmp_ip_reasm_timeout: Optional[float]

Number of seconds fragments are held while awaiting reassembly

snmp_tcp_active_opens: Optional[float]

Number of times TCP transitions to SYN-SENT from CLOSED

snmp_tcp_attempt_fails: Optional[float]

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

snmp_tcp_curr_estab: Optional[float]

Number of TCP connections in ESTABLISHED or CLOSE-WAIT

snmp_tcp_estab_resets: Optional[float]

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

snmp_tcp_in_csum_errors: Optional[float]

Number of TCP segments received with checksum errors

snmp_tcp_in_errs: Optional[float]

Number of TCP segments received in error

snmp_tcp_in_segs: Optional[float]

Number of TCP segments received

snmp_tcp_max_conn: Optional[float]

Limit on the total number of TCP connections

snmp_tcp_out_rsts: Optional[float]

Number of TCP segments sent with RST flag

snmp_tcp_out_segs: Optional[float]

Number of TCP segments sent

snmp_tcp_passive_opens: Optional[float]

Number of times TCP transitions to SYN-RCVD from LISTEN

snmp_tcp_retrans_segs: Optional[float]

Number of TCP segments retransmitted

snmp_tcp_rto_max: Optional[float]

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

snmp_tcp_rto_min: Optional[float]

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

snmp_udp_in_datagrams: Optional[float]

Number of UDP datagrams delivered to UDP applications

snmp_udp_in_errors: Optional[float]

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

snmp_udp_no_ports: Optional[float]

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

snmp_udp_out_datagrams: Optional[float]

Number of UDP datagrams sent

system_boot_time_s: Optional[float]

Boottime of the system (seconds since the Unix epoch)

thermals: Optional[List[ItemThermal]]
label: str

Sensor identifier for the component

critical_celcius: Optional[float]

Critical failure temperature of the component (degrees Celsius)

current_celcius: Optional[float]

Current temperature of the component (degrees Celsius)

max_celcius: Optional[float]

Maximum temperature of the component (degrees Celsius)

tunnels: Optional[List[ItemTunnel]]
health_state: str

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

health_value: float

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

interface_name: str

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

tunnel_id: str

Tunnel identifier

probed_mtu: Optional[float]

MTU as measured between the two ends of the tunnel

recent_healthy_pings: Optional[float]

Number of recent healthy pings for this tunnel

recent_unhealthy_pings: Optional[float]

Number of recent unhealthy pings for this tunnel

uptime_idle_ms: Optional[float]

Sum of how much time each core has spent idle

uptime_total_ms: Optional[float]

Uptime of the system, including time spent in suspend

Magic TransitPCAPs

List packet capture requests
magic_transit.pcaps.list(PCAPListParams**kwargs) -> SyncSinglePage[PCAPListResponse]
GET/accounts/{account_id}/pcaps
Get PCAP request
magic_transit.pcaps.get(strpcap_id, PCAPGetParams**kwargs) -> PCAPGetResponse
GET/accounts/{account_id}/pcaps/{pcap_id}
Create PCAP request
magic_transit.pcaps.create(PCAPCreateParams**kwargs) -> PCAPCreateResponse
POST/accounts/{account_id}/pcaps
Stop full PCAP
magic_transit.pcaps.stop(strpcap_id, PCAPStopParams**kwargs)
PUT/accounts/{account_id}/pcaps/{pcap_id}/stop
ModelsExpand Collapse
class PCAP:
id: Optional[str]

The ID for the packet capture.

maxLength32
minLength32
filter_v1: Optional[PCAPFilter]

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

offset_time: Optional[datetime]

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

formatdate-time
status: Optional[Literal["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: Optional[str]

The RFC 3339 timestamp when the packet capture was created.

system: Optional[Literal["magic-transit"]]

The system used to collect packet captures.

time_limit: Optional[float]

The packet capture duration in seconds.

maximum300
minimum1
type: Optional[Literal["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"
class PCAPFilter:

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

destination_address: Optional[str]

The destination IP address of the packet.

destination_port: Optional[float]

The destination port of the packet.

protocol: Optional[float]

The protocol number of the packet.

source_address: Optional[str]

The source IP address of the packet.

source_port: Optional[float]

The source port of the packet.

One of the following:
class PCAP:
id: Optional[str]

The ID for the packet capture.

maxLength32
minLength32
filter_v1: Optional[PCAPFilter]

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

offset_time: Optional[datetime]

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

formatdate-time
status: Optional[Literal["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: Optional[str]

The RFC 3339 timestamp when the packet capture was created.

system: Optional[Literal["magic-transit"]]

The system used to collect packet captures.

time_limit: Optional[float]

The packet capture duration in seconds.

maximum300
minimum1
type: Optional[Literal["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"
class MagicVisibilityPCAPsPCAPsResponseFull:
id: Optional[str]

The ID for the packet capture.

maxLength32
minLength32
byte_limit: Optional[float]

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

maximum1000000000
minimum1
colo_name: Optional[str]

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

destination_conf: Optional[str]

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

error_message: Optional[str]

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

filter_v1: Optional[PCAPFilter]

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

packets_captured: Optional[int]

The number of packets captured.

status: Optional[Literal["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: Optional[datetime]

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

formatdate-time
submitted: Optional[str]

The RFC 3339 timestamp when the packet capture was created.

system: Optional[Literal["magic-transit"]]

The system used to collect packet captures.

time_limit: Optional[float]

The packet capture duration in seconds.

maximum86400
minimum1
type: Optional[Literal["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"
One of the following:
class PCAP:
id: Optional[str]

The ID for the packet capture.

maxLength32
minLength32
filter_v1: Optional[PCAPFilter]

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

offset_time: Optional[datetime]

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

formatdate-time
status: Optional[Literal["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: Optional[str]

The RFC 3339 timestamp when the packet capture was created.

system: Optional[Literal["magic-transit"]]

The system used to collect packet captures.

time_limit: Optional[float]

The packet capture duration in seconds.

maximum300
minimum1
type: Optional[Literal["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"
class MagicVisibilityPCAPsPCAPsResponseFull:
id: Optional[str]

The ID for the packet capture.

maxLength32
minLength32
byte_limit: Optional[float]

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

maximum1000000000
minimum1
colo_name: Optional[str]

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

destination_conf: Optional[str]

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

error_message: Optional[str]

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

filter_v1: Optional[PCAPFilter]

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

packets_captured: Optional[int]

The number of packets captured.

status: Optional[Literal["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: Optional[datetime]

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

formatdate-time
submitted: Optional[str]

The RFC 3339 timestamp when the packet capture was created.

system: Optional[Literal["magic-transit"]]

The system used to collect packet captures.

time_limit: Optional[float]

The packet capture duration in seconds.

maximum86400
minimum1
type: Optional[Literal["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"
One of the following:
class PCAP:
id: Optional[str]

The ID for the packet capture.

maxLength32
minLength32
filter_v1: Optional[PCAPFilter]

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

offset_time: Optional[datetime]

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

formatdate-time
status: Optional[Literal["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: Optional[str]

The RFC 3339 timestamp when the packet capture was created.

system: Optional[Literal["magic-transit"]]

The system used to collect packet captures.

time_limit: Optional[float]

The packet capture duration in seconds.

maximum300
minimum1
type: Optional[Literal["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"
class MagicVisibilityPCAPsPCAPsResponseFull:
id: Optional[str]

The ID for the packet capture.

maxLength32
minLength32
byte_limit: Optional[float]

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

maximum1000000000
minimum1
colo_name: Optional[str]

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

destination_conf: Optional[str]

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

error_message: Optional[str]

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

filter_v1: Optional[PCAPFilter]

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

packets_captured: Optional[int]

The number of packets captured.

status: Optional[Literal["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: Optional[datetime]

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

formatdate-time
submitted: Optional[str]

The RFC 3339 timestamp when the packet capture was created.

system: Optional[Literal["magic-transit"]]

The system used to collect packet captures.

time_limit: Optional[float]

The packet capture duration in seconds.

maximum86400
minimum1
type: Optional[Literal["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
magic_transit.pcaps.ownership.get(OwnershipGetParams**kwargs) -> SyncSinglePage[Ownership]
GET/accounts/{account_id}/pcaps/ownership
Add buckets for full packet captures
magic_transit.pcaps.ownership.create(OwnershipCreateParams**kwargs) -> Ownership
POST/accounts/{account_id}/pcaps/ownership
Delete buckets for full packet captures
magic_transit.pcaps.ownership.delete(strownership_id, OwnershipDeleteParams**kwargs)
DELETE/accounts/{account_id}/pcaps/ownership/{ownership_id}
Validate buckets for full packet captures
magic_transit.pcaps.ownership.validate(OwnershipValidateParams**kwargs) -> Ownership
POST/accounts/{account_id}/pcaps/ownership/validate
ModelsExpand Collapse
class Ownership:
id: str

The bucket ID associated with the packet captures API.

maxLength32
minLength32
destination_conf: str

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

filename: str

The ownership challenge filename stored in the bucket.

status: Literal["pending", "success", "failed"]

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

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

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

validated: Optional[str]

The RFC 3339 timestamp when the bucket was validated.

Magic TransitPCAPsDownload

Download Simple PCAP
magic_transit.pcaps.download.get(strpcap_id, DownloadGetParams**kwargs) -> BinaryResponseContent
GET/accounts/{account_id}/pcaps/{pcap_id}/download