Knowledge Bank / REFERENCE
Update a knowledge article
Create or partially update a draft. At least one title is required; edits require the current revision. Content HTML is sanitized. Status changes use explicit lifecycle endpoints.
PATCH
/api/v1/kb/articles/{id}Permissions kb:write
Parameters
| Name | Description |
|---|---|
X-Luma-Workspace-Hostheader · required | Your workspace host, e.g. acme.lumi-cx.com. Required on api.lumi-cx.com. This header never grants access: the Bearer key must belong to the selected workspace. |
idpath · required | Record identifier in this workspace. |
Request body
| Field | Type & description |
|---|---|
categoryId | string | null |
titleEn | string |
titleAr | string |
summaryEn | string |
summaryAr | string |
contentBlocksEn | array |
contentBlocksAr | array |
active | boolean |
revisionrequired | integer Required for edits; use the latest revision returned by GET. |
Responses
200 Successful operation
{
"ok": true,
"article": {
"categoryId": "00000000-0000-4000-8000-000000000001",
"titleEn": "example",
"titleAr": "example",
"summaryEn": "example",
"summaryAr": "example",
"contentBlocksEn": [
{
"type": "paragraph",
"text": "Follow these steps to get started."
}
],
"contentBlocksAr": [
{
"type": "paragraph",
"text": "Follow these steps to get started."
}
],
"active": false,
"revision": 1,
"id": "00000000-0000-4000-8000-000000000001",
"status": "draft",
"contentBlocks": [
{
"type": "paragraph",
"text": "Follow these steps to get started."
}
],
"createdBy": "example",
"updatedBy": "example",
"publishedAt": "2026-09-26T09:00:00Z",
"updatedAt": "2026-09-26T09:00:00Z",
"openCount30d": 1,
"openCountAll": 1
}
}400 Invalid request
{
"ok": false,
"error": "invalid_body",
"message": "example"
}401 Missing, invalid, expired, revoked or wrong-workspace key
{
"ok": false,
"error": "invalid_body",
"message": "example"
}403 Required key permission missing, module unavailable, or workspace suspended
{
"ok": false,
"error": "invalid_body",
"message": "example"
}404 Record, workspace or route not found
{
"ok": false,
"error": "invalid_body",
"message": "example"
}409 Version changed or the resource is locked
{
"ok": false,
"error": "invalid_body",
"message": "example"
}429 Rate limit exceeded; respect Retry-After
{
"ok": false,
"error": "invalid_body",
"message": "example"
}502 Upstream or unexpected server error
{
"ok": false,
"error": "invalid_body",
"message": "example"
}