Skip to contentSkip to navigationSkip to topbar

Knowledge API (v2) - Knowledge Bases endpoints


(information)

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(link takes you to an external page). 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.

Overview

overview page anchor

Tag description

Endpoints


Create a Knowledge Base

create-knowledge-base page anchor

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.

Request

create-knowledge-base-request page anchor

Request body

create-knowledge-base-request-body page anchor
Encoding type:application/json
Schema
Property nameTypeRequiredPIIDescriptionChild properties
displayNamestring
required
Not PII

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.

Example: product-docsPattern: ^[a-zA-Z0-9-]+$

descriptionstring

Optional

A human readable description of this resource, up to 128 characters.

Example: Product documentation knowledge base for customer supportMin length: 1Max length: 128
202400404429500503

Knowledge Base creation request accepted.

Schema
Property nameTypeRequiredPIIDescriptionChild properties
messagestring

Optional

Example: Knowledge Base creation request accepted for processing.Max length: 512

statusUrlstring

Optional

URI to check operation status.

Max length: 512
Create a Knowledge BaseLink to code sample: Create a Knowledge Base
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 createKnowledgeBase() {
11
const knowledgeBasis = await client.knowledge.v2.knowledgeBases.create({
12
displayName: "product-docs",
13
});
14
15
console.log(knowledgeBasis.message);
16
}
17
18
createKnowledgeBase();

Response

Note about this 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.

Property nameTypeRequiredPIIDescription
pageSizeinteger

Optional

The maximum number of items to return per page, maximum of 100.

Default: 50Minimum: 1Maximum: 100

pageTokenstring

Optional

The token for the page of results to retrieve.

Max length: 500

orderByenum<string>

Optional

Either 'ASC' or 'DESC' to sort results ascending or descending respectively.

Default: DESCPossible values:
ASCDESC
200400404429500503

Knowledge Bases retrieved successfully

Schema
Property nameTypeRequiredPIIDescriptionChild properties
knowledgeBasesarray[object]

Optional

List of Knowledge Bases associated with the Twilio account.

Max items: 1000

metaobject

Optional

Example: {"key":"knowledgeBases","pageSize":50,"nextToken":"eyJlYXN0ZXIiOiJlZ2cifQ"}
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 listKnowledgeBases() {
11
const knowledgeBases = await client.knowledge.v2.knowledgeBases.list({
12
orderBy: "DESC",
13
limit: 20,
14
});
15
16
knowledgeBases.forEach((k) => console.log(k.displayName));
17
}
18
19
listKnowledgeBases();

Response

Note about this 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": 3
11
}
12
],
13
"meta": {
14
"key": "key",
15
"pageSize": 50,
16
"nextToken": "nextToken",
17
"previousToken": "previousToken"
18
}
19
}

Retrieve a Knowledge Base

fetch-knowledge-base page anchor

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.

Property nameTypeRequiredPIIDescription
kbIdstring
required

A unique Knowledge Base ID using Twilio Type ID (TTID) format

Example: know_knowledgebase_00000000000000000000000000Pattern: ^know_knowledgebase_[0-7][0-9a-z]{25}$
200400404429500503

Knowledge Base details retrieved successfully

Schema
Property nameTypeRequiredPIIDescriptionChild properties
displayNamestring

Optional

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.

Example: product-docsPattern: ^[a-zA-Z0-9-]+$

descriptionstring

Optional

A human readable description of this resource, up to 128 characters.

Example: Product documentation knowledge base for customer supportMin length: 1Max length: 128

idstring

Optional

The unique identifier for the Knowledge Base

Example: know_knowledgebase_00000000000000000000000000Pattern: ^know_knowledgebase_[0-7][0-9a-z]{25}$

statusenum<string>

Optional

The provisioning status of the Knowledge Base

Example: ACTIVEPossible values:
QUEUEDPROVISIONINGACTIVEFAILEDDELETING

createdAtstring<date-time>

Optional

The ISO 8601 timestamp when the Knowledge Base was created.

Example: 2024-01-15T10:30:00Z

updatedAtstring<date-time>

Optional

The ISO 8601 timestamp when the Knowledge Base was last updated.

Example: 2024-01-15T11:45:00Z

versioninteger

Optional

The current version number of the Knowledge Base. Incremented on each successful mutable update.

Example: 3Minimum: 1
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 fetchKnowledgeBase() {
11
const knowledgeBasis = await client.knowledge.v2
12
.knowledgeBases("know_knowledgebase_00000000000000000000000000")
13
.fetch();
14
15
console.log(knowledgeBasis.displayName);
16
}
17
18
fetchKnowledgeBase();

Response

Note about this 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": 3
9
}

Update a Knowledge Base

update-knowledge-base page anchor

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.

Property nameTypeRequiredPIIDescription
if-Matchstring

Optional

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.

Example: "eyJpZCI6ImFuX2lkIiwidiI6MX0"Max length: 100
Property nameTypeRequiredPIIDescription
kbIdstring
required

A unique Knowledge Base ID using Twilio Type ID (TTID) format

Example: know_knowledgebase_00000000000000000000000000Pattern: ^know_knowledgebase_[0-7][0-9a-z]{25}$
Encoding type:application/json
Schema
Property nameTypeRequiredPIIDescriptionChild properties
displayNamestring

Optional

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.

Example: product-docsPattern: ^[a-zA-Z0-9-]+$

descriptionstring

Optional

A human readable description of this resource, up to 128 characters.

Example: Product documentation knowledge base for customer supportMin length: 1Max length: 128
202400404429500503

Knowledge Base update request accepted.

Schema
Property nameTypeRequiredPIIDescriptionChild properties
messagestring

Optional

Example: Knowledge Base update request accepted for processing.Max length: 512

statusUrlstring

Optional

URI to check operation status.

Max length: 512
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 updateKnowledgeBase() {
11
const knowledgeBasis = await client.knowledge.v2
12
.knowledgeBases("know_knowledgebase_00000000000000000000000000")
13
.update({
14
displayName: "product-docs",
15
});
16
17
console.log(knowledgeBasis.message);
18
}
19
20
updateKnowledgeBase();

Response

Note about this response
1
{
2
"message": "message",
3
"statusUrl": "statusUrl"
4
}

Delete a Knowledge Base

delete-knowledge-base page anchor

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.

Property nameTypeRequiredPIIDescription
kbIdstring
required

A unique Knowledge Base ID using Twilio Type ID (TTID) format

Example: know_knowledgebase_00000000000000000000000000Pattern: ^know_knowledgebase_[0-7][0-9a-z]{25}$
202400404429500503

Knowledge Base deletion request accepted.

Schema
Property nameTypeRequiredPIIDescriptionChild properties
messagestring

Optional

Example: Knowledge Base deletion request accepted for processing.Max length: 512
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 deleteKnowledgeBase() {
11
await client.knowledge.v2
12
.knowledgeBases("know_knowledgebase_00000000000000000000000000")
13
.remove();
14
}
15
16
deleteKnowledgeBase();

Response

Note about this response
1
{
2
"message": "message"
3
}