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.
Name In Type Notes item_idpath string (uuid) required —
Field Type Notes statepending | reviewed | promoted | superseded | retiredrequired — reasonstring | null optional max length 2000
Status Description Body 200Successful Response KnowledgeItemDetail422Validation Error HTTPValidationError
Only the success paths are declared
Any operation may also answer any status in the error catalogue , and
every failure body is the platform envelope — including the 422 this document types
as HTTPValidationError.
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.
curl -X POST https://your-deployment.example.com/knowledge-items/{item_id}/curate \
-H " Authorization: Bearer $COBRE_TOKEN " \
-H " Content-Type: application/json " \
Field Type Notes idstring (uuid) required — kb_idstring (uuid) | null required , nullable— item_scopekb | agent | subject | conversationrequired — kindfact | rule | open_question | hubrequired — titlestring | null required , nullable— contentstring required — curation_statepending | reviewed | promoted | superseded | retiredrequired — importancelow | normal | highrequired — confidencestring | null required , nullable— originhuman | agent | import | derivedrequired — use_countinteger required — last_used_atstring (date-time) | null required , nullable— embedding_modelstring | null required , nullable— is_structuralboolean required — valid_fromstring (date-time) required — valid_untilstring (date-time) | null required , nullable— created_atstring (date-time) required — updated_atstring (date-time) required — agent_idstring (uuid) | null required , nullable— persona_idstring (uuid) | null required , nullable— session_idstring (uuid) | null required , nullable— subject_kinduser | guest | nullrequired , nullable— subject_idstring | null required , nullable— content_hashstring required — tagsstring[] required — attributesobject required — provenanceobject required — curated_atstring (date-time) | null required , nullable— reviewed_atstring (date-time) | null required , nullable— last_maintained_atstring (date-time) | null required , nullable—