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}

Resource properties
sidtype: SID<XB>Not PII

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


friendly_nametype: stringNot PII

The string that you assigned to describe the resource.


descriptiontype: stringNot PII

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


pricing_typetype: stringNot PII

How customers are charged for using this Add-on.


configuration_schematype: objectNot PII

The JSON object with the configuration that must be provided when installing a given Add-on.


urltype: string<URI>Not PII

The absolute URL of the resource.


linkstype: object<URI MAP>Not PII

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

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

Output

_34
{
_34
"available_add_ons": [
_34
{
_34
"sid": "XBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_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/XBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_34
"links": {
_34
"extensions": "https://preview.twilio.com/marketplace/AvailableAddOns/XBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/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": "https://preview.twilio.com/marketplace/AvailableAddOns?PageSize=50&Page=0",
_34
"url": "https://preview.twilio.com/marketplace/AvailableAddOns?PageSize=50&Page=0",
_34
"next_page_url": "https://preview.twilio.com/marketplace/AvailableAddOns?PageSize=50&Page=1",
_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

_11
// Download the helper library from https://www.twilio.com/docs/node/install
_11
// Find your Account SID and Auth Token at twilio.com/console
_11
// and set the environment variables. See http://twil.io/secure
_11
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_11
const authToken = process.env.TWILIO_AUTH_TOKEN;
_11
const client = require('twilio')(accountSid, authToken);
_11
_11
client.preview.marketplace
_11
.availableAddOns('XB85b56ed9ce713e0ac62342b901233193')
_11
.fetch()
_11
.then(available_add_on => console.log(available_add_on.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/XBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_21
"links": {
_21
"extensions": "https://preview.twilio.com/marketplace/AvailableAddOns/XBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/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

Resource properties
sidtype: SID<XF>Not PII

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


available_add_on_sidtype: SID<XB>Not PII

The SID of the AvailableAddOn resource to which this extension applies.


friendly_nametype: stringNot PII

The string that you assigned to describe the resource.


product_nametype: stringNot PII

The name of the Product this Extension is used within.


unique_nametype: stringNot PII

An application-defined string that uniquely identifies the resource.


urltype: string<URI>Not PII

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

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

Output

_21
{
_21
"extensions": [
_21
{
_21
"sid": "XFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_21
"available_add_on_sid": "XBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_21
"friendly_name": "Incoming Voice Call",
_21
"product_name": "Programmable Voice",
_21
"unique_name": "voice-incoming",
_21
"url": "https://preview.twilio.com/marketplace/AvailableAddOns/XBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Extensions/XFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
_21
}
_21
],
_21
"meta": {
_21
"page": 0,
_21
"page_size": 50,
_21
"first_page_url": "https://preview.twilio.com/marketplace/AvailableAddOns/XBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Extensions?PageSize=50&Page=0",
_21
"previous_page_url": "https://preview.twilio.com/marketplace/AvailableAddOns/XBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Extensions?PageSize=50&Page=0",
_21
"url": "https://preview.twilio.com/marketplace/AvailableAddOns/XBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Extensions?PageSize=50&Page=0",
_21
"next_page_url": "https://preview.twilio.com/marketplace/AvailableAddOns/XBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Extensions?PageSize=50&Page=1",
_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}

Resource properties
sidtype: SID<XE>Not PII

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'.


friendly_nametype: stringNot PII

The string that you assigned to describe the resource.


descriptiontype: stringNot PII

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


configurationtype: objectNot PII

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


unique_nametype: stringNot PII

An application-defined string that uniquely identifies the resource.


date_createdtype: string<DATE TIME>Not PII

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


date_updatedtype: string<DATE TIME>Not PII

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


urltype: string<URI>Not PII

The absolute URL of the resource.


linkstype: object<URI MAP>Not PII

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

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

Output

_30
{
_30
"installed_add_ons": [
_30
{
_30
"sid": "XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_30
"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_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/XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_30
"links": {
_30
"extensions": "https://preview.twilio.com/marketplace/InstalledAddOns/XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Extensions",
_30
"available_add_on": "https://preview.twilio.com/marketplace/AvailableAddOns/XBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
_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": "https://preview.twilio.com/marketplace/InstalledAddOns?PageSize=50&Page=0",
_30
"url": "https://preview.twilio.com/marketplace/InstalledAddOns?PageSize=50&Page=0",
_30
"next_page_url": "https://preview.twilio.com/marketplace/InstalledAddOns?PageSize=50&Page=1",
_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

_11
// Download the helper library from https://www.twilio.com/docs/node/install
_11
// Find your Account SID and Auth Token at twilio.com/console
_11
// and set the environment variables. See http://twil.io/secure
_11
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_11
const authToken = process.env.TWILIO_AUTH_TOKEN;
_11
const client = require('twilio')(accountSid, authToken);
_11
_11
client.preview.marketplace
_11
.installedAddOns('XB85b56ed9ce713e0ac62342b901233193')
_11
.fetch()
_11
.then(installed_add_on => console.log(installed_add_on.friendlyName));

Output

_17
{
_17
"sid": "XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_17
"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_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/XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_17
"links": {
_17
"extensions": "https://preview.twilio.com/marketplace/InstalledAddOns/XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Extensions",
_17
"available_add_on": "https://preview.twilio.com/marketplace/AvailableAddOns/XBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
_17
}
_17
}

Allows you to install an Available Add-on to the account.

Request body parameters
AvailableAddOnSidtype: SID<XB>Not PII
Required

The SID of the AvaliableAddOn to install.


AcceptTermsOfServicetype: booleanNot PII
Required

Whether the Terms of Service were accepted.


Configurationtype: objectNot PII

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


UniqueNametype: stringNot PII

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

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

Output

_20
{
_20
"sid": "XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_20
"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_20
"friendly_name": "VoiceBase High Accuracy Transcription",
_20
"description": "Automatic Transcription and Keyword Extract...",
_20
"configuration": {
_20
"callback_method": "POST",
_20
"callback_url": "https://your.callback.url",
_20
"include-keywords": true,
_20
"include-topics": true
_20
},
_20
"unique_name": "voicebase_high_accuracy_transcription_1",
_20
"date_created": "2016-04-07T23:52:28Z",
_20
"date_updated": "2016-04-07T23:52:28Z",
_20
"url": "https://preview.twilio.com/marketplace/InstalledAddOns/XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_20
"links": {
_20
"extensions": "https://preview.twilio.com/marketplace/InstalledAddOns/XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Extensions",
_20
"available_add_on": "https://preview.twilio.com/marketplace/AvailableAddOns/XBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
_20
}
_20
}

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.

URI parameters
Sidtype: SID<XE>Not PII
Path Parameter

The SID of the InstalledAddOn resource to update.


Request body parameters
Configurationtype: objectNot PII

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


UniqueNametype: stringNot PII

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

_16
// Download the helper library from https://www.twilio.com/docs/node/install
_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 = require('twilio')(accountSid, authToken);
_16
_16
client.preview.marketplace
_16
.installedAddOns('XB85b56ed9ce713e0ac62342b901233193')
_16
.update({configuration: {
_16
callback_method: 'POST',
_16
callback_url: 'https://your.callback.url',
_16
include-keywords: true,
_16
include-topics: true
_16
}})
_16
.then(installed_add_on => console.log(installed_add_on.configuration));

Output

_20
{
_20
"sid": "XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_20
"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_20
"friendly_name": "VoiceBase High Accuracy Transcription",
_20
"description": "Automatic Transcription and Keyword Extract...",
_20
"configuration": {
_20
"callback_method": "POST",
_20
"callback_url": "https://your.callback.url",
_20
"include-keywords": true,
_20
"include-topics": true
_20
},
_20
"unique_name": "voicebase_high_accuracy_transcription_2",
_20
"date_created": "2016-04-07T23:52:28Z",
_20
"date_updated": "2016-04-07T23:52:28Z",
_20
"url": "https://preview.twilio.com/marketplace/InstalledAddOns/XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_20
"links": {
_20
"extensions": "https://preview.twilio.com/marketplace/InstalledAddOns/XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Extensions",
_20
"available_add_on": "https://preview.twilio.com/marketplace/AvailableAddOns/XBXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
_20
}
_20
}

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}

Resource properties
sidtype: SID<XF>Not PII

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


installed_add_on_sidtype: SID<XE>Not PII

The SID of the InstalledAddOn resource to which this extension applies.


friendly_nametype: stringNot PII

The string that you assigned to describe the resource.


product_nametype: stringNot PII

The name of the Product this Extension is used within.


unique_nametype: stringNot PII

An application-defined string that uniquely identifies the resource.


enabledtype: booleanNot PII

Whether the Extension will be invoked.


urltype: string<URI>Not PII

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

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

Output

_22
{
_22
"extensions": [
_22
{
_22
"sid": "XFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_22
"installed_add_on_sid": "XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_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/XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Extensions/XFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
_22
}
_22
],
_22
"meta": {
_22
"page": 0,
_22
"page_size": 50,
_22
"first_page_url": "https://preview.twilio.com/marketplace/InstalledAddOns/XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Extensions?PageSize=50&Page=0",
_22
"previous_page_url": "https://preview.twilio.com/marketplace/InstalledAddOns/XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Extensions?PageSize=50&Page=0",
_22
"url": "https://preview.twilio.com/marketplace/InstalledAddOns/XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Extensions?PageSize=50&Page=0",
_22
"next_page_url": "https://preview.twilio.com/marketplace/InstalledAddOns/XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Extensions?PageSize=50&Page=1",
_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

_12
// Download the helper library from https://www.twilio.com/docs/node/install
_12
// Find your Account SID and Auth Token at twilio.com/console
_12
// and set the environment variables. See http://twil.io/secure
_12
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_12
const authToken = process.env.TWILIO_AUTH_TOKEN;
_12
const client = require('twilio')(accountSid, authToken);
_12
_12
client.preview.marketplace
_12
.installedAddOns('XB85b56ed9ce713e0ac62342b901233193')
_12
.extensions('XFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_12
.fetch()
_12
.then(installed_add_on_extension => console.log(installed_add_on_extension.enabled));

Output

_10
{
_10
"sid": "XFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_10
"installed_add_on_sid": "XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_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/XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Extensions/XFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
_10
}

Allows you to activate or deactivate an Extension associated with the Installed Add-on.

URI parameters
InstalledAddOnSidtype: SID<XE>Not PII
Path Parameter

The SID of the InstalledAddOn resource with the extension to update.


Sidtype: SID<XF>Not PII
Path Parameter

The SID of the InstalledAddOn Extension resource to update.


Request body parameters
Enabledtype: booleanNot PII
Required

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

_12
// Download the helper library from https://www.twilio.com/docs/node/install
_12
// Find your Account SID and Auth Token at twilio.com/console
_12
// and set the environment variables. See http://twil.io/secure
_12
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_12
const authToken = process.env.TWILIO_AUTH_TOKEN;
_12
const client = require('twilio')(accountSid, authToken);
_12
_12
client.preview.marketplace
_12
.installedAddOns('XB85b56ed9ce713e0ac62342b901233193')
_12
.extensions('XFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_12
.update({enabled: true})
_12
.then(installed_add_on_extension => console.log(installed_add_on_extension.enabled));

Output

_10
{
_10
"sid": "XFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_10
"installed_add_on_sid": "XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_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/XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Extensions/XFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX"
_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

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

Output

_29
{
_29
"end": 0,
_29
"first_page_uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/IncomingPhoneNumbers/PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/AssignedAddOns.json?PageSize=50&Page=0",
_29
"next_page_uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/IncomingPhoneNumbers/PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/AssignedAddOns.json?PageSize=50&Page=50",
_29
"page": 0,
_29
"page_size": 50,
_29
"previous_page_uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/IncomingPhoneNumbers/PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/AssignedAddOns.json?PageSize=50&Page=0",
_29
"assigned_add_ons": [
_29
{
_29
"sid": "XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_29
"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_29
"resource_sid": "PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_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/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/IncomingPhoneNumbers/PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/AssignedAddOns/XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.json",
_29
"subresource_uris": {
_29
"extensions": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/IncomingPhoneNumbers/PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/AssignedAddOns/XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Extensions.json"
_29
}
_29
}
_29
],
_29
"start": 0,
_29
"uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/IncomingPhoneNumbers/PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/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

_11
// Download the helper library from https://www.twilio.com/docs/node/install
_11
// Find your Account SID and Auth Token at twilio.com/console
_11
// and set the environment variables. See http://twil.io/secure
_11
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_11
const authToken = process.env.TWILIO_AUTH_TOKEN;
_11
const client = require('twilio')(accountSid, authToken);
_11
_11
client.incomingPhoneNumbers('PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_11
.assignedAddOns('XB85b56ed9ce713e0ac62342b901233193')
_11
.fetch()
_11
.then(assigned_add_on => console.log(assigned_add_on.friendlyName));

Output

_17
{
_17
"sid": "XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_17
"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_17
"resource_sid": "PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_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/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/IncomingPhoneNumbers/PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/AssignedAddOns/XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.json",
_17
"subresource_uris": {
_17
"extensions": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/IncomingPhoneNumbers/PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/AssignedAddOns/XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/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.

URI parameters
AccountSidtype: SID<AC>Not PII
Path Parameter

The SID of the Account(link takes you to an external page) that will create the resource.


ResourceSidtype: SID<PN>Not PII
Path Parameter

The SID of the Phone Number to assign the Add-on.


Request body parameters
InstalledAddOnSidtype: SID<XE>Not PII
Required

The SID that identifies the Add-on installation.

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

_11
// Download the helper library from https://www.twilio.com/docs/node/install
_11
// Find your Account SID and Auth Token at twilio.com/console
_11
// and set the environment variables. See http://twil.io/secure
_11
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_11
const authToken = process.env.TWILIO_AUTH_TOKEN;
_11
const client = require('twilio')(accountSid, authToken);
_11
_11
client.incomingPhoneNumbers('PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_11
.assignedAddOns
_11
.create({installedAddOnSid: 'XB85b56ed9ce713e0ac62342b901233193'})
_11
.then(assigned_add_on => console.log(assigned_add_on.sid));

Output

_17
{
_17
"sid": "XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_17
"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_17
"resource_sid": "PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_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/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/IncomingPhoneNumbers/PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/AssignedAddOns/XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.json",
_17
"subresource_uris": {
_17
"extensions": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/IncomingPhoneNumbers/PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/AssignedAddOns/XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/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

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

Output

_23
{
_23
"end": 0,
_23
"first_page_uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/IncomingPhoneNumbers/PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/AssignedAddOns/XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Extensions.json?PageSize=50&Page=0",
_23
"next_page_uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/IncomingPhoneNumbers/PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/AssignedAddOns/XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Extensions.json?PageSize=50&Page=50",
_23
"page": 0,
_23
"page_size": 50,
_23
"previous_page_uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/IncomingPhoneNumbers/PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/AssignedAddOns/XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Extensions.json?PageSize=50&Page=0",
_23
"extensions": [
_23
{
_23
"sid": "XFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_23
"assigned_add_on_sid": "XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_23
"resource_sid": "PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_23
"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_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/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/IncomingPhoneNumbers/PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/AssignedAddOns/XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Extensions/XFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.json"
_23
}
_23
],
_23
"start": 0,
_23
"uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/IncomingPhoneNumbers/PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/AssignedAddOns/XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/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

_12
// Download the helper library from https://www.twilio.com/docs/node/install
_12
// Find your Account SID and Auth Token at twilio.com/console
_12
// and set the environment variables. See http://twil.io/secure
_12
const accountSid = process.env.TWILIO_ACCOUNT_SID;
_12
const authToken = process.env.TWILIO_AUTH_TOKEN;
_12
const client = require('twilio')(accountSid, authToken);
_12
_12
client.incomingPhoneNumbers('PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX')
_12
.assignedAddOns('XB85b56ed9ce713e0ac62342b901233193')
_12
.extensions('XF025b77384a62367bd120b7ce60250d7b')
_12
.fetch()
_12
.then(assigned_add_on_extension => console.log(assigned_add_on_extension.friendlyName));

Output

_11
{
_11
"sid": "XF025b77384a62367bd120b7ce60250d7b",
_11
"assigned_add_on_sid": "XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_11
"resource_sid": "PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_11
"account_sid": "ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX",
_11
"friendly_name": "Incoming Voice Call",
_11
"product_name": "Programmable Voice",
_11
"unique_name": "voice-incoming",
_11
"uri": "/2010-04-01/Accounts/ACXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/IncomingPhoneNumbers/PNXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/AssignedAddOns/XEXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX/Extensions/XFXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX.json",
_11
"enabled": true
_11
}


Rate this page: