ItemProperties

Sets several custom-field values of an item at once, by property name.

Requires ManageInventory and an Idempotency-Key header. Same as editing values in the Items page's item modal: a property that came from the Item Template becomes "Customized" (isCustomized) and stops following the template, and each new value flows to every inventory unit whose copy was not individually customized. Values are checked against the property's type and options (Number: decimal like "12.5"; Boolean: "true"/"false"; Date: yyyy-MM-dd; Dropdown: one option; MultiSelect: comma-separated options; "" clears). All or nothing: one unknown name, invalid value, calculated or pricing property refuses the whole request. Calculated values that depend on a changed property are recomputed in the same write, on the item and on its inventory units (as in the modal). Fires item.updated (changedFields``properties, names in changedProperties). Example: { "values": { "Color": "Red", "Length": "12" } }.

patch/api/v1/items/{id}/properties

Request

  • Base URL: https://app.flexonthejob.com
  • URL: https://app.flexonthejob.com/api/v1/items/{id}/properties
  • Auth: HTTP bearer

Path parameters

idinteger required

Numeric item id.

Request body

valuesobject required

Property name (case-insensitive, as name on GET) → new value (string; "" or null clears it). 1-100 entries. Values are checked against the property's dataType and options (see value on GET for the formats).

Response

Values saved; body is the item's properties as GET returns them, propagated = inventory unit copies updated.

itemIdinteger

The item (template) id, e.g. 12.

propagatedinteger

Writes only (0 on GET): how many inventory units' copies of the property were changed by the write (a new value flowing to units that were not individually customized, a new item-level property added to existing units, or the copies removed with a deleted one).

Changes

No recorded changes to this operation across all 1 revision of this API.