Configure voicemail, voice channels, and emergency (E911) services for your phone numbers. This skill provides Ruby SDK examples.
Scanned 2/12/2026
Install via CLI
openskills install team-telnyx/telnyx-ext-agent-skills---
name: telnyx-numbers-services-ruby
description: >-
Configure voicemail, voice channels, and emergency (E911) services for your
phone numbers. This skill provides Ruby SDK examples.
metadata:
author: telnyx
product: numbers-services
language: ruby
---
# Telnyx Numbers Services - Ruby
## Installation
```bash
gem install telnyx
```
## Setup
```ruby
require "telnyx"
client = Telnyx::Client.new(
api_key: ENV["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`
```ruby
telnyx = Telnyx::Client.new(api_key: "My API Key")
page = telnyx.dynamic_emergency_addresses.list
puts(page)
```
## 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`
```ruby
telnyx = Telnyx::Client.new(api_key: "My API Key")
dynamic_emergency_address = telnyx.dynamic_emergency_addresses.create(
administrative_area: "TX",
country_code: :US,
house_number: "600",
locality: "Austin",
postal_code: "78701",
street_name: "Congress"
)
puts(dynamic_emergency_address)
```
## Get a dynamic emergency address
Returns the dynamic emergency address based on the ID provided
`GET /dynamic_emergency_addresses/{id}`
```ruby
telnyx = Telnyx::Client.new(api_key: "My API Key")
dynamic_emergency_address = telnyx.dynamic_emergency_addresses.retrieve("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
puts(dynamic_emergency_address)
```
## Delete a dynamic emergency address
Deletes the dynamic emergency address based on the ID provided
`DELETE /dynamic_emergency_addresses/{id}`
```ruby
telnyx = Telnyx::Client.new(api_key: "My API Key")
dynamic_emergency_address = telnyx.dynamic_emergency_addresses.delete("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
puts(dynamic_emergency_address)
```
## List dynamic emergency endpoints
Returns the dynamic emergency endpoints according to filters
`GET /dynamic_emergency_endpoints`
```ruby
telnyx = Telnyx::Client.new(api_key: "My API Key")
page = telnyx.dynamic_emergency_endpoints.list
puts(page)
```
## Create a dynamic emergency endpoint.
Creates a dynamic emergency endpoints.
`POST /dynamic_emergency_endpoints` — Required: `dynamic_emergency_address_id`, `callback_number`, `caller_name`
```ruby
telnyx = Telnyx::Client.new(api_key: "My API Key")
dynamic_emergency_endpoint = telnyx.dynamic_emergency_endpoints.create(
callback_number: "+13125550000",
caller_name: "Jane Doe Desk Phone",
dynamic_emergency_address_id: "0ccc7b54-4df3-4bca-a65a-3da1ecc777f0"
)
puts(dynamic_emergency_endpoint)
```
## Get a dynamic emergency endpoint
Returns the dynamic emergency endpoint based on the ID provided
`GET /dynamic_emergency_endpoints/{id}`
```ruby
telnyx = Telnyx::Client.new(api_key: "My API Key")
dynamic_emergency_endpoint = telnyx.dynamic_emergency_endpoints.retrieve("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
puts(dynamic_emergency_endpoint)
```
## Delete a dynamic emergency endpoint
Deletes the dynamic emergency endpoint based on the ID provided
`DELETE /dynamic_emergency_endpoints/{id}`
```ruby
telnyx = Telnyx::Client.new(api_key: "My API Key")
dynamic_emergency_endpoint = telnyx.dynamic_emergency_endpoints.delete("182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e")
puts(dynamic_emergency_endpoint)
```
## List your voice channels for non-US zones
Returns the non-US voice channels for your account.
`GET /channel_zones`
```ruby
telnyx = Telnyx::Client.new(api_key: "My API Key")
page = telnyx.channel_zones.list
puts(page)
```
## 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`
```ruby
telnyx = Telnyx::Client.new(api_key: "My API Key")
channel_zone = telnyx.channel_zones.update("channel_zone_id", channels: 0)
puts(channel_zone)
```
## List your voice channels for US Zone
Returns the US Zone voice channels for your account.
`GET /inbound_channels`
```ruby
telnyx = Telnyx::Client.new(api_key: "My API Key")
inbound_channels = telnyx.inbound_channels.list
puts(inbound_channels)
```
## Update voice channels for US Zone
Update the number of Voice Channels for the US Zone.
`PATCH /inbound_channels` — Required: `channels`
```ruby
telnyx = Telnyx::Client.new(api_key: "My API Key")
inbound_channel = telnyx.inbound_channels.update(channels: 7)
puts(inbound_channel)
```
## List All Numbers using Channel Billing
Retrieve a list of all phone numbers using Channel Billing, grouped by Zone.
`GET /list`
```ruby
telnyx = Telnyx::Client.new(api_key: "My API Key")
response = telnyx.list.retrieve_all
puts(response)
```
## 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}`
```ruby
telnyx = Telnyx::Client.new(api_key: "My API Key")
response = telnyx.list.retrieve_by_zone("channel_zone_id")
puts(response)
```
## Get voicemail
Returns the voicemail settings for a phone number
`GET /phone_numbers/{phone_number_id}/voicemail`
```ruby
telnyx = Telnyx::Client.new(api_key: "My API Key")
voicemail = telnyx.phone_numbers.voicemail.retrieve("123455678900")
puts(voicemail)
```
## Create voicemail
Create voicemail settings for a phone number
`POST /phone_numbers/{phone_number_id}/voicemail`
```ruby
telnyx = Telnyx::Client.new(api_key: "My API Key")
voicemail = telnyx.phone_numbers.voicemail.create("123455678900")
puts(voicemail)
```
## Update voicemail
Update voicemail settings for a phone number
`PATCH /phone_numbers/{phone_number_id}/voicemail`
```ruby
telnyx = Telnyx::Client.new(api_key: "My API Key")
voicemail = telnyx.phone_numbers.voicemail.update("123455678900")
puts(voicemail)
```
No comments yet. Be the first to comment!