api/python/telnyx-numbers-services-python/SKILL.md
Configure voicemail, voice channels, and emergency (E911) services for your phone numbers. This skill provides Python SDK examples.
npx skillsauth add team-telnyx/telnyx-toolkit telnyx-numbers-services-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.
Returns the dynamic emergency addresses according to filters
GET /dynamic_emergency_addresses
page = client.dynamic_emergency_addresses.list()
page = page.data[0]
print(page.id)
Creates a dynamic emergency address.
POST /dynamic_emergency_addresses — Required: house_number, street_name, locality, administrative_area, postal_code, country_code
dynamic_emergency_address = client.dynamic_emergency_addresses.create(
administrative_area="TX",
country_code="US",
house_number="600",
locality="Austin",
postal_code="78701",
street_name="Congress",
)
print(dynamic_emergency_address.data)
Returns the dynamic emergency address based on the ID provided
GET /dynamic_emergency_addresses/{id}
dynamic_emergency_address = client.dynamic_emergency_addresses.retrieve(
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(dynamic_emergency_address.data)
Deletes the dynamic emergency address based on the ID provided
DELETE /dynamic_emergency_addresses/{id}
dynamic_emergency_address = client.dynamic_emergency_addresses.delete(
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(dynamic_emergency_address.data)
Returns the dynamic emergency endpoints according to filters
GET /dynamic_emergency_endpoints
page = client.dynamic_emergency_endpoints.list()
page = page.data[0]
print(page.dynamic_emergency_address_id)
Creates a dynamic emergency endpoints.
POST /dynamic_emergency_endpoints — Required: dynamic_emergency_address_id, callback_number, caller_name
dynamic_emergency_endpoint = client.dynamic_emergency_endpoints.create(
callback_number="+13125550000",
caller_name="Jane Doe Desk Phone",
dynamic_emergency_address_id="0ccc7b54-4df3-4bca-a65a-3da1ecc777f0",
)
print(dynamic_emergency_endpoint.data)
Returns the dynamic emergency endpoint based on the ID provided
GET /dynamic_emergency_endpoints/{id}
dynamic_emergency_endpoint = client.dynamic_emergency_endpoints.retrieve(
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(dynamic_emergency_endpoint.data)
Deletes the dynamic emergency endpoint based on the ID provided
DELETE /dynamic_emergency_endpoints/{id}
dynamic_emergency_endpoint = client.dynamic_emergency_endpoints.delete(
"182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e",
)
print(dynamic_emergency_endpoint.data)
Returns the non-US voice channels for your account.
GET /channel_zones
page = client.channel_zones.list()
page = page.data[0]
print(page.id)
Update the number of Voice Channels for the Non-US Zones.
PUT /channel_zones/{channel_zone_id} — Required: channels
channel_zone = client.channel_zones.update(
channel_zone_id="channel_zone_id",
channels=0,
)
print(channel_zone.id)
Returns the US Zone voice channels for your account.
GET /inbound_channels
inbound_channels = client.inbound_channels.list()
print(inbound_channels.data)
Update the number of Voice Channels for the US Zone.
PATCH /inbound_channels — Required: channels
inbound_channel = client.inbound_channels.update(
channels=7,
)
print(inbound_channel.data)
Retrieve a list of all phone numbers using Channel Billing, grouped by Zone.
GET /list
response = client.list.retrieve_all()
print(response.data)
Retrieve a list of phone numbers using Channel Billing for a specific Zone.
GET /list/{channel_zone_id}
response = client.list.retrieve_by_zone(
"channel_zone_id",
)
print(response.data)
Returns the voicemail settings for a phone number
GET /phone_numbers/{phone_number_id}/voicemail
voicemail = client.phone_numbers.voicemail.retrieve(
"123455678900",
)
print(voicemail.data)
Create voicemail settings for a phone number
POST /phone_numbers/{phone_number_id}/voicemail
voicemail = client.phone_numbers.voicemail.create(
phone_number_id="123455678900",
)
print(voicemail.data)
Update voicemail settings for a phone number
PATCH /phone_numbers/{phone_number_id}/voicemail
voicemail = client.phone_numbers.voicemail.update(
phone_number_id="123455678900",
)
print(voicemail.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.