# Knowledge base API

> Knowledge bases, articles, categories, versions and languages, forms, themes, templates, routes and custom domains.

Source: https://developer.kustomer.com/api/knowledge-base

Server: `https://api.kustomerapp.com` · 71 operations

This category describes endpoints related to your Kustomer Knowledge Base data.

To learn more, see [Knowledge Base overview](https://help.kustomer.com/knowledge-base-HJ8lh0Fwz) in the Kustomer Help Center.

## Articles

An article is one help page in your knowledge base, such as "How to return an order". Each article keeps its own versions for each language, and customers and agents only see the published version in each language.

- [Get Articles](https://developer.kustomer.com/api/knowledge-base/get-articles.md): `GET /v1/kb/articles`
- [Create an Article](https://developer.kustomer.com/api/knowledge-base/create-an-article.md): `POST /v1/kb/articles`
- [Get Article by ID](https://developer.kustomer.com/api/knowledge-base/get-article-by-id.md): `GET /v1/kb/articles/{id}`
- [Update Article](https://developer.kustomer.com/api/knowledge-base/update-article.md): `PUT /v1/kb/articles/{id}`
- [Search Articles](https://developer.kustomer.com/api/knowledge-base/search-articles.md): `GET /v1/kb/articles/search`

## Articles (Public)

An article is one help page in your knowledge base, such as "How to return an order". Each article keeps its own versions for each language, and customers and agents only see the published version in each language.

- [Get Articles (Public)](https://developer.kustomer.com/api/knowledge-base/get-articles-public.md): `GET /p/v3/kb/articles`
- [Search Articles (Public)](https://developer.kustomer.com/api/knowledge-base/search-articles-public.md): `GET /p/v3/kb/articles/search`

## Articles (Schedules)

An article is one help page in your knowledge base, such as "How to return an order". Each article keeps its own versions for each language, and customers and agents only see the published version in each language.

- [Create article schedule](https://developer.kustomer.com/api/knowledge-base/create-article-schedule.md): `POST /v1/kb/articles/{id}/schedules`
- [Update Article Schedule](https://developer.kustomer.com/api/knowledge-base/update-article-schedule.md): `PUT /v1/kb/articles/{id}/schedules/{type}/{lang}`
- [Delete Article Schedule](https://developer.kustomer.com/api/knowledge-base/delete-article-schedule.md): `DELETE /v1/kb/articles/{id}/schedules/{type}/{lang}`

## Articles (Versioning and Languages)

An article is one help page in your knowledge base, such as "How to return an order". Each article keeps its own versions for each language, and customers and agents only see the published version in each language.

- [Get Article Versions by Language](https://developer.kustomer.com/api/knowledge-base/get-article-versions-by-language.md): `GET /v1/kb/articles/{id}/versions/{lang}`
- [Create a Version](https://developer.kustomer.com/api/knowledge-base/create-a-version.md): `POST /v1/kb/articles/{id}/versions/{lang}`
- [Delete Versions of a Language](https://developer.kustomer.com/api/knowledge-base/delete-versions-of-a-language.md): `DELETE /v1/kb/articles/{id}/versions/{lang}`
- [Update a Draft Version](https://developer.kustomer.com/api/knowledge-base/update-a-draft-version.md): `PUT /v1/kb/articles/{id}/versions/{lang}/draft`
- [Delete a Draft Version](https://developer.kustomer.com/api/knowledge-base/delete-a-draft-version.md): `DELETE /v1/kb/articles/{id}/versions/{lang}/draft`
- [Update Latest Published Article Version](https://developer.kustomer.com/api/knowledge-base/update-latest-published-article-version.md): `PUT /v1/kb/articles/{id}/versions/{lang}/latest`
- [Get Article Version by ID](https://developer.kustomer.com/api/knowledge-base/get-article-version-by-id.md): `GET /v1/kb/versions/{id}`

## Categories

Categories are the folders that organize a knowledge base's articles into a tree you can browse, such as "Orders" containing "Returns". Each knowledge base has its own tree, and the help center builds its navigation from it.

- [Get Categories](https://developer.kustomer.com/api/knowledge-base/get-categories.md): `GET /v1/kb/categories`
- [Create a Category](https://developer.kustomer.com/api/knowledge-base/create-a-category.md): `POST /v1/kb/categories`
- [Get Category by ID](https://developer.kustomer.com/api/knowledge-base/get-category-by-id.md): `GET /v1/kb/categories/{id}`
- [Update Category](https://developer.kustomer.com/api/knowledge-base/update-category.md): `PUT /v1/kb/categories/{id}`

## Categories (Internal)

Categories are the folders that organize a knowledge base's articles into a tree you can browse, such as "Orders" containing "Returns". Each knowledge base has its own tree, and the help center builds its navigation from it.

- [Get Internal Categories](https://developer.kustomer.com/api/knowledge-base/get-internal-categories.md): `GET /v1/kb/internal/categories`
- [Create an Internal Category](https://developer.kustomer.com/api/knowledge-base/create-an-internal-category.md): `POST /v1/kb/internal/categories`
- [Get Internal Category by ID](https://developer.kustomer.com/api/knowledge-base/get-internal-category-by-id.md): `GET /v1/kb/internal/categories/{id}`

## Categories (Public)

Categories are the folders that organize a knowledge base's articles into a tree you can browse, such as "Orders" containing "Returns". Each knowledge base has its own tree, and the help center builds its navigation from it.

- [Get Categories (Public)](https://developer.kustomer.com/api/knowledge-base/get-categories-public.md): `GET /p/v3/kb/categories`
- [Get Category by ID (Public)](https://developer.kustomer.com/api/knowledge-base/get-category-by-id-public.md): `GET /p/v3/kb/categories/{id}`

## Forms

A form is a contact form on your help center, such as "Contact support" or "Report a problem". When a customer submits it, Kustomer opens a conversation with their answers, or hands the submission to a form hook for a workflow to process.

- [Get Forms](https://developer.kustomer.com/api/knowledge-base/get-forms.md): `GET /v1/kb/forms`
- [Create a Form](https://developer.kustomer.com/api/knowledge-base/create-a-form.md): `POST /v1/kb/forms`
- [Get Form by ID](https://developer.kustomer.com/api/knowledge-base/get-form-by-id.md): `GET /v1/kb/forms/{id}`
- [Update Form](https://developer.kustomer.com/api/knowledge-base/update-form.md): `PUT /v1/kb/forms/{id}`
- [Delete Form](https://developer.kustomer.com/api/knowledge-base/delete-form.md): `DELETE /v1/kb/forms/{id}`
- [Get Form by ID (Public)](https://developer.kustomer.com/api/knowledge-base/get-form-by-id-public.md): `GET /p/v3/kb/forms/{id}`

## Knowledge Bases

A knowledge base is one help center site, with its own address, languages, theme and brand. Every org has a default knowledge base, and an org with several brands can add one knowledge base per brand.

- [Create Knowledge Base](https://developer.kustomer.com/api/knowledge-base/create-knowledge-base.md): `POST /v1/kb/knowledge-bases`
- [Get Knowledge Base by ID](https://developer.kustomer.com/api/knowledge-base/get-knowledge-base-by-id.md): `GET /v1/kb/knowledge-bases/{id}`
- [Update Knowledge Base](https://developer.kustomer.com/api/knowledge-base/update-knowledge-base.md): `PATCH /v1/kb/knowledge-bases/{id}`

## Tags (Knowledge Base)

Knowledge base tags are labels you attach to articles, such as "billing" or "mobile app", to group related articles across categories. They are separate from the tags used on conversations.

- [Get tags](https://developer.kustomer.com/api/knowledge-base/get-tags.md): `GET /v3/kb/tags`
- [Create tag](https://developer.kustomer.com/api/knowledge-base/create-tag.md): `POST /v3/kb/tags`
- [Get Tags by ID](https://developer.kustomer.com/api/knowledge-base/get-tags-by-id.md): `GET /v3/kb/tags/{id}`
- [Update Tag by ID.](https://developer.kustomer.com/api/knowledge-base/update-tag-by-id.md): `PATCH /v3/kb/tags/{id}`

## Themes

A theme controls how a help center looks and is laid out, from colors and fonts to the code for each page. Themes keep a history of revisions, so you can edit and preview a draft before you publish it. Templates are the ready-made starting points that new themes are copied from.

- [Get Themes](https://developer.kustomer.com/api/knowledge-base/get-themes.md): `GET /v3/kb/themes`
- [Create a Theme](https://developer.kustomer.com/api/knowledge-base/create-a-theme.md): `POST /v3/kb/themes`
- [Get Themes by ID](https://developer.kustomer.com/api/knowledge-base/get-themes-by-id.md): `GET /v3/kb/themes/{id}`
- [Get Active Theme (Public)](https://developer.kustomer.com/api/knowledge-base/get-active-theme-public.md): `GET /p/v3/kb/themes/active`
- [Get Theme by ID (Public)](https://developer.kustomer.com/api/knowledge-base/get-theme-by-id-public.md): `GET /p/v3/kb/themes/{id}`

## Themes (Drafts and Revisions)

A theme controls how a help center looks and is laid out, from colors and fonts to the code for each page. Themes keep a history of revisions, so you can edit and preview a draft before you publish it. Templates are the ready-made starting points that new themes are copied from.

- [Get Theme Revisions](https://developer.kustomer.com/api/knowledge-base/get-theme-revisions.md): `GET /v3/kb/themes/{themeId}/revisions`
- [Get Theme Revision by ID](https://developer.kustomer.com/api/knowledge-base/get-theme-revision-by-id.md): `GET /v3/kb/themes/{themeId}/revisions/{id}`
- [Create Theme Draft Revision](https://developer.kustomer.com/api/knowledge-base/create-theme-draft-revision.md): `POST /v3/kb/themes/{themeId}/revisions/draft`
- [Update Theme Draft Revision](https://developer.kustomer.com/api/knowledge-base/update-theme-draft-revision.md): `PUT /v3/kb/themes/{themeId}/revisions/draft`
- [Delete Theme Draft Revision](https://developer.kustomer.com/api/knowledge-base/delete-theme-draft-revision.md): `DELETE /v3/kb/themes/{themeId}/revisions/draft`

## Themes (Theme Files)

A theme controls how a help center looks and is laid out, from colors and fonts to the code for each page. Themes keep a history of revisions, so you can edit and preview a draft before you publish it. Templates are the ready-made starting points that new themes are copied from.

- [Get Theme Files by Revision](https://developer.kustomer.com/api/knowledge-base/get-theme-files-by-revision.md): `GET /v3/kb/themes/{themeId}/revisions/{revisionId}/files`
- [Create Revision Theme File](https://developer.kustomer.com/api/knowledge-base/create-revision-theme-file.md): `POST /v3/kb/themes/{themeId}/revisions/{revisionId}/files`
- [Get Theme Files (Public)](https://developer.kustomer.com/api/knowledge-base/get-theme-files-public.md): `GET /p/v3/kb/themes/{id}/files`
- [Get Theme File by Revision](https://developer.kustomer.com/api/knowledge-base/get-theme-file-by-revision.md): `GET /v3/kb/themes/{themeId}/revisions/{revisionId}/files/{id}`
- [Update Revision Theme File](https://developer.kustomer.com/api/knowledge-base/update-revision-theme-file.md): `PUT /v3/kb/themes/{themeId}/revisions/{revisionId}/files/{id}`
- [Delete Revision Theme File](https://developer.kustomer.com/api/knowledge-base/delete-revision-theme-file.md): `DELETE /v3/kb/themes/{themeId}/revisions/{revisionId}/files/{id}`

## Templates

A theme controls how a help center looks and is laid out, from colors and fonts to the code for each page. Themes keep a history of revisions, so you can edit and preview a draft before you publish it. Templates are the ready-made starting points that new themes are copied from.

- [Get Templates](https://developer.kustomer.com/api/knowledge-base/get-templates.md): `GET /v3/kb/templates`
- [Get Templates by ID](https://developer.kustomer.com/api/knowledge-base/get-templates-by-id.md): `GET /v3/kb/templates/{id}`

## Routes

A route maps a URL path on your help center to an article or category, so old and custom links keep working. When a visitor opens a path that matches a route, the help center redirects them to the content's current address.

- [Get Route by URL (Public)](https://developer.kustomer.com/api/knowledge-base/get-route-by-url-public.md): `GET /v1/kb/route`
- [Get Routes](https://developer.kustomer.com/api/knowledge-base/get-routes.md): `GET /v1/kb/routes`
- [Create a Route](https://developer.kustomer.com/api/knowledge-base/create-a-route.md): `POST /v1/kb/routes`
- [Get Routes by Article ID](https://developer.kustomer.com/api/knowledge-base/get-routes-by-article-id.md): `GET /v1/kb/articles/{id}/routes`
- [Get Routes by Category ID](https://developer.kustomer.com/api/knowledge-base/get-routes-by-category-id.md): `GET /v1/kb/categories/{id}/routes`
- [Create a Category Route](https://developer.kustomer.com/api/knowledge-base/create-a-category-route.md): `POST /v1/kb/categories/{id}/routes`
- [Get Route by ID](https://developer.kustomer.com/api/knowledge-base/get-route-by-id.md): `GET /v1/kb/routes/{id}`
- [Update Route](https://developer.kustomer.com/api/knowledge-base/update-route.md): `PUT /v1/kb/routes/{id}`
- [Delete Route by ID](https://developer.kustomer.com/api/knowledge-base/delete-route-by-id.md): `DELETE /v1/kb/routes/{id}`

## Knowledge Bases (Custom Domains)

A knowledge base is one help center site, with its own address, languages, theme and brand. Every org has a default knowledge base, and an org with several brands can add one knowledge base per brand.

- [Get Custom Domain By ID](https://developer.kustomer.com/api/knowledge-base/get-custom-domain-by-id.md): `GET /v1/kb/knowledge-bases/{id}/domains/{domainId}`
- [Get Custom Domains](https://developer.kustomer.com/api/knowledge-base/get-custom-domains.md): `GET /v1/kb/knowledge-bases/{id}/domains`
- [Update Custom Domain](https://developer.kustomer.com/api/knowledge-base/update-custom-domain.md): `PUT /v1/kb/knowledge-bases/{id}/domain/{domainId}`
- [Delete Custom Domain](https://developer.kustomer.com/api/knowledge-base/delete-custom-domain.md): `DELETE /v1/kb/knowledge-bases/{id}/domain/{domainId}`
- [Create Custom Domain](https://developer.kustomer.com/api/knowledge-base/create-custom-domain.md): `POST /v1/kb/knowledge-bases/{id}/domain`
