question_bank_item_update
Replaces the content of ONE existing question/item of a question bank entirely - not a merge: blockType, category, difficulty and columns must all be sent even when unchanged, and a column or value left out is gone from the draft. blockType is immutable: a different value is rejected rather than retyping the item (delete it with question_bank_item_delete and add a new one instead). Read the item with question_bank_get_items first and send it back with its value ids intact. The change lands in the bank's DRAFT - question_bank_publish makes it live, question_bank_discard_changes throws every unpublished change away again. "hasChanges" in the response says whether the bank now has unpublished changes. Rejected for a public template id. Needs full access: riddle://reference/concepts/access.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| columns | Yes | The question content, as {columnName: [values]}. This replaces the content entirely rather than merging: send every column, and hand question_bank_get_items output straight back with its {"id", "value"} objects intact - keeping those ids is what edits the stored values instead of replacing them with a fresh set. | |
| category | Yes | The item's category - free text, used to filter what a QuestionBank block draws. | |
| blockType | Yes | The item's current block type, sent back unchanged (question_bank_get_items returns it). Immutable: a different value is rejected. | |
| difficulty | Yes | The item's difficulty, 1-10 - also used to filter what a QuestionBank block draws. | |
| questionBankId | Yes | The ID of the question bank the item belongs to. | |
| questionBankItemId | Yes | The ID of the item to update, as returned by question_bank_item_add/question_bank_get_items. |