Telnyx Toolkit
The complete toolkit for building with Telnyx. Includes ready-to-use tools and SDK documentation for all Telnyx APIs.
Quick Start
export TELNYX_API_KEY="your_key_here"
π Getting Started
Two companion skills handle account lifecycle. They are included with the toolkit and can also be installed independently via ClawHub.
| Skill | Purpose | Path | Install standalone |
|---|
| Telnyx Bot Signup | Create a new account or sign into an existing one (PoW challenge β email β API key) | {baseDir}/getting-started/telnyx-bot-signup/
| clawhub install telnyx-bot-signup
|
| Telnyx Freemium Upgrade | Upgrade freemium β professional via GitHub or LinkedIn identity verification | {baseDir}/getting-started/telnyx-freemium-upgrade/
| clawhub install telnyx-freemium-upgrade
|
When to Use Account Signup
Hand off to telnyx-bot-signup when ANY of these are true:
- No API key exists (
TELNYX_API_KEY
not set, ~/.config/telnyx/config.json
missing)
- API key is invalid/expired (401 errors from Telnyx API)
- User wants to create a new Telnyx account
- API key needs to be refreshed after an upgrade (same email, new key)
Note: The
bot_signup
endpoint handles both new and existing accounts transparently β just provide the user's email.
When to Use Account Upgrade
Hand off to telnyx-freemium-upgrade when ANY of these are true:
| Trigger | Detection |
|---|
Error 10039
| SMS send fails: "destination not verified" |
Error D60
| Voice call fails: "destination not verified" |
Error 10038
| Feature blocked: "not available on current plan" |
| Number limit hit | Second phone number purchase fails |
| Cannot add funds | Freemium account cannot add payment method or top up |
| Explicit request | User says "upgrade my account" |
Before handing off, check
~/.telnyx/upgrade.json
β if
decision
is
APPROVED
, the account is already upgraded (retry the operation instead). If
PASS_TO_HUMAN
, it's under review (don't retry). See the telnyx-freemium-upgrade SKILL.md for full decision tree.
Each skill has its own
SKILL.md
with complete instructions. Read the skill's SKILL.md before executing its workflow.
π³ Balance & Payments
Use these endpoints to check balance and add funds programmatically.
Important: Top-ups charge the payment method (credit card, PayPal, or ACH) saved in the Telnyx Portal. There is no API to add a payment method β this is done by the user in the portal. Do not prompt the user about this upfront β just attempt the top-up when needed. If it returns 403, that's when you inform the user they need to add a payment method in the portal.
Check Balance
curl -s https://api.telnyx.com/v2/balance -H "Authorization: Bearer $TELNYX_API_KEY"
Response:
{
"data": {
"balance": "300.00",
"credit_limit": "100.00",
"available_credit": "400.00",
"currency": "USD"
}
}
Check Auto-Recharge Status
Check whether auto-recharge is enabled. If it is, the account will top up automatically when balance drops below the threshold β the agent can just wait and retry instead of manually topping up.
curl -s https://api.telnyx.com/v2/payment/auto_recharge_prefs -H "Authorization: Bearer $TELNYX_API_KEY"
Response:
{
"data": {
"enabled": true,
"threshold_amount": "100.00",
"recharge_amount": "100.00",
"preference": "credit_paypal"
}
}
If
enabled
is
true
and the agent hits
20100
, wait briefly and retry β auto-recharge should handle it. If
enabled
is
false
, proceed with the top-up endpoint below.
Note: Enabling or configuring auto-recharge is a human decision β use the Telnyx Portal to change these settings.
Add Funds (Top Up)
Charges the stored payment method on file. Requires a payment method already configured in the Telnyx Portal.
curl -s -X POST https://api.telnyx.com/v2/payment/stored_payment_transactions -H "Authorization: Bearer $TELNYX_API_KEY" -H "Content-Type: application/json" -d '{"amount": "100.00"}'
The
amount
field is in dollars and cents (e.g.,
"100.00"
,
"25.50"
).
Response:
{
"data": {
"id": "de06811a-2e43-4561-af5a-7d0a26e20aaa",
"record_type": "transaction",
"amount_cents": 10000,
"processor_status": "submitted_for_settlement",
"amount_currency": "USD",
"created_at": "2026-02-25T10:00:00Z",
"auto_recharge": false
}
}
Error handling:
| Status | Meaning | Action |
|---|
| 200 | Transaction submitted | Wait for settlement, then retry the original operation |
| 401 | Unauthorized | API key is invalid β hand off to telnyx-bot-signup |
| 403 | Forbidden | No stored payment method on file β direct user to Telnyx Portal to add one |
| 422 | Invalid amount | Amount must be a string with dollars and cents (e.g., "120.00" ) |
Payment Error Decision Tree
When a Telnyx API call fails with a payment-related error, follow this tree. The agent does not need to know the account tier upfront β the error codes and response codes reveal the right path.
Step 1: Identify the error
| Error Code | Meaning | Go to |
|---|
10038 / 10039
| Feature not permitted / limited | Step 2 (upgrade) |
20100 / 20012
| Insufficient Funds / Account inactive | Step 3 (try top-up) |
Note: The API may return
20100
(Insufficient Funds) even on freemium accounts where 10038
/10039
would be more accurate. Don't assume 20100
means the account is professional β always attempt the top-up and let the response tell you.
Step 2: Feature restriction β Upgrade first
Errors
10038
/
10039
mean the account is freemium. Freemium accounts cannot add payment methods or top up β they must upgrade first.
- Hand off to telnyx-freemium-upgrade β upgrade to professional
- User adds payment method at Telnyx Portal
- Then proceed to Step 3 if funds are needed
Step 3: Insufficient funds β Try to top up
Always attempt the top-up regardless of account tier β the response will reveal the right path.
GET /v2/balance
β check current available credit
GET /v2/payment/auto_recharge_prefs
β if enabled: true
, wait briefly and retry (auto-recharge will handle it). If it does, stop here
- If auto-recharge is off:
POST /v2/payment/stored_payment_transactions
β top up via API
- If top-up returns 200 β retry the original operation
- If top-up returns 403 β no payment method on file. This is the real signal:
- Check
~/.telnyx/upgrade.json
β if decision
is APPROVED
, the account is professional but has no payment method β direct user to Telnyx Portal to add one
- Otherwise, the account is likely freemium β hand off to telnyx-freemium-upgrade (Step 2)
π§ Tools (Ready-to-Use)
These are standalone utilities with scripts you can run directly:
| Tool | Description | Path |
|---|
| Missions | AI agent task tracking, voice/SMS assistants, scheduled calls | {baseDir}/tools/missions/
|
| STT | Speech-to-text transcription (Whisper) | {baseDir}/tools/stt/
|
| TTS | Text-to-speech synthesis | {baseDir}/tools/tts/
|
| CLI | Telnyx CLI wrapper and helpers | {baseDir}/tools/cli/
|
| Network | WireGuard mesh networking, public IP exposure | {baseDir}/tools/network/
|
| RAG | Semantic search with Telnyx Storage + embeddings | {baseDir}/tools/rag/
|
| 10DLC Registration | Interactive wizard for A2P messaging registration | {baseDir}/tools/10dlc-registration/
|
| Storage Backup | Backup/restore workspace to Telnyx Storage | {baseDir}/tools/storage-backup/
|
| Voice SIP | SIP-based voice call control | {baseDir}/tools/voice-sip/
|
| Embeddings | Semantic search & text embeddings (Telnyx-native) | {baseDir}/tools/embeddings/
|
Tool Usage Examples
# Create a mission and schedule calls
python3 {baseDir}/tools/missions/scripts/telnyx_api.py init "Find contractors" "Call contractors and get quotes" "User request" '[{"step_id": "calls", "description": "Make calls", "sequence": 1}]'
Transcribe audio
python3 {baseDir}/tools/stt/scripts/telnyx-stt.py /path/to/audio.mp3
Generate speech
python3 {baseDir}/tools/tts/scripts/telnyx-tts.py "Hello world" -o output.mp3
Join mesh network
{baseDir}/tools/network/join.sh
Index files for RAG
python3 {baseDir}/tools/rag/sync.py
10DLC registration wizard
{baseDir}/tools/10dlc-registration/setup.sh
Semantic search
python3 {baseDir}/tools/embeddings/search.py "your query" --bucket your-bucket
Index a file for search
python3 {baseDir}/tools/embeddings/index.py upload /path/to/file.md
Each tool has its own
SKILL.md
with detailed usage instructions.
π API Documentation (SDK Reference)
SDK documentation for all Telnyx APIs, organized by language:
| Language | Path | Skills |
|---|
| JavaScript | {baseDir}/api/javascript/
| 35 |
| Python | {baseDir}/api/python/
| 35 |
| Go | {baseDir}/api/go/
| 35 |
| Java | {baseDir}/api/java/
| 35 |
| Ruby | {baseDir}/api/ruby/
| 35 |
API Categories
Each language includes documentation for:
- Voice β Calls, call control, conferencing, streaming, gather
- Messaging β SMS, MMS, profiles, hosted messaging
- Numbers β Search, purchase, configure, compliance
- AI β Inference, assistants, embeddings
- Storage β Object storage (S3-compatible)
- SIP β Trunking, connections, integrations
- Video β Video rooms and conferencing
- Fax β Programmable fax
- IoT β SIM management, wireless
- Verify β Phone verification, 2FA
- Account β Management, billing, reports
- Porting β Port numbers in/out
- 10DLC β A2P messaging registration
- TeXML β TeXML applications
- Networking β Private networks, SETI
- WebRTC β Server-side WebRTC
Finding API Docs
{baseDir}/api/{language}/telnyx-{capability}-{language}/SKILL.md
Example:
{baseDir}/api/python/telnyx-voice-python/SKILL.md
π± WebRTC Client SDKs
Guides for building real-time voice apps on mobile and web:
| Platform | Path |
|---|
| iOS | {baseDir}/webrtc-clients/ios/
|
| Android | {baseDir}/webrtc-clients/android/
|
| Flutter | {baseDir}/webrtc-clients/flutter/
|
| JavaScript (Web) | {baseDir}/webrtc-clients/javascript/
|
| React Native | {baseDir}/webrtc-clients/react-native/
|
Structure
telnyx-toolkit/
βββ SKILL.md # This file (index)
βββ getting-started/ # Account creation & upgrade
β βββ telnyx-bot-signup/
β βββ telnyx-freemium-upgrade/
βββ tools/ # Ready-to-use utilities
β βββ missions/ # AI agent task tracking
β βββ stt/
β βββ tts/
β βββ cli/
β βββ network/
β βββ rag/
β βββ 10dlc-registration/
β βββ storage-backup/
β βββ voice-sip/
β βββ embeddings/
βββ api/ # SDK documentation
β βββ javascript/ # 35 skills
β βββ python/ # 35 skills
β βββ go/ # 35 skills
β βββ java/ # 35 skills
β βββ ruby/ # 35 skills
βββ webrtc-clients/ # Mobile/Web SDK guides
βββ ios/
βββ android/
βββ flutter/
βββ javascript/
βββ react-native/
Resources