Add-on Management API
This guide describes the APIs you can use to retrieve available and installed Add-ons. You can also use it to install specific Add-ons, and to manage any extensions they have. This API complements the Add-on capabilities exposed in the Console.
This API is currently in Developer Preview.
Info
The Add-on Management API only supports Add-ons that are in General Availability (GA) or Beta state. Add-ons that are labeled as Coming Soon or Developer Preview are not accessible via the API and must be managed in the Console.
While this API is in Developer Preview, it should be accessed via the following base domain:
_10https://preview.twilio.com
The API may also be accessed via Next-gen helper libraries.
The Available Add-ons API provides detailed descriptions of the Add-ons currently available to be installed by an Account. This API does not allow you to mutate any of the records.
_10/marketplace/AvailableAddOns
_10/marketplace/AvailableAddOns/{AddOnSid}
Property nameTypePIIDescription
The unique string that we created to identify the AvailableAddOn resource.
Pattern: ^XB[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
The string that you assigned to describe the resource.
A short description of the Add-on's functionality.
How customers are charged for using this Add-on.
configuration_schemaobject The JSON object with the configuration that must be provided when installing a given Add-on.
The absolute URL of the resource.
The URLs of related resources.
Returns a list of Available Add-on resources.
_18// Download the helper library from https://www.twilio.com/docs/node/install
_18const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_18// Find your Account SID and Auth Token at twilio.com/console
_18// and set the environment variables. See http://twil.io/secure
_18const accountSid = process.env.TWILIO_ACCOUNT_SID;
_18const authToken = process.env.TWILIO_AUTH_TOKEN;
_18const client = twilio(accountSid, authToken);
_18async function listAvailableAddOn() {
_18 const availableAddOns = await client.preview.marketplace.availableAddOns.list(
_18 availableAddOns.forEach((a) => console.log(a.friendlyName));
_34 "available_add_ons": [
_34 "sid": "XBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_34 "friendly_name": "VoiceBase High Accuracy Transcription",
_34 "description": "Automatic Transcription and Keyword Extract...",
_34 "pricing_type": "per minute",
_34 "configuration_schema": {
_34 "url": "https://preview.twilio.com/marketplace/AvailableAddOns/XBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_34 "extensions": "https://preview.twilio.com/marketplace/AvailableAddOns/XBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions"
_34 "first_page_url": "https://preview.twilio.com/marketplace/AvailableAddOns?PageSize=50&Page=0",
_34 "previous_page_url": null,
_34 "url": "https://preview.twilio.com/marketplace/AvailableAddOns?PageSize=50&Page=0",
_34 "next_page_url": null,
_34 "key": "available_add_ons"
Returns a single instance of an Available Add-on resource.
_18// Download the helper library from https://www.twilio.com/docs/node/install
_18const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_18// Find your Account SID and Auth Token at twilio.com/console
_18// and set the environment variables. See http://twil.io/secure
_18const accountSid = process.env.TWILIO_ACCOUNT_SID;
_18const authToken = process.env.TWILIO_AUTH_TOKEN;
_18const client = twilio(accountSid, authToken);
_18async function fetchAvailableAddOn() {
_18 const availableAddOn = await client.preview.marketplace
_18 .availableAddOns("XB85b56ed9ce713e0ac62342b901233193")
_18 console.log(availableAddOn.friendlyName);
_18fetchAvailableAddOn();
_21 "sid": "XB85b56ed9ce713e0ac62342b901233193",
_21 "friendly_name": "VoiceBase High Accuracy Transcription",
_21 "description": "Automatic Transcription and Keyword Extract...",
_21 "pricing_type": "per minute",
_21 "configuration_schema": {
_21 "url": "https://preview.twilio.com/marketplace/AvailableAddOns/XBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_21 "extensions": "https://preview.twilio.com/marketplace/AvailableAddOns/XBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions"
The Available Add-on Extension subresource details where a given Available Add-on can be invoked.
_10/marketplace/AvailableAddOns/{AddOnSid}/Extensions
Property nameTypePIIDescription
The unique string that we created to identify the AvailableAddOnExtension resource.
Pattern: ^XF[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
available_add_on_sidSID<XB> The SID of the AvailableAddOn resource to which this extension applies.
Pattern: ^XB[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
The string that you assigned to describe the resource.
The name of the Product this Extension is used within.
An application-defined string that uniquely identifies the resource.
The absolute URL of the resource.
Returns a list of Extension resources that detail the invocation points for the Available Add-on.
_18// Download the helper library from https://www.twilio.com/docs/node/install
_18const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_18// Find your Account SID and Auth Token at twilio.com/console
_18// and set the environment variables. See http://twil.io/secure
_18const accountSid = process.env.TWILIO_ACCOUNT_SID;
_18const authToken = process.env.TWILIO_AUTH_TOKEN;
_18const client = twilio(accountSid, authToken);
_18async function listAvailableAddOnExtension() {
_18 const extensions = await client.preview.marketplace
_18 .availableAddOns("XB85b56ed9ce713e0ac62342b901233193")
_18 .extensions.list({ limit: 20 });
_18 extensions.forEach((e) => console.log(e.sid));
_18listAvailableAddOnExtension();
_21 "sid": "XFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_21 "available_add_on_sid": "XBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_21 "friendly_name": "Incoming Voice Call",
_21 "product_name": "Programmable Voice",
_21 "unique_name": "voice-incoming",
_21 "url": "https://preview.twilio.com/marketplace/AvailableAddOns/XBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions/XFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
_21 "first_page_url": "https://preview.twilio.com/marketplace/AvailableAddOns/XBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions?PageSize=50&Page=0",
_21 "previous_page_url": null,
_21 "url": "https://preview.twilio.com/marketplace/AvailableAddOns/XBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions?PageSize=50&Page=0",
_21 "next_page_url": null,
The Installed Add-ons API allows you to install, configure, and manage Add-ons for an account. An Add-on may be installed multiple times on a given account, each with a different Add-on configuration. Upon installation, the Add-on is identified by an AddOnConfigurationSid
property.
_10/marketplace/InstalledAddOns
_10/marketplace/InstalledAddOns/{AddOnConfigurationSid}
Property nameTypePIIDescription
The unique string that we created to identify the InstalledAddOn resource. This Sid can also be found in the Console on that specific Add-ons page as the 'Available Add-on Sid'.
Pattern: ^XE[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
The SID of the Account that created the InstalledAddOn resource.
Pattern: ^AC[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
The string that you assigned to describe the resource.
A short description of the Add-on's functionality.
The JSON object that represents the current configuration of installed Add-on.
An application-defined string that uniquely identifies the resource.
date_createdstring<date-time>
date_updatedstring<date-time>
The absolute URL of the resource.
The URLs of related resources.
Returns a list of Installed Add-ons associated with the given account.
_18// Download the helper library from https://www.twilio.com/docs/node/install
_18const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_18// Find your Account SID and Auth Token at twilio.com/console
_18// and set the environment variables. See http://twil.io/secure
_18const accountSid = process.env.TWILIO_ACCOUNT_SID;
_18const authToken = process.env.TWILIO_AUTH_TOKEN;
_18const client = twilio(accountSid, authToken);
_18async function listInstalledAddOn() {
_18 const installedAddOns = await client.preview.marketplace.installedAddOns.list(
_18 installedAddOns.forEach((i) => console.log(i.friendlyName));
_30 "installed_add_ons": [
_30 "sid": "XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_30 "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_30 "friendly_name": "VoiceBase High Accuracy Transcription",
_30 "description": "Automatic Transcription and Keyword Extract...",
_30 "unique_name": "voicebase_high_accuracy_transcription",
_30 "date_created": "2016-04-07T23:52:28Z",
_30 "date_updated": "2016-04-07T23:52:28Z",
_30 "url": "https://preview.twilio.com/marketplace/InstalledAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_30 "extensions": "https://preview.twilio.com/marketplace/InstalledAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions",
_30 "available_add_on": "https://preview.twilio.com/marketplace/AvailableAddOns/XBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
_30 "first_page_url": "https://preview.twilio.com/marketplace/InstalledAddOns?PageSize=50&Page=0",
_30 "previous_page_url": null,
_30 "url": "https://preview.twilio.com/marketplace/InstalledAddOns?PageSize=50&Page=0",
_30 "next_page_url": null,
_30 "key": "installed_add_ons"
Returns a single instance of an Installed Add-on associated with the given account.
_18// Download the helper library from https://www.twilio.com/docs/node/install
_18const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_18// Find your Account SID and Auth Token at twilio.com/console
_18// and set the environment variables. See http://twil.io/secure
_18const accountSid = process.env.TWILIO_ACCOUNT_SID;
_18const authToken = process.env.TWILIO_AUTH_TOKEN;
_18const client = twilio(accountSid, authToken);
_18async function fetchInstalledAddOn() {
_18 const installedAddOn = await client.preview.marketplace
_18 .installedAddOns("XE85b56ed9ce713e0ac62342b901233193")
_18 console.log(installedAddOn.friendlyName);
_18fetchInstalledAddOn();
_17 "sid": "XE85b56ed9ce713e0ac62342b901233193",
_17 "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_17 "friendly_name": "VoiceBase High Accuracy Transcription",
_17 "description": "Automatic Transcription and Keyword Extract...",
_17 "unique_name": "voicebase_high_accuracy_transcription",
_17 "date_created": "2016-04-07T23:52:28Z",
_17 "date_updated": "2016-04-07T23:52:28Z",
_17 "url": "https://preview.twilio.com/marketplace/InstalledAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_17 "extensions": "https://preview.twilio.com/marketplace/InstalledAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions",
_17 "available_add_on": "https://preview.twilio.com/marketplace/AvailableAddOns/XBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
Allows you to install an Available Add-on to the account.
Property nameTypeRequiredPIIDescription
AvailableAddOnSidSID<XB>required The SID of the AvaliableAddOn to install.
Pattern: ^XB[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
AcceptTermsOfServicebooleanrequired Whether the Terms of Service were accepted.
ConfigurationobjectOptional The JSON object that represents the configuration of the new Add-on being installed.
An application-defined string that uniquely identifies the resource. This value must be unique within the Account.
_26// Download the helper library from https://www.twilio.com/docs/node/install
_26const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_26// Find your Account SID and Auth Token at twilio.com/console
_26// and set the environment variables. See http://twil.io/secure
_26const accountSid = process.env.TWILIO_ACCOUNT_SID;
_26const authToken = process.env.TWILIO_AUTH_TOKEN;
_26const client = twilio(accountSid, authToken);
_26async function createInstalledAddOn() {
_26 const installedAddOn =
_26 await client.preview.marketplace.installedAddOns.create({
_26 acceptTermsOfService: true,
_26 availableAddOnSid: "XB85b56ed9ce713e0ac62342b901233193",
_26 callback_method: "POST",
_26 callback_url: "https://your.callback.url",
_26 "include-keywords": true,
_26 "include-topics": true,
_26 console.log(installedAddOn.friendlyName);
_26createInstalledAddOn();
_17 "sid": "XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_17 "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_17 "friendly_name": "VoiceBase High Accuracy Transcription",
_17 "description": "Automatic Transcription and Keyword Extract...",
_17 "unique_name": "voicebase_high_accuracy_transcription_1",
_17 "date_created": "2016-04-07T23:52:28Z",
_17 "date_updated": "2016-04-07T23:52:28Z",
_17 "url": "https://preview.twilio.com/marketplace/InstalledAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_17 "extensions": "https://preview.twilio.com/marketplace/InstalledAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions",
_17 "available_add_on": "https://preview.twilio.com/marketplace/AvailableAddOns/XBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
Allows you to update an Installed Add-on's configuration by supplying a JSON object that uses the schema exposed by the Available Add-on.
Property nameTypeRequiredPIIDescription
The SID of the InstalledAddOn resource to update.
Pattern: ^XE[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
Property nameTypeRequiredPIIDescription
ConfigurationobjectOptional Valid JSON object that conform to the configuration schema exposed by the associated AvailableAddOn resource. This is only required by Add-ons that need to be configured
An application-defined string that uniquely identifies the resource. This value must be unique within the Account.
_25// Download the helper library from https://www.twilio.com/docs/node/install
_25const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_25// Find your Account SID and Auth Token at twilio.com/console
_25// and set the environment variables. See http://twil.io/secure
_25const accountSid = process.env.TWILIO_ACCOUNT_SID;
_25const authToken = process.env.TWILIO_AUTH_TOKEN;
_25const client = twilio(accountSid, authToken);
_25async function updateInstalledAddOn() {
_25 const installedAddOn = await client.preview.marketplace
_25 .installedAddOns("XE85b56ed9ce713e0ac62342b901233193")
_25 callback_method: "POST",
_25 callback_url: "https://your.callback.url",
_25 "include-keywords": true,
_25 "include-topics": true,
_25 console.log(installedAddOn.configuration);
_25updateInstalledAddOn();
_17 "sid": "XE85b56ed9ce713e0ac62342b901233193",
_17 "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_17 "friendly_name": "VoiceBase High Accuracy Transcription",
_17 "description": "Automatic Transcription and Keyword Extract...",
_17 "unique_name": "voicebase_high_accuracy_transcription_2",
_17 "date_created": "2016-04-07T23:52:28Z",
_17 "date_updated": "2016-04-07T23:52:28Z",
_17 "url": "https://preview.twilio.com/marketplace/InstalledAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_17 "extensions": "https://preview.twilio.com/marketplace/InstalledAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions",
_17 "available_add_on": "https://preview.twilio.com/marketplace/AvailableAddOns/XBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
Uninstalls the Add-on from the account. If the Add-on is currently assigned to an Incoming Phone Number, the API will return a 400 error to inform the user that they must first remove the assignment. Successful responses will return no content.
An Extension identifies a Twilio product, or an integration point in a Twilio product, where the Add-on is invoked. Examples of Extensions include Record Verb, Dial Verb, the Lookup API, Incoming Voice Call, Incoming SMS, etc.
The Installed Add-on Extensions API provides you with the ability to view and configure when an Installed Add-on is invoked.
To allow you to control the roll-out of Add-ons, by default all Extensions will be disabled. This means you will need to make additional API requests to enable Extensions before they can use the installed Add-on. This will give you the opportunity to first associate an Installed Add-on with an Incoming Phone Number before enabling any Extensions.
The following table lists the currently supported Extensions. Each Add-on typically supports a subset of these Extensions.
Product Name | Friendly Name | Unique Name |
---|
Lookup | Lookups | lookup-api |
Programmable SMS | Incoming SMS Message | sms-incoming |
TaskRouter | Create TaskRouter Tasks | taskrouter-create-task |
Programmable Voice | Incoming Voice Call | voice-incoming |
Programmable Voice | Record Verb Recordings | recording-verb |
Programmable Voice | Outgoing Call (API) Recordings | recording-api |
Programmable Voice | Conference Recordings | recording-conference |
Programmable Voice | Dial Verb Recordings | recording-dial |
_10/marketplace/InstalledAddOns/{AddOnConfigurationSid}/Extensions
_10/marketplace/InstalledAddOns/{AddOnConfigurationSid}/Extensions/{AddOnExtensionSid}
Property nameTypePIIDescription
The unique string that we created to identify the InstalledAddOn Extension resource.
Pattern: ^XF[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
installed_add_on_sidSID<XE> The SID of the InstalledAddOn resource to which this extension applies.
Pattern: ^XE[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
The string that you assigned to describe the resource.
The name of the Product this Extension is used within.
An application-defined string that uniquely identifies the resource.
Whether the Extension will be invoked.
The absolute URL of the resource.
Returns a list of Extensions where the Add-on can be invoked.
_18// Download the helper library from https://www.twilio.com/docs/node/install
_18const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_18// Find your Account SID and Auth Token at twilio.com/console
_18// and set the environment variables. See http://twil.io/secure
_18const accountSid = process.env.TWILIO_ACCOUNT_SID;
_18const authToken = process.env.TWILIO_AUTH_TOKEN;
_18const client = twilio(accountSid, authToken);
_18async function listInstalledAddOnExtension() {
_18 const extensions = await client.preview.marketplace
_18 .installedAddOns("XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_18 .extensions.list({ limit: 20 });
_18 extensions.forEach((e) => console.log(e.enabled));
_18listInstalledAddOnExtension();
_22 "sid": "XFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_22 "installed_add_on_sid": "XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_22 "friendly_name": "Incoming Voice Call",
_22 "product_name": "Programmable Voice",
_22 "unique_name": "voice-incoming",
_22 "url": "https://preview.twilio.com/marketplace/InstalledAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions/XFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
_22 "first_page_url": "https://preview.twilio.com/marketplace/InstalledAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions?PageSize=50&Page=0",
_22 "previous_page_url": null,
_22 "url": "https://preview.twilio.com/marketplace/InstalledAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions?PageSize=50&Page=0",
_22 "next_page_url": null,
Returns a single instance of an Add-on Extension resource.
_19// Download the helper library from https://www.twilio.com/docs/node/install
_19const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_19// Find your Account SID and Auth Token at twilio.com/console
_19// and set the environment variables. See http://twil.io/secure
_19const accountSid = process.env.TWILIO_ACCOUNT_SID;
_19const authToken = process.env.TWILIO_AUTH_TOKEN;
_19const client = twilio(accountSid, authToken);
_19async function fetchInstalledAddOnExtension() {
_19 const extension = await client.preview.marketplace
_19 .installedAddOns("XE85b56ed9ce713e0ac62342b901233193")
_19 .extensions("XFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_19 console.log(extension.enabled);
_19fetchInstalledAddOnExtension();
_10 "sid": "XFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_10 "installed_add_on_sid": "XE85b56ed9ce713e0ac62342b901233193",
_10 "friendly_name": "Incoming Voice Call",
_10 "product_name": "Programmable Voice",
_10 "unique_name": "voice-incoming",
_10 "url": "https://preview.twilio.com/marketplace/InstalledAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions/XFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
Allows you to activate or deactivate an Extension associated with the Installed Add-on.
Property nameTypeRequiredPIIDescription
InstalledAddOnSidSID<XE>required The SID of the InstalledAddOn resource with the extension to update.
Pattern: ^XE[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
The SID of the InstalledAddOn Extension resource to update.
Pattern: ^XF[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
Property nameTypeRequiredPIIDescription
Whether the Extension should be invoked.
_19// Download the helper library from https://www.twilio.com/docs/node/install
_19const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_19// Find your Account SID and Auth Token at twilio.com/console
_19// and set the environment variables. See http://twil.io/secure
_19const accountSid = process.env.TWILIO_ACCOUNT_SID;
_19const authToken = process.env.TWILIO_AUTH_TOKEN;
_19const client = twilio(accountSid, authToken);
_19async function updateInstalledAddOnExtension() {
_19 const extension = await client.preview.marketplace
_19 .installedAddOns("XE85b56ed9ce713e0ac62342b901233193")
_19 .extensions("XFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_19 .update({ enabled: true });
_19 console.log(extension.enabled);
_19updateInstalledAddOnExtension();
_10 "sid": "XFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_10 "installed_add_on_sid": "XE85b56ed9ce713e0ac62342b901233193",
_10 "friendly_name": "Incoming Voice Call",
_10 "product_name": "Programmable Voice",
_10 "unique_name": "voice-incoming",
_10 "url": "https://preview.twilio.com/marketplace/InstalledAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions/XFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
The Incoming Phone Number Assigned Add-ons subresource details which Add-ons have been assigned to a given Twilio phone number. Assigning an Add-on to a specific Twilio phone number limits the invocation of that Add-on to Calls or Messages on that particular phone number.
Add-ons enabled for Recordings and TaskRouter do not support phone number assignments.
_10/2010-04-01/IncomingPhoneNumbers/{PhoneNumberSid}/AssignedAddOns
_10/2010-04-01/IncomingPhoneNumbers/{PhoneNumberSid}/AssignedAddOns/{AddOnConfigurationSid}
_10/2010-04-01/IncomingPhoneNumbers/{PhoneNumberSid}/AssignedAddOns/{AddOnConfigurationSid}/Extensions
Returns of a list of the Installed Add-ons assigned to the given Incoming Phone Number.
_18// Download the helper library from https://www.twilio.com/docs/node/install
_18const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_18// Find your Account SID and Auth Token at twilio.com/console
_18// and set the environment variables. See http://twil.io/secure
_18const accountSid = process.env.TWILIO_ACCOUNT_SID;
_18const authToken = process.env.TWILIO_AUTH_TOKEN;
_18const client = twilio(accountSid, authToken);
_18async function listIncomingPhoneNumberAssignedAddOn() {
_18 const assignedAddOns = await client
_18 .incomingPhoneNumbers("PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_18 .assignedAddOns.list({ limit: 20 });
_18 assignedAddOns.forEach((a) => console.log(a.description));
_18listIncomingPhoneNumberAssignedAddOn();
_29 "first_page_uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AssignedAddOns.json?PageSize=50&Page=0",
_29 "next_page_uri": null,
_29 "previous_page_uri": null,
_29 "assigned_add_ons": [
_29 "sid": "XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_29 "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_29 "resource_sid": "PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_29 "friendly_name": "VoiceBase High Accuracy Transcription",
_29 "description": "Automatic Transcription and Keyword Extract...",
_29 "unique_name": "voicebase_high_accuracy_transcription",
_29 "date_created": "Thu, 07 Apr 2016 23:52:28 +0000",
_29 "date_updated": "Thu, 07 Apr 2016 23:52:28 +0000",
_29 "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AssignedAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json",
_29 "subresource_uris": {
_29 "extensions": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AssignedAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions.json"
_29 "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AssignedAddOns.json?PageSize=50&Page=0"
Returns a single instance of an Installed Add-on assigned to a given Incoming Phone Number.
_19// Download the helper library from https://www.twilio.com/docs/node/install
_19const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_19// Find your Account SID and Auth Token at twilio.com/console
_19// and set the environment variables. See http://twil.io/secure
_19const accountSid = process.env.TWILIO_ACCOUNT_SID;
_19const authToken = process.env.TWILIO_AUTH_TOKEN;
_19const client = twilio(accountSid, authToken);
_19async function fetchIncomingPhoneNumberAssignedAddOn() {
_19 const assignedAddOn = await client
_19 .incomingPhoneNumbers("PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_19 .assignedAddOns("XE85b56ed9ce713e0ac62342b901233193")
_19 console.log(assignedAddOn.sid);
_19fetchIncomingPhoneNumberAssignedAddOn();
_17 "sid": "XE85b56ed9ce713e0ac62342b901233193",
_17 "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_17 "resource_sid": "PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_17 "friendly_name": "VoiceBase High Accuracy Transcription",
_17 "description": "Automatic Transcription and Keyword Extract...",
_17 "unique_name": "voicebase_high_accuracy_transcription",
_17 "date_created": "Thu, 07 Apr 2016 23:52:28 +0000",
_17 "date_updated": "Thu, 07 Apr 2016 23:52:28 +0000",
_17 "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AssignedAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json",
_17 "subresource_uris": {
_17 "extensions": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AssignedAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions.json"
Allows you to assign an Installed Add-on to an Incoming Phone Number. The Add-on will only be invoked for the associated Incoming Phone Number.
Property nameTypeRequiredPIIDescription
AccountSidSID<AC>required The SID of the Account that will create the resource.
Pattern: ^AC[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
ResourceSidSID<PN>required The SID of the Phone Number to assign the Add-on.
Pattern: ^PN[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
Property nameTypeRequiredPIIDescription
InstalledAddOnSidSID<XE>required The SID that identifies the Add-on installation.
Pattern: ^XE[0-9a-fA-F]{32}$
Min length: 34
Max length: 34
_20// Download the helper library from https://www.twilio.com/docs/node/install
_20const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_20// Find your Account SID and Auth Token at twilio.com/console
_20// and set the environment variables. See http://twil.io/secure
_20const accountSid = process.env.TWILIO_ACCOUNT_SID;
_20const authToken = process.env.TWILIO_AUTH_TOKEN;
_20const client = twilio(accountSid, authToken);
_20async function createIncomingPhoneNumberAssignedAddOn() {
_20 const assignedAddOn = await client
_20 .incomingPhoneNumbers("PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_20 .assignedAddOns.create({
_20 installedAddOnSid: "XE85b56ed9ce713e0ac62342b901233193",
_20 console.log(assignedAddOn.sid);
_20createIncomingPhoneNumberAssignedAddOn();
_17 "sid": "XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_17 "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_17 "resource_sid": "PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_17 "friendly_name": "VoiceBase High Accuracy Transcription",
_17 "description": "Automatic Transcription and Keyword Extract...",
_17 "unique_name": "voicebase_high_accuracy_transcription",
_17 "date_created": "Thu, 07 Apr 2016 23:52:28 +0000",
_17 "date_updated": "Thu, 07 Apr 2016 23:52:28 +0000",
_17 "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AssignedAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json",
_17 "subresource_uris": {
_17 "extensions": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AssignedAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions.json"
Deleting an Assigned Add-on instance resource will remove the binding between the Add-on and the Incoming Phone Number. Successful responses will return no content.
Returns a list of the Extensions for the Installed Add-on assigned to the given Incoming Phone Number.
_19// Download the helper library from https://www.twilio.com/docs/node/install
_19const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_19// Find your Account SID and Auth Token at twilio.com/console
_19// and set the environment variables. See http://twil.io/secure
_19const accountSid = process.env.TWILIO_ACCOUNT_SID;
_19const authToken = process.env.TWILIO_AUTH_TOKEN;
_19const client = twilio(accountSid, authToken);
_19async function listIncomingPhoneNumberAssignedAddOnExtension() {
_19 const extensions = await client
_19 .incomingPhoneNumbers("PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_19 .assignedAddOns("XE85b56ed9ce713e0ac62342b901233193")
_19 .extensions.list({ limit: 20 });
_19 extensions.forEach((e) => console.log(e.sid));
_19listIncomingPhoneNumberAssignedAddOnExtension();
_23 "first_page_uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AssignedAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions.json?PageSize=50&Page=0",
_23 "next_page_uri": null,
_23 "previous_page_uri": null,
_23 "sid": "XFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_23 "assigned_add_on_sid": "XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_23 "resource_sid": "PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_23 "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_23 "friendly_name": "Incoming Voice Call",
_23 "product_name": "Programmable Voice",
_23 "unique_name": "voice-incoming",
_23 "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AssignedAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions/XFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
_23 "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AssignedAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions.json?PageSize=50&Page=0"
Returns a single Extension for the Installed Add-on assigned to the given Incoming Phone Number.
_20// Download the helper library from https://www.twilio.com/docs/node/install
_20const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
_20// Find your Account SID and Auth Token at twilio.com/console
_20// and set the environment variables. See http://twil.io/secure
_20const accountSid = process.env.TWILIO_ACCOUNT_SID;
_20const authToken = process.env.TWILIO_AUTH_TOKEN;
_20const client = twilio(accountSid, authToken);
_20async function fetchIncomingPhoneNumberAssignedAddOnExtension() {
_20 const extension = await client
_20 .incomingPhoneNumbers("PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_20 .assignedAddOns("XE85b56ed9ce713e0ac62342b901233193")
_20 .extensions("XF025b77384a62367bd120b7ce60250d7b")
_20 console.log(extension.sid);
_20fetchIncomingPhoneNumberAssignedAddOnExtension();
_11 "sid": "XF025b77384a62367bd120b7ce60250d7b",
_11 "assigned_add_on_sid": "XE85b56ed9ce713e0ac62342b901233193",
_11 "resource_sid": "PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_11 "account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_11 "friendly_name": "Incoming Voice Call",
_11 "product_name": "Programmable Voice",
_11 "unique_name": "voice-incoming",
_11 "uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AssignedAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions/XFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json",