Skip to main content

Item

An item represents a raw material, ingredient, packaging material, or other purchasable input used in production.

idstring

Unique identifier for the item.

Example: 2087
inventoryCodestring

Human-readable tracking code assigned by Keychain OS (e.g., INV-000312). This code is displayed throughout the app and on printed labels.

Example: INV-000312
namestring

Display name of the item.

Example: Organic Tahini
itemTypestring

Classification of the item. Common values include raw_material, packaging, finished_good, and wip (work-in-progress).

Example: raw_material
categorystring

Grouping category for the item, defined by your organization (e.g., "Pastes", "Sweeteners", "Bottles").

Example: Pastes
defaultUnitstring

The standard unit of measure for this item. All quantities default to this unit unless overridden.

Example: lbs
unitPricenumber

Default unit price for this item. This is a reference price — actual purchase prices may vary by vendor and PO.

Example: 3.25
recommendedRetailPricenumber

Suggested retail price for finished goods. Null for raw materials and packaging.

minimumOrderQuantitynumber

Default minimum order quantity across all vendors. Individual vendors may have their own MOQ, which is available on the vendor-item mapping.

Example: 100
perishableboolean

Whether this item has a limited shelf life. Perishable items are automatically allocated using FEFO (First Expired, First Out) instead of FIFO.

Example: true
storageRequirementstring

Storage instructions for this item (e.g., "Cool, dry place", "Refrigerate below 40F").

Example: Refrigerate below 40°F
shelfLifeDaysinteger

Default shelf life in days from the date of manufacture or receipt. Used to calculate expiry dates on inventory lots.

Example: 180
allergensstring[]

List of allergens present in this item (e.g., "gluten", "dairy", "soy"). Empty array if none.

Example: []
tagsstring[]

User-defined tags for organizing and filtering items.

itemKindsstring[]

Additional classification labels for this item (e.g., "organic", "non-gmo").

clientProductIdstring

An external product ID mapped from a third-party system (e.g., your accounting software or vendor catalog).

customFields object

User-defined custom fields as key/value pairs. Structure varies by organization. Use this to store additional metadata that doesn't fit standard fields.

property name*any

User-defined custom fields as key/value pairs. Structure varies by organization. Use this to store additional metadata that doesn't fit standard fields.

statusstring

Whether this item is currently active. Inactive items are hidden from selection in the app but remain accessible via the API for historical records.

Possible values: [active, inactive]

Example: active
Item
{
"id": "2087",
"inventoryCode": "INV-000312",
"name": "Organic Tahini",
"itemType": "raw_material",
"category": "Pastes",
"defaultUnit": "lbs",
"unitPrice": 3.25,
"recommendedRetailPrice": 0,
"minimumOrderQuantity": 100,
"perishable": true,
"storageRequirement": "Refrigerate below 40°F",
"shelfLifeDays": 180,
"allergens": [],
"tags": [
"string"
],
"itemKinds": [
"string"
],
"clientProductId": "string",
"customFields": {},
"status": "active"
}