Skip to contentSkip to navigationSkip to topbar
Rate this page:
On this page

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.

(information)

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:


_10
https://preview.twilio.com

The API may also be accessed via Next-gen helper libraries.


The Available Add-ons API

offerings page anchor

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.

URIs

offerings-uri page anchor

_10
/marketplace/AvailableAddOns
_10
/marketplace/AvailableAddOns/{AddOnSid}

Property nameTypePIIDescription
sidSID<XB>
Not PII

The unique string that we created to identify the AvailableAddOn resource.

Pattern: ^XB[0-9a-fA-F]{32}$Min length: 34Max length: 34

friendly_namestring

The string that you assigned to describe the resource.


descriptionstring

A short description of the Add-on's functionality.


pricing_typestring

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.


urlstring<uri>

The absolute URL of the resource.


linksobject<uri-map>

The URLs of related resources.

Available Add-ons List resource

available-add-ons-list-resource page anchor

HTTP GET

http-get page anchor

Returns a list of Available Add-on resources.

List available Add-On resources

list-available-add-on-resources page anchor
Node.js
Python
C#
Java
PHP
Ruby
curl

_14
// Download the helper library from https://www.twilio.com/docs/node/install
_14
import twilio from "twilio";
_14
_14
// Find your Account SID and Auth Token at twilio.com/console
_14
// and set the environment variables. See http://twil.io/secure
_14
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_14
const authToken = process.env.TWILIO_AUTH_TOKEN;
_14
const client = twilio(accountSid, authToken);
_14
_14
const availableAddOns = await client.preview.marketplace.availableAddOns.list({
_14
limit: 20,
_14
});
_14
_14
availableAddOns.forEach((a) => console.log(a.friendlyName));

Output

_34
{
_34
"available_add_ons": [
_34
{
_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
"type": "object",
_34
"properties": {
_34
"bad_words": {
_34
"type": "boolean"
_34
}
_34
},
_34
"required": [
_34
"bad_words"
_34
]
_34
},
_34
"url": "https://preview.twilio.com/marketplace/AvailableAddOns/XBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_34
"links": {
_34
"extensions": "https://preview.twilio.com/marketplace/AvailableAddOns/XBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions"
_34
}
_34
}
_34
],
_34
"meta": {
_34
"page": 0,
_34
"page_size": 50,
_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"
_34
}
_34
}

Available Add-on Instance resource

available-add-on-instance-resource page anchor

Returns a single instance of an Available Add-on resource.

Return an instance of an Available Add-On

return-an-instance-of-an-available-add-on page anchor
Node.js
Python
C#
Java
PHP
Ruby
curl

_14
// Download the helper library from https://www.twilio.com/docs/node/install
_14
import twilio from "twilio";
_14
_14
// Find your Account SID and Auth Token at twilio.com/console
_14
// and set the environment variables. See http://twil.io/secure
_14
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_14
const authToken = process.env.TWILIO_AUTH_TOKEN;
_14
const client = twilio(accountSid, authToken);
_14
_14
const availableAddOn = await client.preview.marketplace
_14
.availableAddOns("XB85b56ed9ce713e0ac62342b901233193")
_14
.fetch();
_14
_14
console.log(availableAddOn.friendlyName);

Output

_21
{
_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
"type": "object",
_21
"properties": {
_21
"bad_words": {
_21
"type": "boolean"
_21
}
_21
},
_21
"required": [
_21
"bad_words"
_21
]
_21
},
_21
"url": "https://preview.twilio.com/marketplace/AvailableAddOns/XBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_21
"links": {
_21
"extensions": "https://preview.twilio.com/marketplace/AvailableAddOns/XBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions"
_21
}
_21
}


The Available Add-on Extensions API

the-available-add-on-extensions-api page anchor

The Available Add-on Extension subresource details where a given Available Add-on can be invoked.


_10
/marketplace/AvailableAddOns/{AddOnSid}/Extensions

Property nameTypePIIDescription
sidSID<XF>

The unique string that we created to identify the AvailableAddOnExtension resource.

Pattern: ^XF[0-9a-fA-F]{32}$Min length: 34Max 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: 34Max length: 34

