api/javascript/telnyx-account-access-javascript/SKILL.md
Configure account addresses, authentication providers, IP access controls, billing groups, and integration secrets. This skill provides JavaScript SDK examples.
npx skillsauth add team-telnyx/telnyx-toolkit telnyx-account-access-javascriptInstall 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.
npm install telnyx
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.
Returns a list of your addresses.
GET /addresses
// Automatically fetches more pages as needed.
for await (const address of client.addresses.list()) {
console.log(address.id);
}
Creates an address.
POST /addresses — Required: first_name, last_name, business_name, street_address, locality, country_code
const address = await client.addresses.create({
business_name: "Toy-O'Kon",
country_code: 'US',
first_name: 'Alfred',
last_name: 'Foster',
locality: 'Austin',
street_address: '600 Congress Avenue',
});
console.log(address.data);
Retrieves the details of an existing address.
GET /addresses/{id}
const address = await client.addresses.retrieve('id');
console.log(address.data);
Deletes an existing address.
DELETE /addresses/{id}
const address = await client.addresses.delete('id');
console.log(address.data);
POST /addresses/{id}/actions/accept_suggestions
const response = await client.addresses.actions.acceptSuggestions(
'182bd5e5-6e1a-4fe4-a799-aa6d9a6ab26e',
);
console.log(response.data);
Validates an address for emergency services.
POST /addresses/actions/validate — Required: country_code, street_address, postal_code
const response = await client.addresses.actions.validate({
country_code: 'US',
postal_code: '78701',
street_address: '600 Congress Avenue',
});
console.log(response.data);
Returns a list of your SSO authentication providers.
GET /authentication_providers
// Automatically fetches more pages as needed.
for await (const authenticationProvider of client.authenticationProviders.list()) {
console.log(authenticationProvider.id);
}
Creates an authentication provider.
POST /authentication_providers — Required: name, short_name, settings
const authenticationProvider = await client.authenticationProviders.create({
name: 'Okta',
settings: {
idp_cert_fingerprint: '13:38:C7:BB:C9:FF:4A:70:38:3A:E3:D9:5C:CD:DB:2E:50:1E:80:A7',
idp_entity_id: 'https://myorg.myidp.com/saml/metadata',
idp_sso_target_url: 'https://myorg.myidp.com/trust/saml2/http-post/sso',
},
short_name: 'myorg',
});
console.log(authenticationProvider.data);
Retrieves the details of an existing authentication provider.
GET /authentication_providers/{id}
const authenticationProvider = await client.authenticationProviders.retrieve('id');
console.log(authenticationProvider.data);
Updates settings of an existing authentication provider.
PATCH /authentication_providers/{id}
const authenticationProvider = await client.authenticationProviders.update('id', {
active: true,
name: 'Okta',
settings: {
idp_entity_id: 'https://myorg.myidp.com/saml/metadata',
idp_sso_target_url: 'https://myorg.myidp.com/trust/saml2/http-post/sso',
idp_cert_fingerprint: '13:38:C7:BB:C9:FF:4A:70:38:3A:E3:D9:5C:CD:DB:2E:50:1E:80:A7',
idp_cert_fingerprint_algorithm: 'sha1',
},
short_name: 'myorg',
});
console.log(authenticationProvider.data);
Deletes an existing authentication provider.
DELETE /authentication_providers/{id}
const authenticationProvider = await client.authenticationProviders.delete('id');
console.log(authenticationProvider.data);
GET /billing_groups
// Automatically fetches more pages as needed.
for await (const billingGroup of client.billingGroups.list()) {
console.log(billingGroup.id);
}
POST /billing_groups
const billingGroup = await client.billingGroups.create({ name: 'string' });
console.log(billingGroup.data);
GET /billing_groups/{id}
const billingGroup = await client.billingGroups.retrieve('f5586561-8ff0-4291-a0ac-84fe544797bd');
console.log(billingGroup.data);
PATCH /billing_groups/{id}
const billingGroup = await client.billingGroups.update('f5586561-8ff0-4291-a0ac-84fe544797bd', {
name: 'string',
});
console.log(billingGroup.data);
DELETE /billing_groups/{id}
const billingGroup = await client.billingGroups.delete('f5586561-8ff0-4291-a0ac-84fe544797bd');
console.log(billingGroup.data);
Retrieve a list of all integration secrets configured by the user.
GET /integration_secrets
// Automatically fetches more pages as needed.
for await (const integrationSecret of client.integrationSecrets.list()) {
console.log(integrationSecret.id);
}
Create a new secret with an associated identifier that can be used to securely integrate with other services.
POST /integration_secrets — Required: identifier, type
const integrationSecret = await client.integrationSecrets.create({
identifier: 'my_secret',
type: 'bearer',
token: 'my_secret_value',
});
console.log(integrationSecret.data);
Delete an integration secret given its ID.
DELETE /integration_secrets/{id}
await client.integrationSecrets.delete('id');
GET /access_ip_address
// Automatically fetches more pages as needed.
for await (const accessIPAddressResponse of client.accessIPAddress.list()) {
console.log(accessIPAddressResponse.id);
}
POST /access_ip_address — Required: ip_address
const accessIPAddressResponse = await client.accessIPAddress.create({ ip_address: 'ip_address' });
console.log(accessIPAddressResponse.id);
GET /access_ip_address/{access_ip_address_id}
const accessIPAddressResponse = await client.accessIPAddress.retrieve('access_ip_address_id');
console.log(accessIPAddressResponse.id);
DELETE /access_ip_address/{access_ip_address_id}
const accessIPAddressResponse = await client.accessIPAddress.delete('access_ip_address_id');
console.log(accessIPAddressResponse.id);
GET /access_ip_ranges
// Automatically fetches more pages as needed.
for await (const accessIPRange of client.accessIPRanges.list()) {
console.log(accessIPRange.id);
}
POST /access_ip_ranges — Required: cidr_block
const accessIPRange = await client.accessIPRanges.create({ cidr_block: 'cidr_block' });
console.log(accessIPRange.id);
DELETE /access_ip_ranges/{access_ip_range_id}
const accessIPRange = await client.accessIPRanges.delete('access_ip_range_id');
console.log(accessIPRange.id);
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.