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

Module Resource (Preview)


(information)

Info

If you already have a published add-on and would like access to this API resource, reach out to Twilio.


Base URL

base-url page anchor

_10
https://preview.twilio.com/marketplace


The Module resource uses the same HTTP Basic Authentication as other Twilio APIs. Use your Twilio account SID as your username and your Auth Token as your password.


The Module resource allows Twilio Marketplace Partners to seamlessly update their individual Marketplace modules. A module includes the following key details that are represented in the Catalog and Module detail pages:

  • Module Info
  • Description
  • Documentation
  • Policies
  • Support

With the Module resource, you can:


The following optional body parameters are supported by the Module resource.

ParameterSubfieldsDescription
ModuleInfoA JSON object containing essential attributes that define a module. This information is presented on the Module detail page in the Twilio Marketplace Catalog. You can pass the following attributes in the JSON object. For an example, see ModuleInfo.
taglineA succinct and compelling statement that encapsulates the module's purpose and benefits.
logo_urlA publicly accessible URL pointing to the module's logo image.
logo_bg_color_hexThe hexadecimal color code(link takes you to an external page) representing the background color of the module's logo.
DescriptionA JSON object describing the module and is displayed under the Description tab of the Module detail page. You can define the main body of the description, highlight key features or aspects of the module and if applicable, provide code samples for developers. For an example, see Description.
bodyThe core description of the module in Markdown formatting. HTML tags are not supported.
highlightsA list of objects highlighting aspects of the module. You can pass a title and a corresponding description within each highlight object.
DocumentationA JSON object for providing comprehensive information, instructions, and resources related to the module. For an example, see Documentation.
bodyInformative and helpful Markdown text guiding customers how to use the module. Images are not supported.
PoliciesA JSON object describing the module's privacy and legal policies and is displayed under the Policies tab of the Module detail page. The maximum file size for Policies is 5MB. For an example, see Policies.
privacyText describing the privacy policy for customers using the module. When providing links, we recommend you use Markdown.
legalText describing the legal policy for customers using the module. When providing links, we recommend you use Markdown.
SupportA JSON object containing information on how customers can obtain support for the module. Use this parameter to provide details such as contact information and support description. For an example, see Support.
billing_emailEmail address for billing-related inquiries.
billing_phonePhone number for billing-related inquiries.
technical_emailEmail address for technical support.
technical_phonePhone number for technical support.
customer_support_emailEmail address for general customer support.
support_descriptionA description of available support resources, presented in Markdown format.

In order to fetch a specific module, you need to include a module SID in the path of your request. To get started, you can list available Twilio Marketplace modules. From the JSON response, use a specific module SID to fetch its details.

Example request

example-request page anchor

_10
curl -X GET 'https://preview.twilio.com/marketplace/Module/XBxxxxxxxxxxxxxxxxxxxxxxx' \
_10
--header 'Content-Type: application/x-www-form-urlencoded' \
_10
-u $TWILIO_ACCOUNT_SID:$TWILIO_AUTH_TOKEN'