friendly_namestring

The string that you assigned to describe the resource.


product_namestring

The name of the Product this Extension is used within.


unique_namestring

An application-defined string that uniquely identifies the resource.


urlstring<uri>

The absolute URL of the resource.

Available Add-on Extensions List resource

available-add-on-extensions-list-resource page anchor

Returns a list of Extension resources that detail the invocation points for the Available Add-on.

List Extension resources for an Available Add-on

list-extension-resources-for-an-available-add-on page anchor
Node.js
Python
C#
Java
PHP
Ruby
curl

_14
// Download the helper library from https://www.twilio.com/docs/node/install
_14
import twilio from "twilio";
_14
_14
// Find your Account SID and Auth Token at twilio.com/console
_14
// and set the environment variables. See http://twil.io/secure
_14
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_14
const authToken = process.env.TWILIO_AUTH_TOKEN;
_14
const client = twilio(accountSid, authToken);
_14
_14
const extensions = await client.preview.marketplace
_14
.availableAddOns("XB85b56ed9ce713e0ac62342b901233193")
_14
.extensions.list({ limit: 20 });
_14
_14
extensions.forEach((e) => console.log(e.sid));

Output

_21
{
_21
"extensions": [
_21
{
_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
}
_21
],
_21
"meta": {
_21
"page": 0,
_21
"page_size": 50,
_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,
_21
"key": "extensions"
_21
}
_21
}


The Installed Add-ons API

the-installed-add-ons-api page anchor

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
sidSID<XE>

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: 34Max length: 34

account_sidSID<AC>

The SID of the Account that created the InstalledAddOn resource.

Pattern: ^AC[0-9a-fA-F]{32}$Min length: 34Max length: 34

friendly_namestring

The string that you assigned to describe the resource.


descriptionstring

A short description of the Add-on's functionality.


configurationobject

The JSON object that represents the current configuration of installed Add-on.


unique_namestring

An application-defined string that uniquely identifies the resource.


date_updatedstring<date-time>

The date and time in GMT when the resource was last updated specified in ISO 8601(link takes you to an external page) format.


urlstring<uri>

The absolute URL of the resource.


linksobject<uri-map>

The URLs of related resources.

Installed Add-ons List resource

installed-add-ons-list-resource page anchor

Returns a list of Installed Add-ons associated with the given account.

List the Installed Add-ons associated with a given account

list-the-installed-add-ons-associated-with-a-given-account page anchor
Node.js
Python
C#
Java
PHP
Ruby
curl

_14
// Download the helper library from https://www.twilio.com/docs/node/install
_14
import twilio from "twilio";
_14
_14
// Find your Account SID and Auth Token at twilio.com/console
_14
// and set the environment variables. See http://twil.io/secure
_14
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_14
const authToken = process.env.TWILIO_AUTH_TOKEN;
_14
const client = twilio(accountSid, authToken);
_14
_14
const installedAddOns = await client.preview.marketplace.installedAddOns.list({
_14
limit: 20,
_14
});
_14
_14
installedAddOns.forEach((i) => console.log(i.friendlyName));

Output

_30
{
_30
"installed_add_ons": [
_30
{
_30
"sid": "XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_30
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_30
"friendly_name": "VoiceBase High Accuracy Transcription",
_30
"description": "Automatic Transcription and Keyword Extract...",
_30
"configuration": {
_30
"bad_words": true
_30
},
_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
"links": {
_30
"extensions": "https://preview.twilio.com/marketplace/InstalledAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions",
_30
"available_add_on": "https://preview.twilio.com/marketplace/AvailableAddOns/XBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
_30
}
_30
}
_30
],
_30
"meta": {
_30
"page": 0,
_30
"page_size": 50,
_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"
_30
}
_30
}

Installed Add-on Instance resource

installed-add-on-instance-resource page anchor

Returns a single instance of an Installed Add-on associated with the given account.

Return an instance of an Installed Add-on for an account

return-an-instance-of-an-installed-add-on-for-an-account page anchor
Node.js
Python
C#
Java
PHP
Ruby
curl

