Loading...
Loading...
Configure private networks, WireGuard VPN gateways, internet gateways, and virtual cross connects. This skill provides Python SDK examples.
npx skill4agent add team-telnyx/skills telnyx-networking-pythonpip install telnyximport os
from telnyx import Telnyx
client = Telnyx(
api_key=os.environ.get("TELNYX_API_KEY"), # This is the default and can be omitted
)clientimport telnyx
try:
result = client.messages.send(to="+13125550001", from_="+13125550002", text="Hello")
except telnyx.APIConnectionError:
print("Network error — check connectivity and retry")
except telnyx.RateLimitError:
# 429: rate limited — wait and retry with exponential backoff
import time
time.sleep(1) # Check Retry-After header for actual delay
except telnyx.APIStatusError as e:
print(f"API error {e.status_code}: {e.message}")
if e.status_code == 422:
print("Validation error — check required fields and formats")401403404422429for item in page_result:GET /ai/clusterspage = client.ai.clusters.list()
page = page.data[0]
print(page.task_id)bucketcreated_atfinished_atmin_cluster_sizemin_subcluster_sizestatustask_idPOST /ai/clustersbucketfilesmin_cluster_sizemin_subcluster_sizeprefixresponse = client.ai.clusters.compute(
bucket="my-bucket",
)
print(response.data)task_idGET /ai/clusters/{task_id}cluster = client.ai.clusters.retrieve(
task_id="550e8400-e29b-41d4-a716-446655440000",
)
print(cluster.data)bucketclustersstatusDELETE /ai/clusters/{task_id}client.ai.clusters.delete(
"task_id",
)GET /ai/clusters/{task_id}/graphresponse = client.ai.clusters.fetch_graph(
task_id="550e8400-e29b-41d4-a716-446655440000",
)
print(response)
content = response.read()
print(content)GET /ai/integrationsintegrations = client.ai.integrations.list()
print(integrations.data)available_toolsdescriptiondisplay_nameidlogo_urlnamestatusGET /ai/integrations/connectionsconnections = client.ai.integrations.connections.list()
print(connections.data)allowed_toolsidintegration_idGET /ai/integrations/connections/{user_connection_id}connection = client.ai.integrations.connections.retrieve(
"user_connection_id",
)
print(connection.data)allowed_toolsidintegration_idDELETE /ai/integrations/connections/{user_connection_id}client.ai.integrations.connections.delete(
"user_connection_id",
)GET /ai/integrations/{integration_id}integration = client.ai.integrations.retrieve(
"integration_id",
)
print(integration.id)available_toolsdescriptiondisplay_nameidlogo_urlnamestatusGET /global_ip_allowed_portsglobal_ip_allowed_ports = client.global_ip_allowed_ports.list()
print(global_ip_allowed_ports.data)first_portidlast_portnameprotocol_coderecord_typeGET /global_ip_assignment_healthglobal_ip_assignment_health = client.global_ip_assignment_health.retrieve()
print(global_ip_assignment_health.data)global_ipglobal_ip_assignmenthealthtimestampGET /global_ip_assignmentspage = client.global_ip_assignments.list()
page = page.data[0]
print(page.id)created_atglobal_ip_ididis_announcedis_connectedis_in_maintenancerecord_typestatusupdated_atwireguard_peer_idPOST /global_ip_assignmentscreated_atglobal_ip_ididis_announcedis_connectedis_in_maintenancerecord_typestatusupdated_atwireguard_peer_idglobal_ip_assignment = client.global_ip_assignments.create()
print(global_ip_assignment.data)created_atglobal_ip_ididis_announcedis_connectedis_in_maintenancerecord_typestatusupdated_atwireguard_peer_idGET /global_ip_assignments/{id}global_ip_assignment = client.global_ip_assignments.retrieve(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(global_ip_assignment.data)created_atglobal_ip_ididis_announcedis_connectedis_in_maintenancerecord_typestatusupdated_atwireguard_peer_idPATCH /global_ip_assignments/{id}created_atglobal_ip_ididis_announcedis_connectedis_in_maintenancerecord_typestatusupdated_atwireguard_peer_idglobal_ip_assignment = client.global_ip_assignments.update(
global_ip_assignment_id="6a09cdc3-8948-47f0-aa62-74ac943d6c58",
global_ip_assignment_update_request={},
)
print(global_ip_assignment.data)created_atglobal_ip_ididis_announcedis_connectedis_in_maintenancerecord_typestatusupdated_atwireguard_peer_idDELETE /global_ip_assignments/{id}global_ip_assignment = client.global_ip_assignments.delete(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(global_ip_assignment.data)created_atglobal_ip_ididis_announcedis_connectedis_in_maintenancerecord_typestatusupdated_atwireguard_peer_idGET /global_ip_assignments_usageglobal_ip_assignments_usage = client.global_ip_assignments_usage.retrieve()
print(global_ip_assignments_usage.data)global_ipglobal_ip_assignmentreceivedtimestamptransmittedGET /global_ip_health_check_typesglobal_ip_health_check_types = client.global_ip_health_check_types.list()
print(global_ip_health_check_types.data)health_check_paramshealth_check_typerecord_typeGET /global_ip_health_checkspage = client.global_ip_health_checks.list()
page = page.data[0]
print(page)created_atglobal_ip_idhealth_check_paramshealth_check_typeidrecord_typeupdated_atPOST /global_ip_health_checkscreated_atglobal_ip_idhealth_check_paramshealth_check_typeidrecord_typeupdated_atglobal_ip_health_check = client.global_ip_health_checks.create()
print(global_ip_health_check.data)created_atglobal_ip_idhealth_check_paramshealth_check_typeidrecord_typeupdated_atGET /global_ip_health_checks/{id}global_ip_health_check = client.global_ip_health_checks.retrieve(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(global_ip_health_check.data)created_atglobal_ip_idhealth_check_paramshealth_check_typeidrecord_typeupdated_atDELETE /global_ip_health_checks/{id}global_ip_health_check = client.global_ip_health_checks.delete(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(global_ip_health_check.data)created_atglobal_ip_idhealth_check_paramshealth_check_typeidrecord_typeupdated_atGET /global_ip_latencyglobal_ip_latency = client.global_ip_latency.retrieve()
print(global_ip_latency.data)global_ipmean_latencypercentile_latencyprober_locationtimestampGET /global_ip_protocolsglobal_ip_protocols = client.global_ip_protocols.list()
print(global_ip_protocols.data)codenamerecord_typeGET /global_ip_usageglobal_ip_usage = client.global_ip_usage.retrieve()
print(global_ip_usage.data)global_ipreceivedtimestamptransmittedGET /global_ipspage = client.global_ips.list()
page = page.data[0]
print(page)created_atdescriptionidip_addressnameportsrecord_typeupdated_atPOST /global_ipscreated_atdescriptionidip_addressnameportsrecord_typeupdated_atglobal_ip = client.global_ips.create()
print(global_ip.data)created_atdescriptionidip_addressnameportsrecord_typeupdated_atGET /global_ips/{id}global_ip = client.global_ips.retrieve(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(global_ip.data)created_atdescriptionidip_addressnameportsrecord_typeupdated_atDELETE /global_ips/{id}global_ip = client.global_ips.delete(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(global_ip.data)created_atdescriptionidip_addressnameportsrecord_typeupdated_atGET /networkspage = client.networks.list()
page = page.data[0]
print(page)created_atidnamerecord_typeupdated_atPOST /networksnamecreated_atidrecord_typeupdated_atnetwork = client.networks.create(
name="test network",
)
print(network.data)created_atidnamerecord_typeupdated_atGET /networks/{id}network = client.networks.retrieve(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(network.data)created_atidnamerecord_typeupdated_atPATCH /networks/{id}namecreated_atidrecord_typeupdated_atnetwork = client.networks.update(
network_id="6a09cdc3-8948-47f0-aa62-74ac943d6c58",
name="test network",
)
print(network.data)created_atidnamerecord_typeupdated_atDELETE /networks/{id}network = client.networks.delete(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(network.data)created_atidnamerecord_typeupdated_atGET /networks/{id}/default_gatewaydefault_gateway = client.networks.default_gateway.retrieve(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(default_gateway.data)created_atidnetwork_idrecord_typestatusupdated_atwireguard_peer_idPOST /networks/{id}/default_gatewaycreated_atidnetwork_idrecord_typestatusupdated_atwireguard_peer_iddefault_gateway = client.networks.default_gateway.create(
network_identifier="6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(default_gateway.data)created_atidnetwork_idrecord_typestatusupdated_atwireguard_peer_idDELETE /networks/{id}/default_gatewaydefault_gateway = client.networks.default_gateway.delete(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(default_gateway.data)created_atidnetwork_idrecord_typestatusupdated_atwireguard_peer_idGET /networks/{id}/network_interfacespage = client.networks.list_interfaces(
id="6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
page = page.data[0]
print(page)created_atidnamenetwork_idrecord_typeregionregion_codestatustypeupdated_atGET /private_wireless_gatewayspage = client.private_wireless_gateways.list()
page = page.data[0]
print(page.id)assigned_resourcescreated_atidip_rangenamenetwork_idrecord_typeregion_codestatusupdated_atPOST /private_wireless_gatewaysnetwork_idnameregion_codeprivate_wireless_gateway = client.private_wireless_gateways.create(
name="My private wireless gateway",
network_id="6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(private_wireless_gateway.data)assigned_resourcescreated_atidip_rangenamenetwork_idrecord_typeregion_codestatusupdated_atGET /private_wireless_gateways/{id}private_wireless_gateway = client.private_wireless_gateways.retrieve(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(private_wireless_gateway.data)assigned_resourcescreated_atidip_rangenamenetwork_idrecord_typeregion_codestatusupdated_atDELETE /private_wireless_gateways/{id}private_wireless_gateway = client.private_wireless_gateways.delete(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(private_wireless_gateway.data)assigned_resourcescreated_atidip_rangenamenetwork_idrecord_typeregion_codestatusupdated_atGET /public_internet_gatewayspage = client.public_internet_gateways.list()
page = page.data[0]
print(page)created_atidnamenetwork_idpublic_iprecord_typeregion_codestatusupdated_atPOST /public_internet_gatewayscreated_atidnamenetwork_idpublic_iprecord_typeregion_codestatusupdated_atpublic_internet_gateway = client.public_internet_gateways.create()
print(public_internet_gateway.data)created_atidnamenetwork_idpublic_iprecord_typeregion_codestatusupdated_atGET /public_internet_gateways/{id}public_internet_gateway = client.public_internet_gateways.retrieve(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(public_internet_gateway.data)created_atidnamenetwork_idpublic_iprecord_typeregion_codestatusupdated_atDELETE /public_internet_gateways/{id}public_internet_gateway = client.public_internet_gateways.delete(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(public_internet_gateway.data)created_atidnamenetwork_idpublic_iprecord_typeregion_codestatusupdated_atGET /regionsregions = client.regions.list()
print(regions.data)codecreated_atnamerecord_typesupported_interfacesupdated_atGET /virtual_cross_connectspage = client.virtual_cross_connects.list()
page = page.data[0]
print(page)bandwidth_mbpsbgp_asncloud_providercloud_provider_regioncreated_atidnamenetwork_idprimary_bgp_keyprimary_cloud_account_idprimary_cloud_ipprimary_enabledprimary_routing_announcementprimary_telnyx_iprecord_typeregionregion_codesecondary_bgp_keysecondary_cloud_account_idsecondary_cloud_ipsecondary_enabledsecondary_routing_announcementsecondary_telnyx_ipstatusupdated_atPOST /virtual_cross_connectsnetwork_idregion_codecloud_providercloud_provider_regionbgp_asnprimary_cloud_account_idbandwidth_mbpscreated_atidnameprimary_bgp_keyprimary_cloud_ipprimary_enabledprimary_telnyx_iprecord_typesecondary_bgp_keysecondary_cloud_account_idsecondary_cloud_ipsecondary_enabledsecondary_telnyx_ipstatusupdated_atvirtual_cross_connect = client.virtual_cross_connects.create(
region_code="ashburn-va",
)
print(virtual_cross_connect.data)bandwidth_mbpsbgp_asncloud_providercloud_provider_regioncreated_atidnamenetwork_idprimary_bgp_keyprimary_cloud_account_idprimary_cloud_ipprimary_enabledprimary_routing_announcementprimary_telnyx_iprecord_typeregionregion_codesecondary_bgp_keysecondary_cloud_account_idsecondary_cloud_ipsecondary_enabledsecondary_routing_announcementsecondary_telnyx_ipstatusupdated_atGET /virtual_cross_connects/{id}virtual_cross_connect = client.virtual_cross_connects.retrieve(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(virtual_cross_connect.data)bandwidth_mbpsbgp_asncloud_providercloud_provider_regioncreated_atidnamenetwork_idprimary_bgp_keyprimary_cloud_account_idprimary_cloud_ipprimary_enabledprimary_routing_announcementprimary_telnyx_iprecord_typeregionregion_codesecondary_bgp_keysecondary_cloud_account_idsecondary_cloud_ipsecondary_enabledsecondary_routing_announcementsecondary_telnyx_ipstatusupdated_atcreatedPATCH /virtual_cross_connects/{id}primary_cloud_ipprimary_enabledprimary_routing_announcementsecondary_cloud_ipsecondary_enabledsecondary_routing_announcementvirtual_cross_connect = client.virtual_cross_connects.update(
id="6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(virtual_cross_connect.data)bandwidth_mbpsbgp_asncloud_providercloud_provider_regioncreated_atidnamenetwork_idprimary_bgp_keyprimary_cloud_account_idprimary_cloud_ipprimary_enabledprimary_routing_announcementprimary_telnyx_iprecord_typeregionregion_codesecondary_bgp_keysecondary_cloud_account_idsecondary_cloud_ipsecondary_enabledsecondary_routing_announcementsecondary_telnyx_ipstatusupdated_atDELETE /virtual_cross_connects/{id}virtual_cross_connect = client.virtual_cross_connects.delete(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(virtual_cross_connect.data)bandwidth_mbpsbgp_asncloud_providercloud_provider_regioncreated_atidnamenetwork_idprimary_bgp_keyprimary_cloud_account_idprimary_cloud_ipprimary_enabledprimary_routing_announcementprimary_telnyx_iprecord_typeregionregion_codesecondary_bgp_keysecondary_cloud_account_idsecondary_cloud_ipsecondary_enabledsecondary_routing_announcementsecondary_telnyx_ipstatusupdated_atlocation_codeGET /virtual_cross_connects_coveragepage = client.virtual_cross_connects_coverage.list()
page = page.data[0]
print(page.available_bandwidth)available_bandwidthcloud_providercloud_provider_regionlocationrecord_typeGET /wireguard_interfacespage = client.wireguard_interfaces.list()
page = page.data[0]
print(page)created_atenable_sip_trunkingendpointidnamenetwork_idpublic_keyrecord_typeregionregion_codestatusupdated_atPOST /wireguard_interfacesnetwork_idregion_codecreated_atenable_sip_trunkingendpointidnamepublic_keyrecord_typestatusupdated_atwireguard_interface = client.wireguard_interfaces.create(
region_code="ashburn-va",
)
print(wireguard_interface.data)created_atenable_sip_trunkingendpointidnamenetwork_idpublic_keyrecord_typeregionregion_codestatusupdated_atGET /wireguard_interfaces/{id}wireguard_interface = client.wireguard_interfaces.retrieve(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(wireguard_interface.data)created_atenable_sip_trunkingendpointidnamenetwork_idpublic_keyrecord_typeregionregion_codestatusupdated_atDELETE /wireguard_interfaces/{id}wireguard_interface = client.wireguard_interfaces.delete(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(wireguard_interface.data)created_atenable_sip_trunkingendpointidnamenetwork_idpublic_keyrecord_typeregionregion_codestatusupdated_atGET /wireguard_peerspage = client.wireguard_peers.list()
page = page.data[0]
print(page)created_atidlast_seenprivate_keypublic_keyrecord_typeupdated_atwireguard_interface_idPOST /wireguard_peerswireguard_interface_idcreated_atidlast_seenprivate_keypublic_keyrecord_typeupdated_atwireguard_peer = client.wireguard_peers.create(
wireguard_interface_id="6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(wireguard_peer.data)created_atidlast_seenprivate_keypublic_keyrecord_typeupdated_atwireguard_interface_idGET /wireguard_peers/{id}wireguard_peer = client.wireguard_peers.retrieve(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(wireguard_peer.data)created_atidlast_seenprivate_keypublic_keyrecord_typeupdated_atwireguard_interface_idPATCH /wireguard_peers/{id}public_keywireguard_peer = client.wireguard_peers.update(
id="6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(wireguard_peer.data)created_atidlast_seenprivate_keypublic_keyrecord_typeupdated_atwireguard_interface_idDELETE /wireguard_peers/{id}wireguard_peer = client.wireguard_peers.delete(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(wireguard_peer.data)created_atidlast_seenprivate_keypublic_keyrecord_typeupdated_atwireguard_interface_idGET /wireguard_peers/{id}/configresponse = client.wireguard_peers.retrieve_config(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(response)