Create and manage articles that power AI responses with citations, searchable by visitors and operators.
The knowledge base is a collection of articles that serve two purposes: providing self-service content for visitors and grounding AI responses with citations. Articles are organized into categories, support full-text search, and can be published publicly or kept as drafts.
Knowledge base articles are stored per-organization and support:
Articles have two statuses: draft and published. Only published
articles are visible to visitors and used in AI responses.
Create articles through the dashboard or via the API. A slug is automatically generated from the title:
POST /api/kb/articles{
"title": "How to Reset Your Password",
"content": "To reset your password, go to the login page and click 'Forgot Password'. Enter your email address and follow the confirmation link.",
"categoryId": "a1b2c3d4-...",
"tags": ["account", "password", "security"],
"status": "published"
}The slug is derived from the title using slugify logic. If a slug already
exists, a numeric suffix is appended (e.g., how-to-reset-1).
Draft vs Published
Create articles as draft to work on them privately. Set status to
published when ready to make them visible to visitors and AI.
Organize articles into categories with names, descriptions, and emoji icons. Categories help operators browse content and help visitors navigate the knowledge base.
POST /api/kb/categories{
"name": "Account Management",
"description": "Articles about account settings, passwords, and profile",
"icon": "👤"
}GET /api/kb/collectionsReturns categories sorted by published article count, with pagination:
{
"items": [
{
"id": "...",
"name": "Account Management",
"description": "Articles about account settings",
"icon": "👤",
"articleCount": 12
}
],
"total": 5,
"limit": 20,
"offset": 0
}Deleting Categories
When a category is deleted, its articles are not deleted. Their
categoryId is set to null instead.
Published knowledge base articles are automatically available to the AI chatbot. When a visitor asks a question, the system searches the knowledge base for relevant articles and uses them as context for the AI response, including citations back to the source article.
The search endpoint is available without authentication for widget and visitor use:
GET /api/kb/search?q=password+reset&orgSlug=my-company&limit=5{
"results": [
{
"id": "...",
"title": "How to Reset Your Password",
"slug": "how-to-reset-your-password",
"content": "To reset your password, go to the login page...",
"categoryId": "..."
}
]
}Retrieve a specific published article by its slug for public display:
GET /api/kb/articles/slug/:slug?orgSlug=my-companyList articles with optional filters and pagination:
GET /api/kb/articles?search=security&categoryId=a1b2c3d4&status=published&limit=20&offset=0| Parameter | Type | Description |
|---|---|---|
search | string | Search in title, content, and tags |
categoryId | UUID | Filter by category |
status | draft or published | Filter by publication status |
limit | number | Items per page (default 20) |
offset | number | Pagination offset |
Results are sorted by most recently updated.
Knowledge base articles can be accessed publicly by slug. This allows you
to embed a help center or FAQ page on your website. Public endpoints do
not require authentication but need the orgSlug parameter to identify
your organization.
Public endpoints:
GET /api/kb/search: search published articlesGET /api/kb/articles/slug/:slug: get article by slug| Method | Endpoint | Description |
|---|---|---|
GET | /api/kb/articles | List articles with filters |
GET | /api/kb/articles/:id | Get article by ID |
POST | /api/kb/articles | Create an article |
PUT | /api/kb/articles/:id | Update an article |
DELETE | /api/kb/articles/:id | Soft-delete an article |
| Method | Endpoint | Description |
|---|---|---|
GET | /api/kb/categories | List all categories |
GET | /api/kb/collections | List categories with counts |
POST | /api/kb/categories | Create a category |
PUT | /api/kb/categories/:id | Update a category |
DELETE | /api/kb/categories/:id | Delete a category |
| Method | Endpoint | Description |
|---|---|---|
GET | /api/kb/search | Search published articles |
GET | /api/kb/articles/slug/:slug | Get article by slug |
Last updated: Jul 2, 2026
Was this page helpful?