curl --request PUT \
--url 'https://prod-api.stateset.cloud.stateset.app/api/v1/inventory/{id}' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"description": "Premium Widget - Blue Edition (Updated)",
"expected_version": 5,
"location_id": 1,
"on_hand": 450,
"reason": "Inventory adjustment after cycle count"
}'
{
"data": {
"description": "Premium Widget - Blue Edition",
"inventory_item_id": 12345,
"item_number": "SKU-WIDGET-001",
"locations": [
{
"location_id": 1,
"location_name": "Main Warehouse",
"quantities": {
"allocated": "30",
"available": "270",
"on_hand": "300"
},
"updated_at": "2024-12-09T10:30:00Z",
"version": 5
},
{
"location_id": 2,
"location_name": "Distribution Center East",
"quantities": {
"allocated": "20",
"available": "180",
"on_hand": "200"
},
"updated_at": "2024-12-09T09:15:00Z",
"version": 3
}
],
"organization_id": 1,
"primary_uom_code": "EA",
"quantities": {
"allocated": "50",
"available": "450",
"on_hand": "500"
}
},
"errors": [
"string"
],
"message": "Two-person tent, green — replacement for damaged pole set.",
"meta": {
"request_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"timestamp": "2026-08-31T14:22:05Z"
},
"success": true
}
Update an inventory
Inventory item updated
PUT
/
api
/
v1
/
inventory
/
{id}
curl --request PUT \
--url 'https://prod-api.stateset.cloud.stateset.app/api/v1/inventory/{id}' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"description": "Premium Widget - Blue Edition (Updated)",
"expected_version": 5,
"location_id": 1,
"on_hand": 450,
"reason": "Inventory adjustment after cycle count"
}'
{
"data": {
"description": "Premium Widget - Blue Edition",
"inventory_item_id": 12345,
"item_number": "SKU-WIDGET-001",
"locations": [
{
"location_id": 1,
"location_name": "Main Warehouse",
"quantities": {
"allocated": "30",
"available": "270",
"on_hand": "300"
},
"updated_at": "2024-12-09T10:30:00Z",
"version": 5
},
{
"location_id": 2,
"location_name": "Distribution Center East",
"quantities": {
"allocated": "20",
"available": "180",
"on_hand": "200"
},
"updated_at": "2024-12-09T09:15:00Z",
"version": 3
}
],
"organization_id": 1,
"primary_uom_code": "EA",
"quantities": {
"allocated": "50",
"available": "450",
"on_hand": "500"
}
},
"errors": [
"string"
],
"message": "Two-person tent, green — replacement for damaged pole set.",
"meta": {
"request_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"timestamp": "2026-08-31T14:22:05Z"
},
"success": true
}
Path parameters
string
required
Inventory item id or item number
Request body
UpdateInventoryRequest
string,null
Updated description (max 500 characters)
integer,null (int32)
Expected version for optimistic locking. If provided, update fails if version doesn’t match.
integer (int32)
required
Location ID (must be positive)
integer,null (int64)
New quantity on hand (cannot be negative)
integer,null (int64)
Organization ID (must be positive if provided)
string,null
Updated UOM code (max 20 characters)
string,null
Reason for update (max 200 characters)
Response
ApiResponse_InventoryItem
object
API representation of aggregated inventory for an item.
Show data
Show data
string,null
Item description
integer (int64)
required
Internal inventory item ID
string
required
SKU or item number
InventoryLocation[]
required
Inventory breakdown by location
Show InventoryLocation
Show InventoryLocation
integer (int32)
required
Location identifier
string,null
Human-readable location name
InventoryQuantities
required
Quantities at this location
string
required
Last update timestamp (RFC3339)
integer (int32)
required
Version number for optimistic locking. Include this in update requests to prevent lost updates.
integer (int64)
required
Organization ID
string,null
Unit of measure code
array,null
string,null
boolean
required
Status codes
| Code | Meaning |
|---|---|
200 | Inventory item updated |
curl --request PUT \
--url 'https://prod-api.stateset.cloud.stateset.app/api/v1/inventory/{id}' \
--header 'Authorization: Bearer YOUR_API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"description": "Premium Widget - Blue Edition (Updated)",
"expected_version": 5,
"location_id": 1,
"on_hand": 450,
"reason": "Inventory adjustment after cycle count"
}'
{
"data": {
"description": "Premium Widget - Blue Edition",
"inventory_item_id": 12345,
"item_number": "SKU-WIDGET-001",
"locations": [
{
"location_id": 1,
"location_name": "Main Warehouse",
"quantities": {
"allocated": "30",
"available": "270",
"on_hand": "300"
},
"updated_at": "2024-12-09T10:30:00Z",
"version": 5
},
{
"location_id": 2,
"location_name": "Distribution Center East",
"quantities": {
"allocated": "20",
"available": "180",
"on_hand": "200"
},
"updated_at": "2024-12-09T09:15:00Z",
"version": 3
}
],
"organization_id": 1,
"primary_uom_code": "EA",
"quantities": {
"allocated": "50",
"available": "450",
"on_hand": "500"
}
},
"errors": [
"string"
],
"message": "Two-person tent, green — replacement for damaged pole set.",
"meta": {
"request_id": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
"timestamp": "2026-08-31T14:22:05Z"
},
"success": true
}
Last modified on August 31, 2026