api/python/telnyx-networking-python/SKILL.md
Configure private networks, WireGuard VPN gateways, internet gateways, and virtual cross connects. This skill provides Python SDK examples.
npx skillsauth add team-telnyx/telnyx-toolkit telnyx-networking-pythonInstall this skill globally with one command. Works with Claude Code, Cursor, and Windsurf.
3 of 9 scanners reported clean
Some scanners were skipped, did not run, or reported a non-clean status. Review each row below.
pip install telnyx
import os
from telnyx import Telnyx
client = Telnyx(
api_key=os.environ.get("TELNYX_API_KEY"), # This is the default and can be omitted
)
All examples below assume client is already initialized as shown above.
List all regions and the interfaces that region supports
GET /regions
regions = client.regions.list()
print(regions.data)
List all Networks.
GET /networks
page = client.networks.list()
page = page.data[0]
print(page)
Create a new Network.
POST /networks
network = client.networks.create(
name="test network",
)
print(network.data)
Retrieve a Network.
GET /networks/{id}
network = client.networks.retrieve(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(network.data)
Update a Network.
PATCH /networks/{id}
network = client.networks.update(
network_id="6a09cdc3-8948-47f0-aa62-74ac943d6c58",
name="test network",
)
print(network.data)
Delete a Network.
DELETE /networks/{id}
network = client.networks.delete(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(network.data)
GET /networks/{id}/default_gateway
default_gateway = client.networks.default_gateway.retrieve(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(default_gateway.data)
POST /networks/{id}/default_gateway
default_gateway = client.networks.default_gateway.create(
network_identifier="6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(default_gateway.data)
DELETE /networks/{id}/default_gateway
default_gateway = client.networks.default_gateway.delete(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(default_gateway.data)
GET /networks/{id}/network_interfaces
page = client.networks.list_interfaces(
id="6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
page = page.data[0]
print(page)
List all WireGuard Interfaces.
GET /wireguard_interfaces
page = client.wireguard_interfaces.list()
page = page.data[0]
print(page)
Create a new WireGuard Interface.
POST /wireguard_interfaces
wireguard_interface = client.wireguard_interfaces.create(
region_code="ashburn-va",
)
print(wireguard_interface.data)
Retrieve a WireGuard Interfaces.
GET /wireguard_interfaces/{id}
wireguard_interface = client.wireguard_interfaces.retrieve(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(wireguard_interface.data)
Delete a WireGuard Interface.
DELETE /wireguard_interfaces/{id}
wireguard_interface = client.wireguard_interfaces.delete(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(wireguard_interface.data)
List all WireGuard peers.
GET /wireguard_peers
page = client.wireguard_peers.list()
page = page.data[0]
print(page)
Create a new WireGuard Peer.
POST /wireguard_peers
wireguard_peer = client.wireguard_peers.create(
wireguard_interface_id="6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(wireguard_peer.data)
Retrieve the WireGuard peer.
GET /wireguard_peers/{id}
wireguard_peer = client.wireguard_peers.retrieve(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(wireguard_peer.data)
Update the WireGuard peer.
PATCH /wireguard_peers/{id}
wireguard_peer = client.wireguard_peers.update(
id="6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(wireguard_peer.data)
Delete the WireGuard peer.
DELETE /wireguard_peers/{id}
wireguard_peer = client.wireguard_peers.delete(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(wireguard_peer.data)
GET /wireguard_peers/{id}/config
response = client.wireguard_peers.retrieve_config(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(response)
Get all Private Wireless Gateways belonging to the user.
GET /private_wireless_gateways
page = client.private_wireless_gateways.list()
page = page.data[0]
print(page.id)
Asynchronously create a Private Wireless Gateway for SIM cards for a previously created network.
POST /private_wireless_gateways — Required: network_id, name
private_wireless_gateway = client.private_wireless_gateways.create(
name="My private wireless gateway",
network_id="6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(private_wireless_gateway.data)
Retrieve information about a Private Wireless Gateway.
GET /private_wireless_gateways/{id}
private_wireless_gateway = client.private_wireless_gateways.retrieve(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(private_wireless_gateway.data)
Deletes the Private Wireless Gateway.
DELETE /private_wireless_gateways/{id}
private_wireless_gateway = client.private_wireless_gateways.delete(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(private_wireless_gateway.data)
List all Public Internet Gateways.
GET /public_internet_gateways
page = client.public_internet_gateways.list()
page = page.data[0]
print(page)
Create a new Public Internet Gateway.
POST /public_internet_gateways
public_internet_gateway = client.public_internet_gateways.create()
print(public_internet_gateway.data)
Retrieve a Public Internet Gateway.
GET /public_internet_gateways/{id}
public_internet_gateway = client.public_internet_gateways.retrieve(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(public_internet_gateway.data)
Delete a Public Internet Gateway.
DELETE /public_internet_gateways/{id}
public_internet_gateway = client.public_internet_gateways.delete(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(public_internet_gateway.data)
List all Virtual Cross Connects.
GET /virtual_cross_connects
page = client.virtual_cross_connects.list()
page = page.data[0]
print(page)
Create a new Virtual Cross Connect.<br /><br />For AWS and GCE, you have the option of creating the primary connection first and the secondary connection later.
POST /virtual_cross_connects
virtual_cross_connect = client.virtual_cross_connects.create(
region_code="ashburn-va",
)
print(virtual_cross_connect.data)
Retrieve a Virtual Cross Connect.
GET /virtual_cross_connects/{id}
virtual_cross_connect = client.virtual_cross_connects.retrieve(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(virtual_cross_connect.data)
Update the Virtual Cross Connect.<br /><br />Cloud IPs can only be patched during the created state, as GCE will only inform you of your generated IP once the pending connection requested has bee...
PATCH /virtual_cross_connects/{id}
virtual_cross_connect = client.virtual_cross_connects.update(
id="6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(virtual_cross_connect.data)
Delete a Virtual Cross Connect.
DELETE /virtual_cross_connects/{id}
virtual_cross_connect = client.virtual_cross_connects.delete(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(virtual_cross_connect.data)
List Virtual Cross Connects Cloud Coverage.<br /><br />This endpoint shows which cloud regions are available for the location_code your Virtual Cross Connect will be provisioned in.
GET /virtual_cross_connects/coverage
page = client.virtual_cross_connects_coverage.list()
page = page.data[0]
print(page.available_bandwidth)
List all Global IPs.
GET /global_ips
page = client.global_ips.list()
page = page.data[0]
print(page)
Create a Global IP.
POST /global_ips
global_ip = client.global_ips.create()
print(global_ip.data)
Retrieve a Global IP.
GET /global_ips/{id}
global_ip = client.global_ips.retrieve(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(global_ip.data)
Delete a Global IP.
DELETE /global_ips/{id}
global_ip = client.global_ips.delete(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(global_ip.data)
GET /global_ip_allowed_ports
global_ip_allowed_ports = client.global_ip_allowed_ports.list()
print(global_ip_allowed_ports.data)
GET /global_ip_assignment_health
global_ip_assignment_health = client.global_ip_assignment_health.retrieve()
print(global_ip_assignment_health.data)
List all Global IP assignments.
GET /global_ip_assignments
page = client.global_ip_assignments.list()
page = page.data[0]
print(page.id)
Create a Global IP assignment.
POST /global_ip_assignments
global_ip_assignment = client.global_ip_assignments.create()
print(global_ip_assignment.data)
Retrieve a Global IP assignment.
GET /global_ip_assignments/{id}
global_ip_assignment = client.global_ip_assignments.retrieve(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(global_ip_assignment.data)
Update a Global IP assignment.
PATCH /global_ip_assignments/{id}
global_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)
Delete a Global IP assignment.
DELETE /global_ip_assignments/{id}
global_ip_assignment = client.global_ip_assignments.delete(
"6a09cdc3-8948-47f0-aa62-74ac943d6c58",
)
print(global_ip_assignment.data)
GET /global_ip_assignments/usage
global_ip_assignments_usage = client.global_ip_assignments_usage.retrieve()
print(global_ip_assignments_usage.data)
List all Global IP Health check types.
GET /global_ip_health_check_types
global_ip_health_check_types = client.global_ip_health_check_types.list()
print(global_ip_health_check_types.data)
List all Global IP health checks.
GET /global_ip_health_checks
page = client.global_ip_health_checks.list()
page = page.data[0]
print(page)
Create a Global IP health check.
POST /global_ip_health_checks
global_ip_health_check = client.global_ip_health_checks.create()
print(global_ip_health_check.data)
Retrieve a Global IP health check.
GET /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)
Delete a Global IP health check.
DELETE /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)
GET /global_ip_latency
global_ip_latency = client.global_ip_latency.retrieve()
print(global_ip_latency.data)
GET /global_ip_protocols
global_ip_protocols = client.global_ip_protocols.list()
print(global_ip_protocols.data)
GET /global_ip_usage
global_ip_usage = client.global_ip_usage.retrieve()
print(global_ip_usage.data)
tools
Build cross-platform VoIP calling apps with React Native using Telnyx Voice SDK. High-level reactive API with automatic lifecycle management, CallKit/ConnectionService integration, and push notifications. Use for mobile VoIP apps with minimal setup.
tools
Build browser-based VoIP calling apps using Telnyx WebRTC JavaScript SDK. Covers authentication, voice calls, events, debugging, call quality metrics, and AI Agent integration. Use for web-based real-time communication.
tools
Build VoIP calling apps on iOS using Telnyx WebRTC SDK. Covers authentication, making/receiving calls, CallKit integration, PushKit/APNS push notifications, call quality metrics, and AI Agent integration. Use when implementing real-time voice communication on iOS.
tools
Build cross-platform VoIP calling apps with Flutter using Telnyx WebRTC SDK. Covers authentication, making/receiving calls, push notifications (FCM + APNS), call quality metrics, and AI Agent integration. Works on Android, iOS, and Web.