You can build your own chat UI to work with the Knowledge Base articles, categories, and more.

## Get and search for articles and categories

You can get the root category for the Knowledge Base.



## Get and search for articles and categories

### Get a category

You can get a category based on the category ID:



### Get an article

You can get an article based on the article ID:



### Search articles

You can search for articles based on a string parameter:



## Extended Knowledge Base article properties and category properties

_These properties are Deprecated & not supported._

You can use the `completeObject()` method on `KUSKBCategory` and `KUSKBArticle` objects to access extended attributes for articles and categories. While the `rawJSON` property is the same, the method does not parse the `rawJSON` property into a dictionary.

To view extended article properties, see [KUSKBArticle](🔗).

To view extended category properties, see [KUSKBCategory](🔗).

### Get all categories in the root with KBProvider

_This method is Deprecated & not supported._

To get all the categories in the root category, use `KBProvider.shared.getEntriesForRoot(completion: { r in`:



To learn more, see [KBProvider](🔗).

### Get articles and categories with KUSKBCategory

_This method is Deprecated & not supported._

To get all the child articles and categories for a given `KUSKBCategory`, use `KBProvider.shared.KBProvider.shared.getEntries(categoryId: "foo", search: "hello", completion: ...`.

To learn more, see [KBProvider](🔗).