Skip to content

Curate Knowledge Item

POST /knowledge-items/{item_id}/curate

Move an item through the curation lifecycle (annex 10 §5).

A transition the table forbids is a 409 naming both states, not a silent no-op: the caller asked for something the lifecycle does not permit, and pending -> promoted skipping the review that promotion is measured from is exactly the request that must not quietly succeed.

NameInTypeNotes
item_idpathstring (uuid)required—
FieldTypeNotes
statepending | reviewed | promoted | superseded | retiredrequired—
reasonstring | nulloptionalmax length 2000
StatusDescriptionBody
200Successful ResponseKnowledgeItemDetail
422Validation ErrorHTTPValidationError

The body shows the fields the schema always carries. Which combination is legal is a service rule the schema cannot express, so read the description above before copying this.

Terminal window
curl -X POST https://your-deployment.example.com/knowledge-items/{item_id}/curate \
-H "Authorization: Bearer $COBRE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"state": "pending"
}'
FieldTypeNotes
idstring (uuid)required—
kb_idstring (uuid) | nullrequired, nullable—
item_scopekb | agent | subject | conversationrequired—
kindfact | rule | open_question | hubrequired—
titlestring | nullrequired, nullable—
contentstringrequired—
curation_statepending | reviewed | promoted | superseded | retiredrequired—
importancelow | normal | highrequired—
confidencestring | nullrequired, nullable—
originhuman | agent | import | derivedrequired—
use_countintegerrequired—
last_used_atstring (date-time) | nullrequired, nullable—
embedding_modelstring | nullrequired, nullable—
is_structuralbooleanrequired—
valid_fromstring (date-time)required—
valid_untilstring (date-time) | nullrequired, nullable—
created_atstring (date-time)required—
updated_atstring (date-time)required—
agent_idstring (uuid) | nullrequired, nullable—
persona_idstring (uuid) | nullrequired, nullable—
session_idstring (uuid) | nullrequired, nullable—
subject_kinduser | guest | nullrequired, nullable—
subject_idstring | nullrequired, nullable—
content_hashstringrequired—
tagsstring[]required—
attributesobjectrequired—
provenanceobjectrequired—
curated_atstring (date-time) | nullrequired, nullable—
reviewed_atstring (date-time) | nullrequired, nullable—
last_maintained_atstring (date-time) | nullrequired, nullable—