Skip to content

Bulk Curate Knowledge Items

POST /knowledge-bases/{kb_id}/items/curate

curate for a page of one base: one verdict per id, never all-or-nothing (D-5533).

The same floor as the one-item route, because it is the same act repeated. 200 with a verdict per id rather than a 409 for the batch: one item the transition table refuses should not hold back the rest of the review queue. The base itself is a 404 when the caller cannot see it, before any item is read.

NameInTypeNotes
kb_idpathstring (uuid)required—
FieldTypeNotes
item_idsstring (uuid)[]required—
statepending | reviewed | promoted | superseded | retiredrequired—
reasonstring | nulloptionalmax length 2000
StatusDescriptionBody
200Successful ResponseKnowledgeItemBulkCurateResult
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-bases/{kb_id}/items/curate \
-H "Authorization: Bearer $COBRE_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"item_ids": [
"0190a2f4-0000-7000-8000-000000000000"
],
"state": "pending"
}'

Response — KnowledgeItemBulkCurateResult

Section titled “Response — KnowledgeItemBulkCurateResult”
FieldTypeNotes
resultsKnowledgeItemCurateOutcome[]required—
curatedintegerrequired—
rejectedintegerrequired—