Knowledge bases
Get one
Returns one knowledge base article, or 404 when it does not exist or the calling User has no group access to it.
Reading an article is not free of side effects: it also raises the article's view counter, at most once per User and article per 12 hours.
GET
/api/{tenant:minlength(2)}/v{version:apiVersion}/knowledge_bases/{id}
- Authorisation
- Minimum role: USER
Request arguments
Request body example
Response
- Status
- 200 (OK)
- Type
- DTO_knowledge_base
- Wrapper
- DTO_response_wrap
- Other statuses
- 400 (BadRequest), 403 (Forbidden)
Response body example
DTO_knowledge_base
| Name | Type | ReadOnly | Description |
| created_by | DTO_reference_user | ReadOnly | Null when the article was not created by a User in the workspace |
| last_updated_by | DTO_reference_user | ReadOnly | Null until the article has been updated at least once after it was created |
| category | DTO_reference | | Category the article belongs to, where the default category of the workspace is used when no category is sent |
| group_access | DTO_group_access[] | | Groups that may read or edit the article, where at least one entry with EDIT permission is required |
| sys_tags | DTO_reference[] | | Label can be used on POST/PUT to create new tags |
| sys_attachments | DTO_reference_attachment[] | | Files attached to the article, referenced by the ids of files already uploaded to the workspace |
| id | Int32 | ReadOnly | Assigned by the server, and must be left empty when creating an article |
| unique_key | String | | Lowercase url safe key identifying the article inside the workspace, between 2 and 30 characters, built from sys_subject when left empty |
| created | DateTime | ReadOnly | Set by the server in UTC when the article is first stored |
| last_updated | DateTime | ReadOnly | Set by the server in UTC every time the article is changed |
| sys_subject | String | | Title of the article, required on both create and update |
| sys_content_rich | DTO_rich_text | | Body of the article as rich text, where either this or sys_content_rich_draft must have content unless the article is created from a file |
| sys_content_rich_draft | DTO_rich_text | | Work in progress copy of the body, stored and returned as sent and never merged into sys_content_rich by the server |
| published | Boolean | | Published |
| view_count | Int32 | | Raised by the server the first time a User opens the article (at most once per User and article every 12 hours), and overwritten by any value sent on create or update |
| rate_up_count | Int32 | | Number of positive ratings, maintained by the rate endpoint where each User counts once and changing an existing rating moves the count to rate_down_count |
| rate_down_count | Int32 | | Number of negative ratings, maintained by the rate endpoint in the same way as rate_up_count |
| privacy | ENUM privacy | | Required on create and update, since the server rejects an article where privacy is left unset |
| highest_group_permission | ENUM group_permission | ReadOnly | Current users highest group permission |
DTO_reference_user
| Name | Type | ReadOnly | Description |
| profile_pic | String | ReadOnly | Profile pic |
| email | String | ReadOnly | Email |
| id | Int32 | | Id |
| label | Object | ReadOnly | Label |
DTO_reference
| Name | Type | ReadOnly | Description |
| id | Int32 | | The id of the reference |
| label | Object | ReadOnly | Name/Label from referenced object. |
DTO_group_access
| Name | Type | ReadOnly | Description |
| permission | ENUM group_permission | | Permission |
| id | Int32 | | Id |
| label | Object | ReadOnly | Label |
DTO_reference_attachment
| Name | Type | ReadOnly | Description |
| size_kb | Int32 | ReadOnly | Size kb |
| status | ENUM attachment_status | ReadOnly | Status |
| status_message | String | ReadOnly | Status message |
| download_url | String | ReadOnly | Download url |
| id | Int32 | | Id |
| label | Object | ReadOnly | Label |
DTO_rich_text
| Name | Type | ReadOnly | Description |
| plain_preview | String | ReadOnly | Plain preview |
| html | String | | Html |
| editorjs | DTO_editorjs | | Editorjs |
| tiptap | DTO_tiptap | | Tiptap |
| read_minutes | Int32 | | Read minutes |
DTO_editorjs
| Name | Type | ReadOnly | Description |
| time | Int64 | | Time |
| version | String | | Version |
| blocks | DTO_editorjs_block[] | | Blocks |
DTO_editorjs_block
| Name | Type | ReadOnly | Description |
| id | String | | Id |
| type | String | | Type |
| data | Object | | Data |
DTO_tiptap_attrs
| Name | Type | ReadOnly | Description |
| textAlign | String | | Textalign |
| level | Int32 (nullable) | | Level |
| checked | Boolean (nullable) | | Checked |
| id | Int32 (nullable) | | Id |
| alt | String | | Alt |
| title | String | | Title |
| width | String | | Width |
| wrapperStyle | String | | Wrapperstyle |
| files | DTO_tiptap_file_ref[] | | Files |
| href | String | | Href |
| target | String | | Target |
| colspan | Int32 (nullable) | | Colspan |
| rowspan | Int32 (nullable) | | Rowspan |
| color | String | | Color |
| text | String | | Text |
| name | String | | For emoji |
| native | String | | For emoji |
DTO_tiptap_file_ref
| Name | Type | ReadOnly | Description |
| id | Int32 | | Id |
| label | String | | Label |
ENUM group_permission
| Value | Name | Description |
| 0 | UNKNOWN | UNKNOWN |
| 1 | READ | Read only |
| 2 | EDIT | Edit |
| 3 | FULL | Full |
ENUM attachment_status
| Value | Name | Description |
| 0 | UNKNOWN | UNKNOWN |
| 1 | UNAVAILABLE | UNAVAILABLE, processing in progress |
| 2 | OK | OK |
| 3 | WARNING | WARNING |
| 4 | ERROR | ERROR |
ENUM privacy
| Value | Name | Description |
| 0 | UNKNOWN | UNKNOWN |
| 1 | PRIVATE | PRIVATE |
| 2 | PUBLIC | PUBLIC |
Generated Aug 4, 2026 18:37