api/ruby/telnyx-numbers-services-ruby/SKILL.md
Configure voicemail, voice channels, and emergency (E911) services for your phone numbers. This skill provides Ruby SDK examples.
npx skillsauth add team-telnyx/telnyx-toolkit telnyx-numbers-services-rubyInstall 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.
gem install telnyx
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.
Returns the dynamic emergency addresses according to filters
GET /dynamic_emergency_addresses
page = client.dynamic_emergency_addresses.list
puts(page)
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"
)
puts(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")
puts(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")
puts(dynamic_emergency_address)
Returns the dynamic emergency endpoints according to filters
GET /dynamic_emergency_endpoints
page = client.dynamic_emergency_endpoints.list
puts(page)
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"
)
puts(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")
puts(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")
puts(dynamic_emergency_endpoint)
Returns the non-US voice channels for your account.
GET /channel_zones
page = client.channel_zones.list
puts(page)
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", channels: 0)
puts(channel_zone)
Returns the US Zone voice channels for your account.
GET /inbound_channels
inbound_channels = client.inbound_channels.list
puts(inbound_channels)
Update the number of Voice Channels for the US Zone.
PATCH /inbound_channels — Required: channels
inbound_channel = client.inbound_channels.update(channels: 7)
puts(inbound_channel)
Retrieve a list of all phone numbers using Channel Billing, grouped by Zone.
GET /list
response = client.list.retrieve_all
puts(response)
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")
puts(response)
Returns the voicemail settings for a phone number
GET /phone_numbers/{phone_number_id}/voicemail
voicemail = client.phone_numbers.voicemail.retrieve("123455678900")
puts(voicemail)
Create voicemail settings for a phone number
POST /phone_numbers/{phone_number_id}/voicemail
voicemail = client.phone_numbers.voicemail.create("123455678900")
puts(voicemail)
Update voicemail settings for a phone number
PATCH /phone_numbers/{phone_number_id}/voicemail
voicemail = client.phone_numbers.voicemail.update("123455678900")
puts(voicemail)
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.