telnyx-webrtc-javascript

Telnyx Webrtc - JavaScript

Safety Notice

This listing is imported from skills.sh public index metadata. Review upstream SKILL.md and repository scripts before running.

Copy this and send it to your AI assistant to learn

Install skill "telnyx-webrtc-javascript" with this command: npx skills add team-telnyx/telnyx-ext-agent-skills/team-telnyx-telnyx-ext-agent-skills-telnyx-webrtc-javascript

Telnyx Webrtc - JavaScript

Installation

npm install telnyx

Setup

import Telnyx from 'telnyx';

const client = new Telnyx({ apiKey: process.env['TELNYX_API_KEY'], // This is the default and can be omitted });

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 and retry with exponential backoff const retryAfter = err.headers?.['retry-after'] || 1; await new Promise(r => setTimeout(r, retryAfter * 1000)); } 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'); } } }

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

  • Pagination: List methods return an auto-paginating iterator. Use for await (const item of result) { ... } to iterate through all pages automatically.

List mobile push credentials

GET /mobile_push_credentials

// Automatically fetches more pages as needed. for await (const pushCredential of client.mobilePushCredentials.list()) { console.log(pushCredential.id); }

Returns: alias (string), certificate (string), created_at (date-time), id (string), private_key (string), project_account_json_file (object), record_type (string), type (string), updated_at (date-time)

Creates a new mobile push credential

POST /mobile_push_credentials

const pushCredentialResponse = await client.mobilePushCredentials.create({ createMobilePushCredentialRequest: { alias: 'LucyIosCredential', certificate: '-----BEGIN CERTIFICATE----- MIIGVDCCBTKCAQEAsNlRJVZn9ZvXcECQm65czs... -----END CERTIFICATE-----', private_key: '-----BEGIN RSA PRIVATE KEY----- MIIEpQIBAAKCAQEAsNlRJVZn9ZvXcECQm65czs... -----END RSA PRIVATE KEY-----', type: 'ios', }, });

console.log(pushCredentialResponse.data);

Returns: alias (string), certificate (string), created_at (date-time), id (string), private_key (string), project_account_json_file (object), record_type (string), type (string), updated_at (date-time)

Retrieves a mobile push credential

Retrieves mobile push credential based on the given push_credential_id

GET /mobile_push_credentials/{push_credential_id}

const pushCredentialResponse = await client.mobilePushCredentials.retrieve( '0ccc7b76-4df3-4bca-a05a-3da1ecc389f0', );

console.log(pushCredentialResponse.data);

Returns: alias (string), certificate (string), created_at (date-time), id (string), private_key (string), project_account_json_file (object), record_type (string), type (string), updated_at (date-time)

Deletes a mobile push credential

Deletes a mobile push credential based on the given push_credential_id

DELETE /mobile_push_credentials/{push_credential_id}

await client.mobilePushCredentials.delete('0ccc7b76-4df3-4bca-a05a-3da1ecc389f0');

List all credentials

List all On-demand Credentials.

GET /telephony_credentials

// Automatically fetches more pages as needed. for await (const telephonyCredential of client.telephonyCredentials.list()) { console.log(telephonyCredential.id); }

Returns: created_at (string), expired (boolean), expires_at (string), id (string), name (string), record_type (string), resource_id (string), sip_password (string), sip_username (string), updated_at (string), user_id (string)

Create a credential

Create a credential.

POST /telephony_credentials — Required: connection_id

Optional: expires_at (string), name (string), tag (string)

const telephonyCredential = await client.telephonyCredentials.create({ connection_id: '1234567890', });

console.log(telephonyCredential.data);

Returns: created_at (string), expired (boolean), expires_at (string), id (string), name (string), record_type (string), resource_id (string), sip_password (string), sip_username (string), updated_at (string), user_id (string)

Get a credential

Get the details of an existing On-demand Credential.

GET /telephony_credentials/{id}

const telephonyCredential = await client.telephonyCredentials.retrieve('id');

console.log(telephonyCredential.data);

Returns: created_at (string), expired (boolean), expires_at (string), id (string), name (string), record_type (string), resource_id (string), sip_password (string), sip_username (string), updated_at (string), user_id (string)

Update a credential

Update an existing credential.

PATCH /telephony_credentials/{id}

Optional: connection_id (string), expires_at (string), name (string), tag (string)

const telephonyCredential = await client.telephonyCredentials.update('id');

console.log(telephonyCredential.data);

Returns: created_at (string), expired (boolean), expires_at (string), id (string), name (string), record_type (string), resource_id (string), sip_password (string), sip_username (string), updated_at (string), user_id (string)

Delete a credential

Delete an existing credential.

DELETE /telephony_credentials/{id}

const telephonyCredential = await client.telephonyCredentials.delete('id');

console.log(telephonyCredential.data);

Returns: created_at (string), expired (boolean), expires_at (string), id (string), name (string), record_type (string), resource_id (string), sip_password (string), sip_username (string), updated_at (string), user_id (string)

Source Transparency

This detail page is rendered from real SKILL.md content. Trust labels are metadata-based hints, not a safety guarantee.

Related Skills

Related by shared tags or category signals.

Automation

telnyx-ai-assistants-javascript

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

telnyx-numbers-javascript

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

telnyx-voice-media-javascript

No summary provided by upstream source.

Repository SourceNeeds Review
Automation

telnyx-voice-streaming-javascript

No summary provided by upstream source.

Repository SourceNeeds Review