Wiki knowledge source
Create knowledgeSource
POST /knowledgeSource
POST /knowledgeSource
Request body
idintegerbodyInternal id, e.g. 123
typeenumbodyDefault: faqType of knowledge source Options: faq, work-instruction, document, other, news, website
statusenumbodyDefault: activeStatus of the knowledge source Options: active, archived, deleted
sourcestringbodyURL to associated source. null for sources with internal ids (tickets and templates) or if non-existant (language model source)
namestringbodyName of knowledge source, any requests with existing name will update the existing knowledge source
tagsinteger[]bodyTags that are assigned to this knowledge source
teamsinteger[]bodyTeams that restrict access to this knowledge source. When set, only agents whose active team memberships intersect this list can see the article. Applies to all types. An empty array (or omitting the field) means no restriction — all agents see it. On update, sending teams replaces the full set; omitting teams leaves the existing set unchanged.
readByAgentsobject[]bodyAgents that have read the knowledge source
titlestringbodyTitle of knowledge source
textstringbodyFull text that was used as source
confidentialbooleanbodyDefault: falseIf true, then this knowledge source is only visible to agents
excludedbooleanbodyDefault: falseFor website-type pages only — true if the page URL matches the parent connector's
sourceConfig.excludePaths. Excluded pages are filtered out of GET /knowledgeSource
(bulk list) and return 404 from GET /knowledgeSource/{id} so Cortex sync stays consistent.
The configuration view (which calls /knowledgeSourceStructure?withExcluded=true)
sees them with this flag set so it can render the "Excluded" tag and the Include action.
accessobjectbodyTeam-ACL "access hole" indicator. Present only when this node has a problem or contains one;
omitted entirely when the node is clean. A hole = the node declares team(s) that an ancestor
folder forbids — because visibility is narrowing-only (reachable only by users who pass every
restricted ancestor AND the node's own restriction), the access the editor granted does not
actually work. To learn what is wrong, open the item and read its real teams.
Request Example
{
"id": 123,
"type": "faq",
"status": "active",
"source": "https://company.com/faq/376189",
"name": "Opening hours",
"tags": [
70,
71
],
"teams": [
1,
2
],
"readByAgents": [
{
"id": 1,
"name": "John Doe",
"readAt": "2024-11-29 14:38:12"
}
],
"title": "Opening hours",
"text": "Our service hours are from 8am to 5pm. We are closed on weekends. [...]",
"confidential": false,
"excluded": false,
"access": {
"blocked": true,
"blockedItems": [
{
"id": 42,
"kind": "article"
},
{
"id": 57,
"kind": "folder"
}
]
}
}Responses
200 — Successful operation
500 — Internal error