Create item
create_itemCreate an item. Ask which sheet first. Pass Name/SKU/Price by display name. Pass Barcode/EAN/GTIN only when the source already has a real GTIN. If you omit it, the server reserves the next code when sequential assignment already works (typically Code 128). On a GS1 sheet, or a text column that already holds EAN-13 values, do not guess: Show choices together. Clickable form if the client supports it. Otherwise one number, only when it cannot show choices. Wait. Do not choose for the user. Do not continue until the user has answered. Do you want barcodes? No, no barcodes now (barcode_mode="none"). Cloudlabels generates EAN-13 (codes starting with 2 are internal store codes, not registered GS1 codes), barcode_mode="cloudlabels_ean13". This call only. Does not change sheet settings. I have my own codes (own GTIN). No option is recommended. A needs_input error lists those options. Cloudlabels can generate EAN-13 only; there is no UPC-A, EAN-8, or Code 128 generator mode. If the organization has opted in to its GS1 company prefix for this column and the sheet standard is EAN-13, UPC-A, or EAN-8, the server reserves the next prefix number before saving and returns barcodeSource gs1_prefix. The cell stores the digit body without the check digit. A full prefix is an error and does not fall back to a random code. The row is not saved if a barcode cannot be reserved. An existing barcode is never replaced. Do not invent a barcode. Do not pass organizationId. Optional idempotency_key. Omit this field when it is not used. Null, an empty string, or only spaces are also treated as omitted. Use a unique value such as a UUID. The same key and the same arguments return the stored result for 24 hours and set idempotent_replay to true. A key still in progress is rejected until the lease expires (15 minutes by default). The same key can also stay reserved until the lease expires (15 minutes by default) after a call failed after writing rows, so check whether those rows were saved before trying again. The same key with different arguments is rejected. A stored result over 200 KB is replaced by a short summary of ids and counts.
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": {
"fields": "<fields>"
},
"name": "create_item"
}
}Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| fields | Yes | ||
| barcode_mode | No | ||
| sheet_number | No | ||
| idempotency_key | No | Optional. Omit this field when it is not used. An empty string is also treated as omitted. Use a unique value such as a UUID when you send one. Same key and same arguments return the stored result for 24 hours in this organization, with idempotent_replay true. A different payload is rejected. |