_14
// Download the helper library from https://www.twilio.com/docs/node/install
_14
import twilio from "twilio";
_14
_14
// Find your Account SID and Auth Token at twilio.com/console
_14
// and set the environment variables. See http://twil.io/secure
_14
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_14
const authToken = process.env.TWILIO_AUTH_TOKEN;
_14
const client = twilio(accountSid, authToken);
_14
_14
const installedAddOn = await client.preview.marketplace
_14
.installedAddOns("XE85b56ed9ce713e0ac62342b901233193")
_14
.fetch();
_14
_14
console.log(installedAddOn.friendlyName);

Output

_17
{
_17
"sid": "XE85b56ed9ce713e0ac62342b901233193",
_17
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_17
"friendly_name": "VoiceBase High Accuracy Transcription",
_17
"description": "Automatic Transcription and Keyword Extract...",
_17
"configuration": {
_17
"bad_words": true
_17
},
_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
"links": {
_17
"extensions": "https://preview.twilio.com/marketplace/InstalledAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions",
_17
"available_add_on": "https://preview.twilio.com/marketplace/AvailableAddOns/XBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
_17
}
_17
}

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: 34Max 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.


UniqueNamestringOptional

An application-defined string that uniquely identifies the resource. This value must be unique within the Account.

Install an Available Add-on to an account

install-an-available-add-on-to-an-account page anchor
Node.js
Python
C#
Java
PHP
Ruby
curl

_21
// Download the helper library from https://www.twilio.com/docs/node/install
_21
import twilio from "twilio";
_21
_21
// Find your Account SID and Auth Token at twilio.com/console
_21
// and set the environment variables. See http://twil.io/secure
_21
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_21
const authToken = process.env.TWILIO_AUTH_TOKEN;
_21
const client = twilio(accountSid, authToken);
_21
_21
const installedAddOn = await client.preview.marketplace.installedAddOns.create({
_21
acceptTermsOfService: true,
_21
availableAddOnSid: "XB85b56ed9ce713e0ac62342b901233193",
_21
configuration: {
_21
callback_method: "POST",
_21
callback_url: "https://your.callback.url",
_21
"include-keywords": true,
_21
"include-topics": true,
_21
},
_21
});
_21
_21
console.log(installedAddOn.friendlyName);

Output

_17
{
_17
"sid": "XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_17
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_17
"friendly_name": "VoiceBase High Accuracy Transcription",
_17
"description": "Automatic Transcription and Keyword Extract...",
_17
"configuration": {
_17
"bad_words": true
_17
},
_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
"links": {
_17
"extensions": "https://preview.twilio.com/marketplace/InstalledAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions",
_17
"available_add_on": "https://preview.twilio.com/marketplace/AvailableAddOns/XBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
_17
}
_17
}

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
SidSID<XE>required

The SID of the InstalledAddOn resource to update.

Pattern: ^XE[0-9a-fA-F]{32}$Min length: 34Max 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


UniqueNamestringOptional

An application-defined string that uniquely identifies the resource. This value must be unique within the Account.

Update the configuration of an Installed Add-on

update-the-configuration-of-an-installed-add-on page anchor
Node.js
Python
C#
Java
PHP
Ruby
curl

_21
// Download the helper library from https://www.twilio.com/docs/node/install
_21
import twilio from "twilio";
_21
_21
// Find your Account SID and Auth Token at twilio.com/console
_21
// and set the environment variables. See http://twil.io/secure
_21
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_21
const authToken = process.env.TWILIO_AUTH_TOKEN;
_21
const client = twilio(accountSid, authToken);
_21
_21
const installedAddOn = await client.preview.marketplace
_21
.installedAddOns("XE85b56ed9ce713e0ac62342b901233193")
_21
.update({
_21
configuration: {
_21
callback_method: "POST",
_21
callback_url: "https://your.callback.url",
_21
"include-keywords": true,
_21
"include-topics": true,
_21
},
_21
});
_21
_21
console.log(installedAddOn.configuration);

Output

