object InventoryChange

Fields

FieldTypeDescription
idString

Public API ID for this identifiable.

legacy_idBigInt

For customers that transitioned from static slotting to dynamic slotting, there can be multiple records with the same legacy_id, please use the id field instead.

user_idString

Public API user ID that identifies the related record.

account_idString

Public API account ID that identifies the related record.

warehouse_idString

Public API warehouse ID. Use this when passing or filtering by a warehouse; warehouse fields are display values or nested objects.

skuString

SKU. SKU matching is case-insensitive and ignores surrounding whitespace.

previous_on_handInt

Previous on hand as a numeric value.

change_in_on_handInt

Change in on hand as a numeric value.

reasonString

Human-readable reason for this inventory change.

cycle_countedBoolean

Whether this inventory change came from a cycle count.

location_idString

Public API location ID that identifies the related record.

lot_idString

Public API lot ID that identifies the related record.

lot_nameString

Lot name for this inventory change.

lot_expirationString

Lot expiration for this inventory change.

created_atISODateTime

Created at as an ISO-8601 datetime, returned in UTC unless otherwise noted.

productProduct

Product associated with this inventory change.

locationLocation

Location for this inventory change.

Referenced By

Example

{
  "id": "UmVjb3JkOjEyMzQ=",
  "legacy_id": 1234,
  "user_id": "VXNlcjoxMjM0",
  "account_id": "QWNjb3VudDoxMjM0",
  "warehouse_id": "V2FyZWhvdXNlOjEyMzQ=",
  "sku": "BLUE-TEE-M",
  "previous_on_hand": 2,
  "change_in_on_hand": 2,
  "reason": "Customer requested expedited handling.",
  "cycle_counted": true,
  "location_id": "TG9jYXRpb246MTIzNA==",
  "lot_id": "TG90OjEyMzQ=",
  "lot_name": "LOT-2026-001",
  "lot_expiration": "2026-12-31",
  "created_at": "2026-07-09T15:30:00Z",
  "product": {sku: "BLUE-TEE-M", name: "Blue Tee"},
  "location": {id: "TG9jYXRpb246MTIzNA==", name: "A01-01-01"}
}