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 resource allows Marketplace publishers to fetch or update Listings. A Listing represents the data of a published Marketplace Catalog Listing.
To get access to this resource, contact your Twilio Account Executive.
Property Name | Description | Type | PII? |
---|---|---|---|
url | The URL of the API call. | string<uri> | Not PII |
sid | The unique identifier of a Listing. Pattern: ^XB[0-9a-fA-F]{32}$ Min length: 34 Max length: 34 | SID<XB> | Not PII |
description | A JSON object describing the Listing. | string | Not PII |
support | A JSON object containing information on how Listing users can obtain support for the Listing. | string | Not PII |
policies | A JSON object describing the Listing's privacy and legal policies. | string | Not PII |
module_info | A JSON object containing essential attributes that define a Listing. | string | Not PII |
documentation | A JSON object for providing comprehensive information, instructions, and resources related to the Listing. | string | Not PII |
GET https://marketplace.twilio.com/v1/Listing/{Sid}
This endpoint returns the data of a given Listing. To find a Listing's SID, use the Available Add-ons resource or view its Listing details page in the Console by visiting the Catalog or the My Listings tab and selecting the Listing.
Parameter Name | Description | Type | Required? | PII? |
---|---|---|---|---|
Sid | The unique identifier of a Listing. Pattern: ^XB[0-9a-fA-F]{32}$ . Min length: 34 . Max length: 34 . | SID<XB> | Required | Not PII |
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function fetchModuleDataManagement() {11const moduleDataManagement = await client.marketplace.v112.moduleDataManagement("XBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")13.fetch();1415console.log(moduleDataManagement.url);16}1718fetchModuleDataManagement();
1{2"sid": "XBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",3"url": "https://marketplace.twilio.com/v1/Listing/XBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",4"description": {5"body": "aBody",6"highlights": [7{8"title": "aTitle",9"description": "aDescription"10}11],12"code_samples": [13{14"title": "aTitle",15"description": "aDescription",16"code": "aCode"17}18]19},20"support": {21"customer_support_email": "anEmail",22"customer_support_phone": "+1 888-888-8888",23"support_description": "aDescription",24"billing_email": "anEmail",25"billing_phone": "+1 888-888-8888",26"technical_email": "anEmail",27"technical_phone": "+1 888-888-8888"28},29"policies": {30"privacy": "someUrl",31"legal": "someOtherUrl"32},33"module_info": {34"tag": "Description",35"tagline": "aTagline",36"logo_url": "aUrl",37"logo_bg_color_hex": "#ff5722"38},39"documentation": {40"body": "aBody"41},42"pricing": {43"body": "Basic plan - $10/month"44},45"configuration": {46"buttons": [47{48"url": "https://example.com",49"label": "Configurable button text",50"help_text": "The button text, url, and help text are now configurable via self service"51}52],53"notification_configuration": {54"callback_url": "https://example.com"55}56}57}
POST https://marketplace.twilio.com/v1/Listing/{Sid}
This endpoint updates the properties of a given Listing.
Parameter Name | Description | Type | Required? | PII? |
---|---|---|---|---|
Sid | The unique identifier of a Listing. Pattern: ^XB[0-9a-fA-F]{32}$ . Min length: 34 . Max length: 34 . | SID<XB> | Required | Not PII |
Parameter Name | Description | Type | Required? | PII? |
---|---|---|---|---|
ModuleInfo | A JSON object containing essential attributes that define a Listing. See the ModuleInfo object details in the table below. | string | Optional | Not PII |
Description | A JSON object describing the Listing. See the Description object details in the table below. | string | Optional | Not PII |
Documentation | A JSON object for providing comprehensive information, instructions, and resources related to the Listing. See the Documentation object details in the table below. | string | Optional | Not PII |
Policies | A JSON object describing the Listing's privacy and legal policies. See the Policies object details in the table below. | string | Optional | Not PII |
Support | A JSON object containing information on how Listing users can obtain support for the Listing. See the Support object details in the table below. | string | Optional | Not PII |
Key | Description |
---|---|
tagline | A succinct and compelling statement that encapsulates the Listing's purpose and benefits. |
logo_url | A publicly accessible URL pointing to the Listing's logo image. |
logo_bg_color_hex | The hexadecimal color code representing the background color of the Listing's logo. |
1{2"tagline" : "Enhance your communication with our innovative module",3"logo_url" : "https://example.com/wp-content/uploads/2023/07/S-logo-white-256px.png",4"logo_bg_color_hex" : "#ff5722"5}
Key | Description |
---|---|
body | The core description of the Listing in Markdown formatting. HTML tags and images are not supported. |
highlights | A complete list of all highlights objects of the Listing. You can pass a title and a corresponding description for each highlight. |
1{2"body" : "Enhance your communication with our innovative module",3"highlights" : [4{"title":"Feature 1" ,"description":"Streamline your workflows."},5{"title":"Feature 2" ,"description":"Seamless integration with your apps."}6]7}
Key | Description |
---|---|
body | Informative and helpful Markdown text guiding users on how to use the Listing. HTML tags and images are not supported. |
1{2"body" : "### Instant Free Trial -- Start Today within Minutes… \r\n\r\n"3}
Key | Description |
---|---|
privacy | Text describing the privacy policy for users using the Listing. Use Markdown when providing links. HTML tags and images are not supported. |
legal | Text describing the legal policy for users using the Listing. Use Markdown when providing links. HTML tags and images are not supported. |
1{2"privacy" : "[https://www.twilio.com/legal/privacy](https://www.twilio.com/legal/privacy)",3"legal" : "[https://www.twilio.com/legal/tos](https://www.twilio.com/legal/tos)"4}
Key | Description |
---|---|
billing_email | Email address for billing-related inquiries. |
billing_phone | Phone number for billing-related inquiries. |
technical_email | Email address for technical support. |
technical_phone | Phone number for technical support. |
customer_support_email | Email address for general customer support. |
support_description | A description of available support resources, presented in Markdown format. HTML tags and images are not supported. |
1{2"billing_email":"accounts@example.com",3"billing_phone":"+1 617-555-1313",4"technical_email":"support@example.com",5"technical_phone":"+1 617-555-3434",6"customer_support_email":"support@example.com",7"customer_support_phone":"+1 617-555-1212",8"support_description":"Please use Add-on Support form to request support for this Add-on"9}
1// Download the helper library from https://www.twilio.com/docs/node/install2const twilio = require("twilio"); // Or, for ESM: import twilio from "twilio";34// Find your Account SID and Auth Token at twilio.com/console5// and set the environment variables. See http://twil.io/secure6const accountSid = process.env.TWILIO_ACCOUNT_SID;7const authToken = process.env.TWILIO_AUTH_TOKEN;8const client = twilio(accountSid, authToken);910async function updateModuleDataManagement() {11const moduleDataManagement = await client.marketplace.v112.moduleDataManagement("XBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa")13.update({ moduleInfo: "ModuleInfo" });1415console.log(moduleDataManagement.url);16}1718updateModuleDataManagement();
1{2"sid": "XBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",3"url": "https://marketplace.twilio.com/v1/Listing/XBaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",4"description": {5"body": "aBody",6"highlights": [7{8"title": "aTitle",9"description": "aDescription"10}11],12"code_samples": [13{14"title": "aTitle",15"description": "aDescription",16"code": "aCode"17}18]19},20"support": {21"customer_support_email": "anEmail",22"customer_support_phone": "+1 888-888-8888",23"support_description": "aDescription",24"billing_email": "anEmail",25"billing_phone": "+1 888-888-8888",26"technical_email": "anEmail",27"technical_phone": "+1 888-888-8888"28},29"policies": {30"privacy": "someUrl",31"legal": "someOtherUrl"32},33"module_info": {34"tag": "Description",35"tagline": "aTagline",36"logo_url": "aUrl",37"logo_bg_color_hex": "#ff5722"38},39"documentation": {40"body": "aBody"41},42"pricing": {43"body": "Basic plan - $10/month"44},45"configuration": {46"buttons": [47{48"url": "https://example.com",49"label": "Configurable button text",50"help_text": "The button text, url, and help text are now configurable via self service"51}52],53"notification_configuration": {54"callback_url": "https://example.com"55}56}57}
If an error occurs when updating a Listing, the API returns a 400 HTTP status along with relevant error messages. Additionally, a notification is published in the Twilio Debugger to help with further troubleshooting and analysis.
Here are some common error scenarios along with their associated HTTP statuses and messages:
Error Scenario | HTTP Response and Error Message |
---|---|
Missing required parameter | 400. The [parameter name] parameter is required and must be provided. |
Invalid JSON format | 400. Invalid JSON format. Please ensure the request body adheres to the correct JSON structure. |
Exceeding maximum file size | 400. The JSON size exceeds the maximum allowed limit of 5MB. Please reduce the JSON size and try again. |
Module not found | 404. The specified Module was not found. Please provide a valid Module ID. |
Internal server error | 500. An internal server error occurred. Please contact support for further assistance. |