Skip to content

Update Knowledge Base

PATCH /knowledge-bases/{kb_id}

Rename, retag, reconfigure consolidation — and freeze.

Freezing is a field rather than a verb because it is a state every write path reads, including merge and reset (§14). A POST /freeze beside a PATCH that also carries is_frozen would be two ways to say one thing, and only one of them would be in the audit trail an operator reads afterwards.

embedding_model is accepted and refused with an explanation when the base holds items (RULE KB-1, D-646). Omitting the field from the schema would produce “unknown field”, which teaches nobody about reembed_into_new_kb.

NameInTypeNotes
kb_idpathstring (uuid)required—
FieldTypeNotes
namestring | nulloptionalmin length 1 max length 200
kindstring | nulloptionalmin length 1 max length 60
is_frozenboolean | nulloptional—
consolidationobject | nulloptional—
embedding_modelstring | nulloptionalmax length 120
embedding_diminteger | nulloptional—
StatusDescriptionBody
200Successful ResponseKnowledgeBaseView
422Validation ErrorHTTPValidationError
Terminal window
curl -X PATCH https://your-deployment.example.com/knowledge-bases/{kb_id} \
-H "Authorization: Bearer $COBRE_TOKEN"
FieldTypeNotes
idstring (uuid)required—
slugstringrequired—
namestringrequired—
scopeworkspace | organization | platformrequired—
kindstringrequired—
owner_agent_idstring (uuid) | nullrequired, nullable—
owner_persona_idstring (uuid) | nullrequired, nullable—
is_privatebooleanrequired—
is_frozenbooleanrequired—
embedding_modelstringrequired—
embedding_dimintegerrequired—
item_countintegerrequired—
subject_kinduser | guest | nullrequired, nullable—
subject_idstring | nullrequired, nullable—
last_consolidated_atstring (date-time) | nulloptional—
curation_countsobject | nulloptional—
created_atstring (date-time)required—
updated_atstring (date-time)required—