_54
{
_54
"description": {
_54
"body": "Ready-to-use softphone app for Twilio complete with comprehensive calling and messaging features. Biz, Inc. is used by thousands of Twilio users for millions of conversations every month.",
_54
"highlights": [
_54
{
_54
"description": "Apps for iOS, Android, MacOS, and Windows. Designed mobile-first for easy user training and adoption.",
_54
"title": "**Softphone App for Calls, Chat, SMS, and WhatsApp with Shared Inbox, and Group Conversations**"
_54
},
_54
{
_54
"description": "150+ business phone system features such as ACD, Call/Hunt Groups, Queues, Transfer, Conference, Voicemail, Call Backs, Call Recording, Corporate Directory, Availability & Presence, Extensions, DIDs, ANI lists, +more.",
_54
"title": "**Complete Business Phone System (PBX) with Pre-Built CRM Integrations**"
_54
},
_54
{
_54
"description": "Integrate, interact with, and control Biz, Inc. in real time from Twilio or your custom code, then subscribe to real time events or pull post event data to build the exact customer experience, data flows, and operational efficiencies your business needs.",
_54
"title": "**Rich Developer API, Webhooks, Data Actions, Screen Pops, and Forms**"
_54
},
_54
{
_54
"description": "All the tools your IT team needs to scale and manage large deployments.",
_54
"title": "**Scalable Enterprise Ready Platform**"
_54
}
_54
]
_54
},
_54
"url": "https://preview.twilio.com/marketplace/Module/XBxxxxxxxxxxxxxxxxxxxxxxx",
_54
"support": {
_54
"customer_support_phone": "+1 617-555-1212",
_54
"support_description": "### Support\r\n| Item | Description |\r\n|--|--|\r\n| Sign Up | [Create a new Biz, Inc. account](https://account.example.com/signup?vendor=TWILIO&partnerCode=TWILIO&signupcode=88b2c922-5690-4765-8245-6ce87532478f) |\r\n| Account Admin Console | [Access your existing Biz, Inc. account](https://account.example.com/?partnerCode=TWILIO) |",
_54
"customer_support_email": "support@example.com",
_54
"technical_email": "accounts@example.com",
_54
"technical_phone": "+1617-555-3434"
_54
},
_54
"documentation": {
_54
"body": "### Instant Free Trial — Start Today Within Minutes, No Sales Process Required\r\n\r\nFrom just $15 a month, start a 30 day free trial right now and go live without talking to anyone, or engage our [professional service team](https://example.com/business-phone-system-services-professional-services-offerings/) to help configure your ideal customer journey."
_54
},
_54
"policies": {
_54
"legal": "### Legal documents and policies\r\n\r\n| Item | Description |\r\n|---|---|\r\n|Privacy Policy|[https://example.com/privacy/](https://example.com/privacy/)|\r\n|Terms of Use|[https://example.com/terms/](https://example.com/terms/)|",
_54
"privacy": ""
_54
},
_54
"sid": "XBxxxxxxxxxxxxxxxxxxxxxxx",
_54
"module_info": {
_54
"tagline": "Rich Softphone, 150+ Biz Phone System Features, & CRM Integrations for Calls, SMS, and WhatsApp conversations on Twilio.",
_54
"logo_bg_color_hex": "#ff5722",
_54
"logo_url": "https://example.com/wp-content/uploads/2023/07/S-logo-white-256px.png",
_54
"tags": [
_54
{
_54
"description": "The tag is used to enable Manual Usage Reporting API for a specific Add-on",
_54
"date_updated": "2023-07-28T16:16:38.000Z",
_54
"friendly_name": "Manual Usage Reporting",
_54
"sid": "XGxxxxxxxxxxxxxxxxxxxxxxx",
_54
"date_created": "2023-07-28T16:16:38.000Z",
_54
"id": 15
_54
}
_54
]
_54
}
_54
}


All POST body parameters are optional. To see examples and learn more about formulating your request, see Example JSON and Validation and expected behavior.


_27
curl -X POST 'https://preview.twilio.com/marketplace/Module/XBxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx' \
_27
--header 'Content-Type: application/x-www-form-urlencoded' \
_27
-u $TWILIO_API_KEY_SID:$TWILIO_API_KEY_SECRET' \
_27
--data-urlencode 'ModuleInfo={
_27
"tagline":"This module is great!",
_27
"logo_url":"https://example.com/wp-content/uploads/2023/07/S-logo-white-256px.png",
_27
"logo_bg_color_hex":"#ff5722"
_27
}' \
_27
--data-urlencode 'Description={
_27
"body":"Use this app for something.",
_27
"highlights":[
_27
{
_27
"description":"Apps for iOS, Android, MacOS, and Windows. Designed mobile-first for easy user training and adoption. 100% feature parity across all platforms.",
_27
"title":"**Softphone App for Calls, Chat, SMS, and WhatsApp with Shared Inbox, and Group Conversations**"
_27
}
_27
]
_27
}' \
_27
--data-urlencode 'Documentation={
_27
"body":"### Instant Free Trial -- Start Today Within Minutes, No Sales Process Required\r\n\r\nFrom just $15 a month, start a 30 day free trial right now and go live without talking to anyone, or engage our [professional service team](https://example.com/business-phone-system-services-professional-services-offerings/) to help configure your ideal customer journey.\r\n\r\n### Steps to install Biz,Inc. into your Twilio account:\r\n\r\n1. Install the Add-On using the button above.\r\n2. [Create a free Biz,Inc. Account](https://account.example.com/signup?vendor=TWILIO&partnerCode=TWILIO&signupcode=88b2c922-5690-4765-8245-6ce87532478f)\r\n3. You're done!"
_27
}' \
_27
--data-urlencode 'Policies={
_27
"legal":"### Legal documents and policies\r\n\r\n| Item | Description |\r\n|---|---|\r\n|Privacy Policy|[https://example.com/privacy/](https://example.com/privacy/)|\r\n|Terms of Use|[https://example.com/terms/](https://example.com/terms/)|\r\n|Data Processing Addendum|[https://example.com/data-processing-addendum/](https://example.com/data-processing-addendum/)|",
_27
"privacy":""
_27
}' \
_27
--data-urlencode 'Support={
_27
"billing_email": "billing@example.com"
_27
}'


