Bulk update items
bulk_update_itemsUpdate up to 1000 existing items on one sheet. Each row is item_id plus fields, same field rules as update_item, including barcode checks. Item ids are trimmed and compared in lowercase, and each returned item_id is lowercase. This tool does not accept barcode_mode. An empty barcode is assigned when sequential assignment already works, Cloudlabels EAN-13 is on, or the GS1 prefix allocator is on. When assignment is refused, that row stays empty with barcodeSource unchanged and a barcode_note, and that row is still updated. Every row is checked before anything is written. Duplicate item ids, the same new barcode on more than one row, an id that is not in this organization, or invalid field values fail the whole batch and nothing is written. The same new barcode is compared after trim and ignores letter case, because stored barcodes are unique that way. Those rows are failed and the other rows are skipped. nothing_written is a best effort. It is true when no returned row has status updated, including when validation fails or the first save fails before any row is stored. A failed row on a save error can still be partly stored, for example when the row is written and a later step throws. Verify with get_item after a failure. nothing_written false means at least one returned row has status updated. A database constraint or an automatic barcode assignment collision can still fail one row while saving, after earlier rows are already saved. There is no database transaction for these updates. If a row fails while saving, earlier rows stay updated, that row is failed with a short reason, and later rows are skipped. Sending the same values again is safe: rows that already have those values are written again. The result lists every row as updated, failed, or skipped, with updated_count, failed_count, and skipped_count. It does not return count or error.
Tool call template
Replace each placeholder with a value matching the input schema. Only required parameters are included; add optional parameters as needed.
{
"id": 1,
"jsonrpc": "2.0",
"method": "tools/call",
"params": {
"arguments": {
"items": "<items>"
},
"name": "bulk_update_items"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| items | Yes | ||
| sheet_number | No |