telnyx-numbers-config-javascript
Official one-stop shop for AI Agents and developers building with Telnyx.
Install / Use
npx skills add team-telnyx/ai --skill telnyx-numbers-config-javascriptInstalls into whichever agent you are using.
SKILL.md
Installable skill definition
Quality Score
Category
CommunicationSupported Platforms
Tags
Our assessment of telnyx-numbers-config-javascript
telnyx-numbers-config-javascript scores 67/100 on our quality scale, 405th of 421 Communication skills we index.
Its SKILL.md is 29 KB long, well organised into 31 sections with 29 code examples: a thorough specification that gives an agent plenty to work with.
It has no GitHub stars yet, so there is no community track record; judge it on its content.
Maintenance, license and trust
- We could not determine when the repository was last updated.
- No license is declared. By default that means all rights are reserved: you can read it, but reusing or redistributing it is not clearly permitted. Ask the author before building on it commercially.
- Its trust signals score 68/100, with 3 cautions from licensing, adoption, age or documentation. These come from repository metadata, not a code audit — read the skill file before letting an agent act on it.
telnyx-numbers-config-javascript compared with similar skills
All 4 of these similar skills score higher than telnyx-numbers-config-javascript; compare them before choosing.
| Skill | Score | Stars | Updated | Format |
|---|---|---|---|---|
| telnyx-numbers-config-javascript (this skill)by team-telnyx | 67 | 0 | — | SKILL.md |
| crawl4aiby unclecode | 100 | 86.0k | today | MCP Server |
| algorithmic-artby anthropics | 100 | 177.9k | 28d ago | SKILL.md |
| pptxby anthropics | 100 | 177.9k | 28d ago | SKILL.md |
| designby nextlevelbuilder | 100 | 137.2k | 6d ago | SKILL.md |
Frequently asked questions
- How do I install telnyx-numbers-config-javascript?
- Run
npx skills add team-telnyx/ai --skill telnyx-numbers-config-javascript. The install tabs above show the steps for each supported agent. - Which AI agents does telnyx-numbers-config-javascript work with?
- It is written for Universal, as a SKILL.md file. Other agents that read the same format can often use it too.
- Is telnyx-numbers-config-javascript safe to use?
- It declares no license and scores 68/100 on trust signals. Skills are instructions an agent will follow, so read the file before installing it and do not approve commands you do not understand.
- Is telnyx-numbers-config-javascript still maintained?
- We could not determine when the repository was last updated.
Skill content
View source on GitHubname: telnyx-numbers-config-javascript description: >- Configure phone number settings including caller ID, call forwarding, messaging enablement, and connection assignments. This skill provides JavaScript SDK examples. metadata: author: telnyx product: numbers-config language: javascript generated_by: telnyx-openapi-pipeline
<!-- Auto-generated from Telnyx OpenAPI specs. Do not edit. -->Telnyx Numbers Config - JavaScript
Installation
npm install telnyx@6.74.2
Setup
import Telnyx from 'telnyx';
const client = new Telnyx({
apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted
publicKey: process.env['TELNYX_PUBLIC_KEY'], // Required for client.webhooks.unwrap() (webhook verification)
});
All examples below assume client is already initialized as shown above.
Error Handling
All API calls can fail with network errors, rate limits (429), validation errors (422), or authentication errors (401). Always handle errors in production code:
try {
const result = await client.messages.send({ to: '+13125550001', from: '+13125550002', text: 'Hello' });
} catch (err) {
if (err instanceof Telnyx.APIConnectionError) {
console.error('Network error — check connectivity and retry');
} else if (err instanceof Telnyx.RateLimitError) {
// 429: rate limited — wait, then retry the request (bounded exponential backoff)
const retryAfter = err.headers?.['retry-after'] || 1;
await new Promise(r => setTimeout(r, retryAfter * 1000));
// ...retry the call here (give up after a few attempts)
} else if (err instanceof Telnyx.APIError) {
console.error(`API error ${err.status}: ${err.message}`);
if (err.status === 422) {
console.error('Validation error — check required fields and formats');
}
}
throw err; // Re-throw: a failed request must never look like success to the caller
}
Common error codes: 401 invalid API key, 403 insufficient permissions,
404 resource not found, 422 validation error (check field formats),
429 rate limited (retry with exponential backoff).
Important Notes
- Phone numbers must be in E.164 format (e.g.,
+13125550001). Include the+prefix and country code. No spaces, dashes, or parentheses. - Pagination: List methods return an auto-paginating iterator. Use
for await (const item of result) { ... }to iterate through all pages automatically.
Bulk update phone number profiles
Starts a bulk update of messaging-profile assignments for the supplied phone numbers. The response identifies the order used to monitor processing.
POST /messaging_numbers_bulk_updates — Required: messaging_profile_id, numbers
Optional: assign_only (boolean)
const messagingNumbersBulkUpdate = await client.messagingNumbersBulkUpdates.create({
messaging_profile_id: '00000000-0000-0000-0000-000000000000',
numbers: ['+18880000000', '+18880000001', '+18880000002'],
});
console.log(messagingNumbersBulkUpdate.data);
Returns: failed (array[string]), order_id (uuid), pending (array[string]), record_type (enum: messaging_numbers_bulk_update), success (array[string])
Retrieve bulk update status
Returns processing status and results for a bulk messaging-settings update order.
GET /messaging_numbers_bulk_updates/{order_id}
const messagingNumbersBulkUpdate = await client.messagingNumbersBulkUpdates.retrieve('order_id');
console.log(messagingNumbersBulkUpdate.data);
Returns: failed (array[string]), order_id (uuid), pending (array[string]), record_type (enum: messaging_numbers_bulk_update), success (array[string])
List mobile phone numbers with messaging settings
Returns mobile phone numbers with their current messaging configuration.
GET /mobile_phone_numbers/messaging
// Automatically fetches more pages as needed.
for await (const messagingListResponse of client.mobilePhoneNumbers.messaging.list()) {
console.log(messagingListResponse.id);
}
Returns: country_code (string), created_at (date-time), features (object), id (string), messaging_product (string), messaging_profile_id (string | null), organization_id (string), phone_number (string), record_type (enum: messaging_phone_number, messaging_settings), tags (array[string]), traffic_type (string), type (enum: longcode), updated_at (date-time)
Retrieve a mobile phone number with messaging settings
Returns the messaging configuration for the specified mobile phone number.
GET /mobile_phone_numbers/{id}/messaging
const messaging = await client.mobilePhoneNumbers.messaging.retrieve('550e8400-e29b-41d4-a716-446655440000');
console.log(messaging.data);
Returns: country_code (string), created_at (date-time), features (object), id (string), messaging_product (string), messaging_profile_id (string | null), organization_id (string), phone_number (string), record_type (enum: messaging_phone_number, messaging_settings), tags (array[string]), traffic_type (string), type (enum: longcode), updated_at (date-time)
List phone numbers
Returns phone numbers associated with the account. Results support pagination, sorting, and filters for number attributes, status, source, connections, billing groups, emergency addresses, tags, and customer references.
GET /phone_numbers
// Automatically fetches more pages as needed.
for await (const phoneNumberDetailed of client.phoneNumbers.list()) {
console.log(phoneNumberDetailed.id);
}
Returns: activated_at (object), billing_group_id (string | null), call_forwarding_enabled (boolean), call_recording_enabled (boolean), caller_id_name_enabled (boolean), cnam_listing_enabled (boolean), connection_id (string | null), connection_name (string | null), country_iso_alpha2 (string), created_at (date-time), customer_reference (string | null), deletion_lock_enabled (boolean), emergency_address_id (string | null), emergency_enabled (boolean), emergency_status (enum: active, deprovisioning, disabled, provisioning, provisioning-failed), external_pin (string | null), hd_voice_enabled (boolean), id (string), inbound_call_screening (enum: disabled, reject_calls, flag_calls), messaging_campaign_id (string | null), messaging_profile_id (string | null), messaging_profile_name (string | null), phone_number (string), phone_number_type (enum: local, toll_free, mobile, national, shared_cost, landline, tollfree, shortcode, longcode), purchased_at (string), record_type (string), source_type (object), status (enum: purchase-pending, purchase-failed, port-pending, port-failed, active, deleted, emergency-only, ported-out, port-out-pending, requirement-info-pending, requirement-info-under-review, requirement-info-exception, provision-pending), t38_fax_gateway_enabled (boolean), tags (array[string]), updated_at (string)
Verify ownership of phone numbers
Verifies ownership of the provided phone numbers and returns a mapping of numbers to their IDs, plus a list of numbers not found in the account.
POST /phone_numbers/actions/verify_ownership — Required: phone_numbers
const response = await client.phoneNumbers.actions.verifyOwnership({
phone_numbers: ['+15551234567'],
});
console.log(response.data);
Returns: found (array[object]), not_found (array[string]), record_type (string)
Lists the phone numbers jobs
Returns background jobs that operate on phone numbers. Filter by job type, target phone numbers, job status, or creation-time customer reference, and sort by creation time. Multiple phone-number or status values use OR semantics within that filter; different filter categories use AND semantics.
GET /phone_numbers/jobs
// Automatically fetches more pages as needed.
for await (const phoneNumbersJob of client.phoneNumbers.jobs.list()) {
console.log(phoneNumbersJob.id);
}
Returns: created_at (string), etc (date-time), failed_operations (array[object]), id (uuid), parameters (object), pending_operations (array[object]), phone_numbers (array[object]), record_type (string), status (enum: pending, in_progress, completed, failed, expired), successful_operations (array[object]), type (enum: update_emergency_settings, delete_phone_numbers, update_phone_numbers), updated_at (string)
Delete a batch of numbers
Creates a new background job to delete a batch of numbers. At most one thousand numbers can be updated per API call.
POST /phone_numbers/jobs/delete_phone_numbers — Required: phone_numbers
const response = await client.phoneNumbers.jobs.deleteBatch({
phone_numbers: ['+19705555098', '+19715555098', '32873127836'],
});
console.log(response.data);
Returns: created_at (string), etc (date-time), failed_operations (array[object]), id (uuid), parameters (object), pending_operations (array[object]), phone_numbers (array[object]), record_type (string), status (enum: pending, in_progress, completed, failed, expired), successful_operations (array[object]), type (enum: update_emergency_settings, delete_phone_numbers, update_phone_numbers), updated_at (string)
Update the emergency settings from a batch of numbers
Creates a background job to update the emergency settings of a collection of phone numbers. At most one thousand numbers can be updated per API call.
POST /phone_numbers/jobs/update_emergency_settings — Required: emergency_enabled, phone_numbers
Optional: emergency_address_id (string | null)
const response = await client.phoneNumbers.jobs.updateEmergencySettingsBatch({
emergency_enabled: true,
phone_numbers: ['+19705555098', '+19715555098', '32873127836'],
});
console.log(response.data);
Returns: created_at (string), etc (date-time), failed_operations (array[object]), id (uuid), parameters (object), pending_operations (array[object]), phone_numbers (array[object]), record_type (string), status (enum: pending, in_progress, completed, failed, expired), successful_operations (array[object]), type (enum: update_emergency_settings, delete_phone_numbers, update_phone_numbers), updated_at (string)
Update a batch of numbers
Creates a new background job to update a batch of numbers. At most one thousand numbers can be updated per API call. At least one of the updateable fields must be submitted.
POST /phone_numbers/jobs/update_phone_numbers — Required: phone_numbers
Optional: billing_group_id (string), connection_id (string), customer_reference (string), deletion_lock_enabled (boolean), external_pin (string), hd_voice_enabled (boolean), tags (array[string]), voice (object)
const response = await client.phoneNumbers.jobs.updateBatch({
phone_numbers: ['1583466971586889004', '+13127367254'],
});
console.log(response.data);
Returns: created_at (string), etc (date-time), failed_operations (array[object]), id (uuid), parameters (object), pending_operations (array[object]), phone_numbers (array[object]), record_type (string), status (enum: pending, in_progress, completed, failed, expired), successful_operations (array[object]), type (enum: update_emergency_settings, delete_phone_numbers, update_phone_numbers), updated_at (string)
Retrieve a phone numbers job
Returns the status and details of the phone-number background job identified by id.
GET /phone_numbers/jobs/{id}
const job = await client.phoneNumbers.jobs.retrieve('550e8400-e29b-41d4-a716-446655440000');
console.log(job.data);
Returns: created_at (string), etc (date-time), failed_operations (array[object]), id (uuid), parameters (object), pending_operations (array[object]), phone_numbers (array[object]), record_type (string), status (enum: pendin
Truncated for display — read the full file on GitHub.
Related Skills
crawl4ai
86.0kOpen-source web crawler and scraper for LLMs and AI agents: any website into clean, LLM-ready Markdown. Run it yourself, or use Crawl4AI Cloud with one key. Join our Discord https://discord.gg/VuxzM8mtf
algorithmic-art
177.9kCreating algorithmic art using p5.js with seeded randomness and interactive parameter exploration. Use this when users request creating art using code, generative art, algorithmic art, flow fields, or particle systems.
pptx
177.9kUse this skill any time a .pptx or .potx file is involved in any way — as input, output, or both. This includes: creating slide decks, pitch decks, or presentations; reading, parsing, or extracting text from any .pptx or .potx file (even if the extracted content will be used elsewhere, like in an em…
design
137.2kComprehensive design skill: brand identity, design tokens, UI styling, logo generation (55 styles, Gemini, Atlas Cloud, or MuAPI AI), corporate identity program (50 deliverables, CIP mockups), HTML presentations (Chart.js), banner design (22 styles, social/ads/web/print), icon design (15 styles, SVG…
Trust signals
From repository metadata: license, adoption, age and documentation. Not a code audit — see the Safety scan above for what the skill file itself contains.