_10
200 OK



_10
{
_10
"tagline" : "Enhance your communication with our innovative module",
_10
"logo_url" : "https://example.com/wp-content/uploads/2023/07/S-logo-white-256px.png",
_10
"logo_bg_color_hex" : "#ff5722"
_10
}


_10
{
_10
"body" : "Enhance your communication with our innovative module",
_10
"highlights" : [
_10
{"title":"Feature 1" ,"description":"Streamline your workflows."},
_10
{"title":"Feature 2" ,"description":"Seamless integration with your apps."}
_10
]
_10
}


_10
{
_10
"body" : "### Instant Free Trial -- Start Today within Minutes… \r\n\r\n"
_10
}


_10
{
_10
"privacy" : "[https://www.twilio.com/legal/privacy](https://www.twilio.com/legal/privacy)",
_10
"legal" : "[https://www.twilio.com/legal/tos](https://www.twilio.com/legal/tos)"
_10
}


_10
{
_10
"billing_email":"accounts@example.com",
_10
"billing_phone":"+1 617-555-1313",
_10
"technical_email":"support@example.com",
_10
"technical_phone":"+1 617-555-3434",
_10
"customer_support_email":"support@example.com",
_10
"customer_support_phone":"+1 617-555-1212",
_10
"support_description":"Please use Add-on Support form to request support for this Add-on"
_10
}


Validation and expected behavior

validation-and-expected-behavior page anchor
  • All parameters and object attributes are optional. If you send an empty POST request, none of the module attributes are updated and the API returns a 204 No Content response.
  • Parameter validation: The value passed for any of the parameters must resolve to a valid JSON object(link takes you to an external page) . If you pass null or an empty JSON ( \{} ) to any of the parameters, that parameter will not be modified in your update request.
  • Array validation: When updating an object within an existing list (e.g. highlights), ensure you also include all the previously added objects in your request. Otherwise, they will be removed and only the object that you are updating will remain.
  • Object attribute validation: To remove an attribute from a module parameter, set it to an empty string ( "" ). For example, if the Policies object contains {"privacy" : "blah","legal" : ""} , privacy is updated to "blah", and legal is removed. If the attribute is missing, no updates are made to that attribute. For example, Policies= {"privacy" : "blah"} updates privacy but not legal.
  • Avoid including images in Markdown content as they will be removed.
  • HTML tags aren't supported.

In the event of an unsuccessful update, the API returns a 400 HTTP status (Bad Request) along with relevant error messages. Additionally, a notification will be published into Twilio Debugger for further troubleshooting and analysis.

Here is a list of common scenarios along with associated error codes and messages that the API may return.

ScenarioHTTP response and error message
Missing required parameter400. The [parameter name] parameter is required and must be provided.
Invalid JSON format400. Invalid JSON format. Please ensure the request body adheres to the correct JSON structure.
Exceeding maximum file size400. The JSON size exceeds the maximum allowed limit of 5MB. Please reduce the JSON size and try again.
Module not found404. The specified Module was not found. Please provide a valid Module ID.
Internal server error500. An internal server error occurred. Please contact support for further assistance.

Rate this page: