api/ruby/telnyx-numbers-compliance-ruby/SKILL.md
Manage regulatory requirements, number bundles, supporting documents, and verified numbers for compliance. This skill provides Ruby SDK examples.
npx skillsauth add team-telnyx/telnyx-toolkit telnyx-numbers-compliance-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.
Get all allowed bundles.
GET /bundle_pricing/billing_bundles
page = client.bundle_pricing.billing_bundles.list
puts(page)
Get a single bundle by ID.
GET /bundle_pricing/billing_bundles/{bundle_id}
billing_bundle = client.bundle_pricing.billing_bundles.retrieve("8661948c-a386-4385-837f-af00f40f111a")
puts(billing_bundle)
Get a paginated list of user bundles.
GET /bundle_pricing/user_bundles
page = client.bundle_pricing.user_bundles.list
puts(page)
Creates multiple user bundles for the user.
POST /bundle_pricing/user_bundles/bulk
user_bundle = client.bundle_pricing.user_bundles.create
puts(user_bundle)
Returns all user bundles that aren't in use.
GET /bundle_pricing/user_bundles/unused
response = client.bundle_pricing.user_bundles.list_unused
puts(response)
Retrieves a user bundle by its ID.
GET /bundle_pricing/user_bundles/{user_bundle_id}
user_bundle = client.bundle_pricing.user_bundles.retrieve("ca1d2263-d1f1-43ac-ba53-248e7a4bb26a")
puts(user_bundle)
Deactivates a user bundle by its ID.
DELETE /bundle_pricing/user_bundles/{user_bundle_id}
response = client.bundle_pricing.user_bundles.deactivate("ca1d2263-d1f1-43ac-ba53-248e7a4bb26a")
puts(response)
Retrieves the resources of a user bundle by its ID.
GET /bundle_pricing/user_bundles/{user_bundle_id}/resources
response = client.bundle_pricing.user_bundles.list_resources("ca1d2263-d1f1-43ac-ba53-248e7a4bb26a")
puts(response)
List all documents links ordered by created_at descending.
GET /document_links
page = client.document_links.list
puts(page)
List all documents ordered by created_at descending.
GET /documents
page = client.documents.list
puts(page)
Upload a document.<br /><br />Uploaded files must be linked to a service within 30 minutes or they will be automatically deleted.
POST /documents
response = client.documents.upload_json(document: {})
puts(response)
Retrieve a document.
GET /documents/{id}
document = client.documents.retrieve("6a09cdc3-8948-47f0-aa62-74ac943d6c58")
puts(document)
Update a document.
PATCH /documents/{id}
document = client.documents.update("6a09cdc3-8948-47f0-aa62-74ac943d6c58")
puts(document)
Delete a document.<br /><br />A document can only be deleted if it's not linked to a service.
DELETE /documents/{id}
document = client.documents.delete("6a09cdc3-8948-47f0-aa62-74ac943d6c58")
puts(document)
Download a document.
GET /documents/{id}/download
response = client.documents.download("6a09cdc3-8948-47f0-aa62-74ac943d6c58")
puts(response)
Generates a temporary pre-signed URL that can be used to download the document directly from the storage backend without authentication.
GET /documents/{id}/download_link
response = client.documents.generate_download_link("550e8400-e29b-41d4-a716-446655440000")
puts(response)
List all requirements with filtering, sorting, and pagination
GET /requirements
page = client.requirements.list
puts(page)
Retrieve a document requirement record
GET /requirements/{id}
requirement = client.requirements.retrieve("a9dad8d5-fdbd-49d7-aa23-39bb08a5ebaa")
puts(requirement)
List all requirement types ordered by created_at descending
GET /requirement_types
requirement_types = client.requirement_types.list
puts(requirement_types)
Retrieve a requirement type by id
GET /requirement_types/{id}
requirement_type = client.requirement_types.retrieve("a38c217a-8019-48f8-bff6-0fdd9939075b")
puts(requirement_type)
GET /regulatory_requirements
regulatory_requirement = client.regulatory_requirements.retrieve
puts(regulatory_requirement)
GET /requirement_groups
requirement_groups = client.requirement_groups.list
puts(requirement_groups)
POST /requirement_groups — Required: country_code, phone_number_type, action
requirement_group = client.requirement_groups.create(action: :ordering, country_code: "US", phone_number_type: :local)
puts(requirement_group)
GET /requirement_groups/{id}
requirement_group = client.requirement_groups.retrieve("id")
puts(requirement_group)
PATCH /requirement_groups/{id}
requirement_group = client.requirement_groups.update("id")
puts(requirement_group)
DELETE /requirement_groups/{id}
requirement_group = client.requirement_groups.delete("id")
puts(requirement_group)
POST /requirement_groups/{id}/submit_for_approval
requirement_group = client.requirement_groups.submit_for_approval("id")
puts(requirement_group)
Gets a paginated list of Verified Numbers.
GET /verified_numbers
page = client.verified_numbers.list
puts(page)
Initiates phone number verification procedure.
POST /verified_numbers — Required: phone_number, verification_method
verified_number = client.verified_numbers.create(phone_number: "+15551234567", verification_method: :sms)
puts(verified_number)
GET /verified_numbers/{phone_number}
verified_number_data_wrapper = client.verified_numbers.retrieve("+15551234567")
puts(verified_number_data_wrapper)
DELETE /verified_numbers/{phone_number}
verified_number_data_wrapper = client.verified_numbers.delete("+15551234567")
puts(verified_number_data_wrapper)
POST /verified_numbers/{phone_number}/actions/verify — Required: verification_code
verified_number_data_wrapper = client.verified_numbers.actions.submit_verification_code("+15551234567", verification_code: "123456")
puts(verified_number_data_wrapper)
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.