Skip to contentSkip to navigationSkip to topbar
On this page

Installed Add-ons Extensions Subresource


(warning)

Migrate from Preview to v1

Marketplace v1 API is now available, and the Preview API for this Resource will be discontinued in December 2024. See the API Preview to v1 Migration Guide for more information.

This subresource of the Installed Add-ons resource allows users to fetch an Extension, view a list of Extensions, or update an Extension associated with an Installed Add-on Listing. An Extension describes the specific feature or API endpoint of a Twilio product in which an Add-on Listing can be used. Extensions are disabled by default, and can be enabled using Update endpoint.

(information)

Info

This API only supports Add-on Listings that are in General Availability (GA) or Beta state. Listings that are labeled as Coming Soon or Developer Preview are not accessible via the API and must be managed in the Console.


Extension Properties

extension-properties page anchor
Property nameTypeRequiredDescriptionChild properties
sidSID<XF>Optional
Not PII

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>Optional

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

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

friendly_namestringOptional

The string that you assigned to describe the resource.


product_namestringOptional

The name of the Product this Extension is used within.


unique_namestringOptional

An application-defined string that uniquely identifies the resource.


enabledbooleanOptional

Whether the Extension will be invoked.


urlstring<uri>Optional

The absolute URL of the resource.


Fetch an instance of an Extension for the Installed Add-on.

fetch-an-instance-of-an-extension-for-the-installed-add-on page anchor
GET https://marketplace.twilio.com/v1/InstalledAddOns/{InstalledAddOnSid}/Extensions/{Sid}

Path parameters

path-parameters page anchor
Property nameTypeRequiredPIIDescription
InstalledAddOnSidSID<XE>required

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

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

SidSID<XF>required

The SID of the InstalledAddOn Extension resource to fetch.

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

This endpoint returns details on a given Extension associated with a given Installed Add-on.

Fetch an ExtensionLink to code sample: Fetch an Extension
1
// Download the helper library from https://www.twilio.com/docs/node/install
2
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
3
4
// Find your Account SID and Auth Token at twilio.com/console
5
// and set the environment variables. See http://twil.io/secure
6
const accountSid = process.env.TWILIO_ACCOUNT_SID;
7
const authToken = process.env.TWILIO_AUTH_TOKEN;
8
const client = twilio(accountSid, authToken);
9
10
async function fetchInstalledAddOnExtension() {
11
const extension = await client.marketplace.v1
12
.installedAddOns("XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
13
.extensions("XFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
14
.fetch();
15
16
console.log(extension.sid);
17
}
18
19
fetchInstalledAddOnExtension();

Output

1
{
2
"sid": "XFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
3
"installed_add_on_sid": "XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
4
"friendly_name": "Incoming Voice Call",
5
"product_name": "Programmable Voice",
6
"unique_name": "voice-incoming",
7
"enabled": true,
8
"url": "https://marketplace.twilio.com/v1/InstalledAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions/XFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
9
}

Retrieve a list of Extensions for the Installed Add-on.

retrieve-a-list-of-extensions-for-the-installed-add-on page anchor
GET https://marketplace.twilio.com/v1/InstalledAddOns/{InstalledAddOnSid}/Extensions

Property nameTypeRequiredPIIDescription
InstalledAddOnSidSID<XE>required

The SID of the InstalledAddOn resource with the extensions to read.

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

How many resources to return in each list page. The default is 50, and the maximum is 1000.

Minimum: 1Maximum: 1000

PageintegerOptional

The page index. This value is simply for client state.

Minimum: 0

PageTokenstringOptional

The page token. This is provided by the API.

This endpoint returns all Extensions associated with a given Installed Add-on.

1
// Download the helper library from https://www.twilio.com/docs/node/install
2
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
3
4
// Find your Account SID and Auth Token at twilio.com/console
5
// and set the environment variables. See http://twil.io/secure
6
const accountSid = process.env.TWILIO_ACCOUNT_SID;
7
const authToken = process.env.TWILIO_AUTH_TOKEN;
8
const client = twilio(accountSid, authToken);
9
10
async function listInstalledAddOnExtension() {
11
const extensions = await client.marketplace.v1
12
.installedAddOns("XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
13
.extensions.list({ limit: 20 });
14
15
extensions.forEach((e) => console.log(e.sid));
16
}
17
18
listInstalledAddOnExtension();

Output

1
{
2
"extensions": [
3
{
4
"sid": "XFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
5
"installed_add_on_sid": "XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
6
"friendly_name": "Incoming Voice Call",
7
"product_name": "Programmable Voice",
8
"unique_name": "voice-incoming",
9
"enabled": true,
10
"url": "https://marketplace.twilio.com/v1/InstalledAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions/XFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
11
}
12
],
13
"meta": {
14
"page": 0,
15
"page_size": 50,
16
"first_page_url": "https://marketplace.twilio.com/v1/InstalledAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions?PageSize=50&Page=0",
17
"previous_page_url": null,
18
"url": "https://marketplace.twilio.com/v1/InstalledAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions?PageSize=50&Page=0",
19
"next_page_url": null,
20
"key": "extensions"
21
}
22
}

Update an Extension for an Add-on installation.

update-an-extension-for-an-add-on-installation page anchor
POST https://marketplace.twilio.com/v1/InstalledAddOns/{InstalledAddOnSid}/Extensions/{Sid}

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
Encoding type:application/x-www-form-urlencoded
SchemaExample
Property nameTypeRequiredDescriptionChild properties
Enabledbooleanrequired

Whether the Extension should be invoked.

This endpoint updates the data of a given Extension associated with a given Installed Add-on, allowing you to enable or disable the Extension.

1
// Download the helper library from https://www.twilio.com/docs/node/install
2
const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";
3
4
// Find your Account SID and Auth Token at twilio.com/console
5
// and set the environment variables. See http://twil.io/secure
6
const accountSid = process.env.TWILIO_ACCOUNT_SID;
7
const authToken = process.env.TWILIO_AUTH_TOKEN;
8
const client = twilio(accountSid, authToken);
9
10
async function updateInstalledAddOnExtension() {
11
const extension = await client.marketplace.v1
12
.installedAddOns("XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
13
.extensions("XFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")
14
.update({ enabled: false });
15
16
console.log(extension.sid);
17
}
18
19
updateInstalledAddOnExtension();

Output

1
{
2
"sid": "XFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
3
"installed_add_on_sid": "XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
4
"friendly_name": "Incoming Voice Call",
5
"product_name": "Programmable Voice",
6
"unique_name": "voice-incoming",
7
"enabled": false,
8
"url": "https://marketplace.twilio.com/v1/InstalledAddOns/XEaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/Extensions/XFaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"
9
}