telnyx-numbers-services-python

star 2

Configure voicemail, voice channels, and emergency (E911) services for your phone numbers. This skill provides Python SDK examples.

team-telnyx By team-telnyx schedule Updated 2/10/2026

name: telnyx-numbers-services-python description: >- Configure voicemail, voice channels, and emergency (E911) services for your phone numbers. This skill provides Python SDK examples. metadata: author: telnyx product: numbers-services language: python generated_by: telnyx-ext-skills-generator

Telnyx Numbers Services - Python

Installation

pip install telnyx

Setup

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 dynamic emergency addresses

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)

Create a dynamic emergency address.

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)

Get a dynamic emergency address

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)

Delete a dynamic emergency address

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)

List dynamic emergency endpoints

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)

Create a dynamic emergency endpoint.

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)

Get a dynamic emergency endpoint

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)

Delete a dynamic emergency endpoint

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)

List your voice channels for non-US zones

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 voice channels for non-US Zones

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)

List your voice channels for US Zone

Returns the US Zone voice channels for your account.

GET /inbound_channels

inbound_channels = client.inbound_channels.list()
print(inbound_channels.data)

Update voice channels for US Zone

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)

List All Numbers using Channel Billing

Retrieve a list of all phone numbers using Channel Billing, grouped by Zone.

GET /list

response = client.list.retrieve_all()
print(response.data)

List Numbers using Channel Billing for a specific Zone

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)

Get voicemail

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

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

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)
Install via CLI
npx skills add https://github.com/team-telnyx/telnyx-toolkit --skill telnyx-numbers-services-python
Repository Details
star Stars 2
call_split Forks 1
navigation Branch main
article Path SKILL.md
More from Creator