Knowledge API (v2) - Knowledge Bases endpoints
Legal information
Enterprise Knowledge, including the APIs, may use artificial intelligence or machine learning technologies and is subject to the terms of the Predictive and Generative AI/ML Features Addendum. For more details on AI usage and data, see the AI Nutrition Facts.
Enterprise Knowledge is not a HIPAA Eligible Service or PCI compliant and should not be enabled in workflows that are subject to HIPAA or PCI.
Conversations products are only available in the new Twilio Console. If your account hasn't been migrated, you'll be redirected to the legacy Console where these products won't appear.
Create a Knowledge Base
List Knowledge Bases
Retrieve a Knowledge Base
Update a Knowledge Base
Delete a Knowledge Base
POST/v2/ControlPlane/KnowledgeBases
Base url: https://knowledge.twilio.com (base url)
Create a new Knowledge Base for the Twilio account. Accounts can have multiple knowledge bases. Each knowledge base can contain multiple knowledge resources such as documents, websites, or text content that can be used for context and information retrieval.
application/jsonProvides a unique and addressable name to be assigned to this Knowledge Base. This name is assigned by the developer and can be used in addition to the ID. It is intended to be human-readable and unique within the account.
product-docsPattern: ^[a-zA-Z0-9-]+$A human readable description of this resource, up to 128 characters.
Product documentation knowledge base for customer supportMin length: 1Max length: 1281// 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 createKnowledgeBase() {11const knowledgeBasis = await client.knowledge.v2.knowledgeBases.create({12displayName: "product-docs",13});1415console.log(knowledgeBasis.message);16}1718createKnowledgeBase();
Response
1{2"message": "message",3"statusUrl": "statusUrl"4}
GET/v2/ControlPlane/KnowledgeBases
Base url: https://knowledge.twilio.com (base url)
Get a list of knowledge bases for the Twilio account.
The maximum number of items to return per page, maximum of 100.
50Minimum: 1Maximum: 100Either 'ASC' or 'DESC' to sort results ascending or descending respectively.
DESCPossible values: ASCDESCKnowledge Bases retrieved successfully
List of Knowledge Bases associated with the Twilio account.
1000{"key":"knowledgeBases","pageSize":50,"nextToken":"eyJlYXN0ZXIiOiJlZ2cifQ"}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 listKnowledgeBases() {11const knowledgeBases = await client.knowledge.v2.knowledgeBases.list({12orderBy: "DESC",13limit: 20,14});1516knowledgeBases.forEach((k) => console.log(k.displayName));17}1819listKnowledgeBases();
Response
1{2"knowledgeBases": [3{4"displayName": "product-docs",5"description": "description",6"id": "know_knowledgebase_00000000000000000000000000",7"status": "ACTIVE",8"createdAt": "2009-07-06T20:30:00Z",9"updatedAt": "2009-07-06T20:30:00Z",10"version": 311}12],13"meta": {14"key": "key",15"pageSize": 50,16"nextToken": "nextToken",17"previousToken": "previousToken"18}19}
GET/v2/ControlPlane/KnowledgeBases/{kbId}
Base url: https://knowledge.twilio.com (base url)
Retrieve the details of a specific Knowledge Base by its unique ID.
A unique Knowledge Base ID using Twilio Type ID (TTID) format
know_knowledgebase_00000000000000000000000000Pattern: ^know_knowledgebase_[0-7][0-9a-z]{25}$Knowledge Base details retrieved successfully
Provides a unique and addressable name to be assigned to this Knowledge Base. This name is assigned by the developer and can be used in addition to the ID. It is intended to be human-readable and unique within the account.
product-docsPattern: ^[a-zA-Z0-9-]+$A human readable description of this resource, up to 128 characters.
Product documentation knowledge base for customer supportMin length: 1Max length: 128The unique identifier for the Knowledge Base
know_knowledgebase_00000000000000000000000000Pattern: ^know_knowledgebase_[0-7][0-9a-z]{25}$The provisioning status of the Knowledge Base
ACTIVEPossible values: QUEUEDPROVISIONINGACTIVEFAILEDDELETINGThe ISO 8601 timestamp when the Knowledge Base was created.
2024-01-15T10:30:00ZThe ISO 8601 timestamp when the Knowledge Base was last updated.
2024-01-15T11:45:00ZThe current version number of the Knowledge Base. Incremented on each successful mutable update.
3Minimum: 11// 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 fetchKnowledgeBase() {11const knowledgeBasis = await client.knowledge.v212.knowledgeBases("know_knowledgebase_00000000000000000000000000")13.fetch();1415console.log(knowledgeBasis.displayName);16}1718fetchKnowledgeBase();
Response
1{2"createdAt": "2009-07-06T20:30:00Z",3"description": "description",4"displayName": "product-docs",5"id": "know_knowledgebase_00000000000000000000000000",6"status": "ACTIVE",7"updatedAt": "2009-07-06T20:30:00Z",8"version": 39}
PATCH/v2/ControlPlane/KnowledgeBases/{kbId}
Base url: https://knowledge.twilio.com (base url)
Partially update a Knowledge Base. Only the fields provided in the request body will be updated.
Allows for optimistic concurrency control by making the request conditional. Server will only act if the resource's current Entity Tag (ETag) matches the one provided, preventing accidental overwrites.
"eyJpZCI6ImFuX2lkIiwidiI6MX0"Max length: 100A unique Knowledge Base ID using Twilio Type ID (TTID) format
know_knowledgebase_00000000000000000000000000Pattern: ^know_knowledgebase_[0-7][0-9a-z]{25}$application/jsonProvides a unique and addressable name to be assigned to this Knowledge Base. This name is assigned by the developer and can be used in addition to the ID. It is intended to be human-readable and unique within the account.
product-docsPattern: ^[a-zA-Z0-9-]+$A human readable description of this resource, up to 128 characters.
Product documentation knowledge base for customer supportMin length: 1Max length: 1281// 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 updateKnowledgeBase() {11const knowledgeBasis = await client.knowledge.v212.knowledgeBases("know_knowledgebase_00000000000000000000000000")13.update({14displayName: "product-docs",15});1617console.log(knowledgeBasis.message);18}1920updateKnowledgeBase();
Response
1{2"message": "message",3"statusUrl": "statusUrl"4}
DELETE/v2/ControlPlane/KnowledgeBases/{kbId}
Base url: https://knowledge.twilio.com (base url)
Delete a Knowledge Base and all associated knowledge resources. This action cannot be undone.
A unique Knowledge Base ID using Twilio Type ID (TTID) format
know_knowledgebase_00000000000000000000000000Pattern: ^know_knowledgebase_[0-7][0-9a-z]{25}$Knowledge Base deletion request accepted.
Knowledge Base deletion request accepted for processing.Max length: 5121// 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 deleteKnowledgeBase() {11await client.knowledge.v212.knowledgeBases("know_knowledgebase_00000000000000000000000000")13.remove();14}1516deleteKnowledgeBase();
Response
1{2"message": "message"3}