_17
{
_17
"sid": "XE85b56ed9ce713e0ac62342b901233193",
_17
"account_sid": "ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
_17
"friendly_name": "VoiceBase High Accuracy Transcription",
_17
"description": "Automatic Transcription and Keyword Extract...",
_17
"configuration": {
_17
"bad_words": true
_17
},
_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
"links": {
_17
"extensions": "https://preview.twilio.com/marketplace/InstalledAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions",
_17
"available_add_on": "https://preview.twilio.com/marketplace/AvailableAddOns/XBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
_17
}
_17
}

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.


The Installed Add-on Extensions API

the-installed-add-on-extensions-api page anchor

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 NameFriendly NameUnique Name
LookupLookupslookup-api
Programmable SMSIncoming SMS Messagesms-incoming
TaskRouterCreate TaskRouter Taskstaskrouter-create-task
Programmable VoiceIncoming Voice Callvoice-incoming
Programmable VoiceRecord Verb Recordingsrecording-verb
Programmable VoiceOutgoing Call (API) Recordingsrecording-api
Programmable VoiceConference Recordingsrecording-conference
Programmable VoiceDial Verb Recordingsrecording-dial

_10
/marketplace/InstalledAddOns/{AddOnConfigurationSid}/Extensions
_10
/marketplace/InstalledAddOns/{AddOnConfigurationSid}/Extensions/{AddOnExtensionSid}

Property nameTypePIIDescription
sidSID<XF>

The unique string that we created to identify the InstalledAddOn Extension resource.

Pattern: ^XF[0-9a-fA-F]{32}$Min length: 34Max 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: 34Max length: 34

friendly_namestring

The string that you assigned to describe the resource.


product_namestring

The name of the Product this Extension is used within.


unique_namestring

An application-defined string that uniquely identifies the resource.


enabledboolean

Whether the Extension will be invoked.


urlstring<uri>

The absolute URL of the resource.

Installed Add-on Extensions List resource

installed-add-on-extensions-list-resource page anchor

Returns a list of Extensions where the Add-on can be invoked.

List Extensions where a given Add-on can be invoked

list-extensions-where-a-given-add-on-can-be-invoked page anchor
Node.js
Python
C#
Java
PHP
Ruby
curl

