# Update Updates fields on an existing item or folder. Only fields you include in the request body are changed. Omitted fields keep their current values. To clear a field, pass it explicitly as null. Returns 204 No Content on success. Endpoint: PUT /api/v1/items/{item_id} Security: BearerAuth ## Path parameters: - `item_id` (string, required) Item ID Example: "1" ## Request fields (application/json): - `name` (string) Name of the item or folder. Max 190 characters. Example: "Standing Desk" - `price` (number,null) Unit price. Example: 599 - `quantity` (number,null) How many you have. For items measured in something other than units, see measured_quantity. Example: 4 - `min_quantity` (number,null) Minimum level. When quantity reaches this, a Quantity alert on the item can notify your team. See [Track Stock Levels](/track-stock-levels). Example: 2 - `notes` (string,null) Free-text notes. - `parent_id` (number,null) ID of the folder this lives in. Pass null (or omit) to place it at the top level. Example: 10 - `type` (string) Whether this is a trackable item or a folder that contains other things. Enum: "item", "folder" - `label_url` (string,null) Value encoded in the item's primary QR code or barcode. Example: "AB123AB45" - `label_url_type` (string,null) Symbology of the linked QR code or barcode. Use com.sortly.sortlyLabel for labels Sortly generates, or com.sortly.textEntry for a manually typed value. Enum: "org.gs1.UPC-E", "org.iso.Code39", "org.iso.Code39Mod43", "org.gs1.EAN-13", "org.gs1.EAN-8", "com.intermec.Code93", "org.iso.Code128", "org.iso.PDF417", "org.iso.Aztec", "org.iso.QRCode", "org.ansi.Interleaved2of5", "org.iso.DataMatrix", "com.sortly.textEntry", null - `label_url_extra` (string,null) Value encoded in the item's secondary QR code or barcode. Example: "9780066620992" - `label_url_extra_type` (string,null) Symbology of the linked QR code or barcode. Use com.sortly.sortlyLabel for labels Sortly generates, or com.sortly.textEntry for a manually typed value. Enum: "org.gs1.UPC-E", "org.iso.Code39", "org.iso.Code39Mod43", "org.gs1.EAN-13", "org.gs1.EAN-8", "com.intermec.Code93", "org.iso.Code128", "org.iso.PDF417", "org.iso.Aztec", "org.iso.QRCode", "org.ansi.Interleaved2of5", "org.iso.DataMatrix", "com.sortly.textEntry", null - `tags` (array) Tags on this item. Tags organize inventory across folders: by brand, colour, condition or status. Accepted on writes and returned on reads. - `tags.name` (string, required) Tag name. Example: "fragile" - `custom_attribute_values` (array) Values for your account's custom fields. Call GET /custom_fields first to get each field's custom_attribute_id. - `custom_attribute_values.value` (string,null) The value to store for this custom field. Send null to clear it. Example: "2026-12-31" - `custom_attribute_values.custom_attribute_id` (number, required) ID of the custom field. Call GET /custom_fields to look these up. Example: 363882 - `custom_attribute_values.scanner_code_type` (string) Symbology for a scanner-type custom field value. Required only when the custom field is of scanner type. Enum: "org.gs1.UPC-E", "org.iso.Code39", "org.iso.Code39Mod43", "org.gs1.EAN-13", "org.gs1.EAN-8", "com.intermec.Code93", "org.iso.Code128", "org.iso.PDF417", "org.iso.Aztec", "org.iso.QRCode", "org.ansi.Interleaved2of5", "org.iso.DataMatrix" - `custom_attribute_values.attribute_value` (string) Legacy alias for value. Still accepted; use value instead. - `photo_ids` (array) IDs of photos that already exist in your account. To upload a new file instead, send it as photos[] with multipart/form-data. - `measured_quantity` (object) Quantity for things you don't count in units: cable by the foot, paint by the gallon, sand by the pound. - `measured_quantity.value` (number) The measured amount. Example: 1.5 - `measured_quantity.type` (string) Which kind of measurement this is. Settable on create only: on an update it is ignored and the item keeps the unit it was created with. Enum: "weight", "length", "volume", "area", "count" - `measured_quantity.name` (string) The unit itself. Valid values depend on type. Weight: lbs, g, kg, oz; length: yd, cm, ft, in, m; volume: gal, ml, l, ft3, in3; area: sq cm, ft2, in2; count: units. Call GET /units for what your account supports. Like type, this is settable on create only. Enum: "lbs", "g", "kg", "oz", "yd", "cm", "ft", "in", "m", "gal", "ml", "l", "ft3", "in3", "ft2", "in2", "units" - `option_value_ids` (array) For a variant item, the option values that identify which combination this is (for example the Black and XL option IDs). Required together with item_group_id. - `item_group_id` (string) The item group this variant belongs to. Required together with option_value_ids. ## Response 400 fields (application/json): - `message` (string) ## Response 401 fields (application/json): - `message` (string) ## Response 404 fields (application/json): - `message` (string) ## Response 429 fields (application/json): - `message` (string)