_14
// Download the helper library from https://www.twilio.com/docs/node/install
_14
import twilio from "twilio";
_14
_14
// Find your Account SID and Auth Token at twilio.com/console
_14
// and set the environment variables. See http://twil.io/secure
_14
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_14
const authToken = process.env.TWILIO_AUTH_TOKEN;
_14
const client = twilio(accountSid, authToken);
_14
_14
const extensions = await client.preview.marketplace
_14
.installedAddOns("XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_14
.extensions.list({ limit: 20 });
_14
_14
extensions.forEach((e) => console.log(e.enabled));

Output

_22
{
_22
"extensions": [
_22
{
_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
"enabled": true,
_22
"url": "https://preview.twilio.com/marketplace/InstalledAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions/XFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
_22
}
_22
],
_22
"meta": {
_22
"page": 0,
_22
"page_size": 50,
_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,
_22
"key": "extensions"
_22
}
_22
}

Installed Add-on Extension Instance resource

installed-add-on-extension-instance-resource page anchor

Returns a single instance of an Add-on Extension resource.

Return an instance of an Add-on Extension resource

return-an-instance-of-an-add-on-extension-resource page anchor
Node.js
Python
C#
Java
PHP
Ruby
curl

_15
// Download the helper library from https://www.twilio.com/docs/node/install
_15
import twilio from "twilio";
_15
_15
// Find your Account SID and Auth Token at twilio.com/console
_15
// and set the environment variables. See http://twil.io/secure
_15
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_15
const authToken = process.env.TWILIO_AUTH_TOKEN;
_15
const client = twilio(accountSid, authToken);
_15
_15
const extension = await client.preview.marketplace
_15
.installedAddOns("XE85b56ed9ce713e0ac62342b901233193")
_15
.extensions("XFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_15
.fetch();
_15
_15
console.log(extension.enabled);

Output

_10
{
_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
"enabled": true,
_10
"url": "https://preview.twilio.com/marketplace/InstalledAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions/XFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
_10
}

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: 34Max length: 34

SidSID<XF>required

The SID of the InstalledAddOn Extension resource to update.

Pattern: ^XF[0-9a-fA-F]{32}$Min length: 34Max length: 34
Property nameTypeRequiredPIIDescription
Enabledbooleanrequired

Whether the Extension should be invoked.

Activate or deactivate an Extension point associated with an Installed Add-on

activate-or-deactivate-an-extension-point-associated-with-an-installed-add-on page anchor
Node.js
Python
C#
Java
PHP
Ruby
curl

_15
// Download the helper library from https://www.twilio.com/docs/node/install
_15
import twilio from "twilio";
_15
_15
// Find your Account SID and Auth Token at twilio.com/console
_15
// and set the environment variables. See http://twil.io/secure
_15
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_15
const authToken = process.env.TWILIO_AUTH_TOKEN;
_15
const client = twilio(accountSid, authToken);
_15
_15
const extension = await client.preview.marketplace
_15
.installedAddOns("XE85b56ed9ce713e0ac62342b901233193")
_15
.extensions("XFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_15
.update({ enabled: true });
_15
_15
console.log(extension.enabled);

Output

_10
{
_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
"enabled": true,
_10
"url": "https://preview.twilio.com/marketplace/InstalledAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions/XFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
_10
}


The Incoming Phone Number Assigned Add-ons API

the-incoming-phone-number-assigned-add-ons-api page anchor

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

As a subresource, this API will expose the same properties as the Installed Add Ons API.

Phone Number Assigned Add-on List resource

phone-number-assigned-add-on-list-resource page anchor

Returns of a list of the Installed Add-ons assigned to the given Incoming Phone Number.

List Installed Add-ons assigned to an Incoming Phone Number

list-installed-add-ons-assigned-to-an-incoming-phone-number page anchor
Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_14
// Download the helper library from https://www.twilio.com/docs/node/install
_14
import twilio from "twilio";
_14
_14
// Find your Account SID and Auth Token at twilio.com/console
_14
// and set the environment variables. See http://twil.io/secure
_14
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_14
const authToken = process.env.TWILIO_AUTH_TOKEN;
_14
const client = twilio(accountSid, authToken);
_14
_14
const assignedAddOns = await client
_14
.incomingPhoneNumbers("PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_14
.assignedAddOns.list({ limit: 20 });
_14
_14
assignedAddOns.forEach((a) => console.log(a.description));

Output

_29
{
_29
"end": 0,
_29
"first_page_uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AssignedAddOns.json?PageSize=50&Page=0",
_29
"next_page_uri": null,
_29
"page": 0,
_29
"page_size": 50,
_29
"previous_page_uri": null,
_29
"assigned_add_ons": [
_29
{
_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
"configuration": {
_29
"bad_words": true
_29
},
_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
}
_29
}
_29
],
_29
"start": 0,
_29
"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AssignedAddOns.json?PageSize=50&Page=0"
_29
}

Phone Number Assigned Add-on Instance resource

phone-number-assigned-add-on-instance-resource page anchor

Returns a single instance of an Installed Add-on assigned to a given Incoming Phone Number.

Return an instance of an Installed Add-on assigned to an Incoming Phone Number

return-an-instance-of-an-installed-add-on-assigned-to-an-incoming-phone-number page anchor
Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_15
// Download the helper library from https://www.twilio.com/docs/node/install
_15
import twilio from "twilio";
_15
_15
// Find your Account SID and Auth Token at twilio.com/console
_15
// and set the environment variables. See http://twil.io/secure
_15
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_15
const authToken = process.env.TWILIO_AUTH_TOKEN;
_15
const client = twilio(accountSid, authToken);
_15
_15
const assignedAddOn = await client
_15
.incomingPhoneNumbers("PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_15
.assignedAddOns("XE85b56ed9ce713e0ac62342b901233193")
_15
.fetch();
_15
_15
console.log(assignedAddOn.sid);

Output

_17
{
_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
"configuration": {
_17
"bad_words": true
_17
},
_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"
_17
}
_17
}

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: 34Max 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: 34Max length: 34
Property nameTypeRequiredPIIDescription
InstalledAddOnSidSID<XE>required

The SID that identifies the Add-on installation.

Pattern: ^XE[0-9a-fA-F]{32}$Min length: 34Max length: 34

Assign an Installed Add-on to an Incoming Phone Number

assign-an-installed-add-on-to-an-incoming-phone-number page anchor
Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_16
// Download the helper library from https://www.twilio.com/docs/node/install
_16
import twilio from "twilio";
_16
_16
// Find your Account SID and Auth Token at twilio.com/console
_16
// and set the environment variables. See http://twil.io/secure
_16
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_16
const authToken = process.env.TWILIO_AUTH_TOKEN;
_16
const client = twilio(accountSid, authToken);
_16
_16
const assignedAddOn = await client
_16
.incomingPhoneNumbers("PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_16
.assignedAddOns.create({
_16
installedAddOnSid: "XE85b56ed9ce713e0ac62342b901233193",
_16
});
_16
_16
console.log(assignedAddOn.sid);

Output

_17
{
_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
"configuration": {
_17
"bad_words": true
_17
},
_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"
_17
}
_17
}

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.


Phone Number Assigned Add-on Extensions

phone-number-assigned-add-on-extensions page anchor

As a subresource, this API will expose the same properties in the Installed Add-ons Extension API.

Assigned Add-on Extension List Resource

assigned-add-on-extension-list-resource page anchor

Returns a list of the Extensions for the Installed Add-on assigned to the given Incoming Phone Number.

List Extensions for the Installed Add-on assigned to the given Incoming Phone Number

list-extensions-for-the-installed-add-on-assigned-to-the-given-incoming-phone-number page anchor
Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_15
// Download the helper library from https://www.twilio.com/docs/node/install
_15
import twilio from "twilio";
_15
_15
// Find your Account SID and Auth Token at twilio.com/console
_15
// and set the environment variables. See http://twil.io/secure
_15
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_15
const authToken = process.env.TWILIO_AUTH_TOKEN;
_15
const client = twilio(accountSid, authToken);
_15
_15
const extensions = await client
_15
.incomingPhoneNumbers("PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_15
.assignedAddOns("XE85b56ed9ce713e0ac62342b901233193")
_15
.extensions.list({ limit: 20 });
_15
_15
extensions.forEach((e) => console.log(e.sid));

Output

_23
{
_23
"end": 0,
_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
"page": 0,
_23
"page_size": 50,
_23
"previous_page_uri": null,
_23
"extensions": [
_23
{
_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
"enabled": true,
_23
"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AssignedAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions/XFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa.json"
_23
}
_23
],
_23
"start": 0,
_23
"uri": "/2010-04-01/Accounts/ACaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/IncomingPhoneNumbers/PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/AssignedAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions.json?PageSize=50&Page=0"
_23
}

Assigned Add-on Extension Instance resource

assigned-add-on-extension-instance-resource page anchor

Returns a single Extension for the Installed Add-on assigned to the given Incoming Phone Number.

Return a single Extension for the Installed Add-on assigned to an Incoming Phone Number

return-a-single-extension-for-the-installed-add-on-assigned-to-an-incoming-phone-number page anchor
Node.js
Python
C#
Java
Go
PHP
Ruby
twilio-cli
curl

_16
// Download the helper library from https://www.twilio.com/docs/node/install
_16
import twilio from "twilio";
_16
_16
// Find your Account SID and Auth Token at twilio.com/console
_16
// and set the environment variables. See http://twil.io/secure
_16
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_16
const authToken = process.env.TWILIO_AUTH_TOKEN;
_16
const client = twilio(accountSid, authToken);
_16
_16
const extension = await client
_16
.incomingPhoneNumbers("PNaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
_16
.assignedAddOns("XE85b56ed9ce713e0ac62342b901233193")
_16
.extensions("XF025b77384a62367bd120b7ce60250d7b")
_16
.fetch();
_16
_16
console.log(extension.sid);

Output

_11
{
_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",
_11
"enabled": true
_11
}


Rate this page: