Inventory
Inventory endpoints provide summary and item-level views of stock in a warehouse, along with adjustment operations for correcting item attributes and metrics.
Endpoints Overview
| Method | Endpoint | Description |
|---|---|---|
GET |
/v1/inventory |
Get a page of inventory grouped by logistic unit and product |
GET |
/v1/inventory-items |
Get a page of inventory items across warehouses and products |
GET |
/v1/inventory/{warehouseProductId}/items |
Get a page of inventory product items for one warehouse product |
POST |
/v1/inventory-items/{warehouseProductItemId}/adjust-attributes |
Move quantity to a new attribute or date profile |
POST |
/v1/inventory-items/{warehouseProductItemId}/adjust-metrics |
Correct quantity, volume, or weight for an item |
Notes
PageIndexis zero-based for the inventory endpoints.PageIndex=0requests the first page.
The default
PageSizeis50. The maximumPageSizeis500.
Get a Page of Inventory
Retrieve a paginated summary of inventory grouped by logistic unit and product.
Endpoint: GET /v1/inventory
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
PageIndex |
integer | No | Zero-based page index. Default is 0. |
PageSize |
integer | No | Items per page. Default is 50; maximum is 500. |
SearchText |
string | No | Filter by reference number or product description text. |
PartnerId |
uuid | No | Filter by partner ID. |
PartnerProductId |
uuid | No | Filter by partner product ID. |
WarehouseId |
uuid | No | Filter by warehouse ID. |
WarehouseZoneId |
uuid | No | Filter by warehouse zone ID. |
WarehouseLocationId |
uuid | No | Filter by warehouse location ID. |
IncludeDepleted |
boolean | No | Include depleted inventory rows. Default is false. |
DgHazardClassId |
uuid | No | Filter by dangerous goods hazard class ID. |
DgHazardCategoryId |
uuid | No | Filter by dangerous goods hazard category ID. |
Request Example
curl -X GET "https://api.consignlyhq.com/v1/inventory?PageIndex=0&PageSize=50&WarehouseId=550e8400-e29b-41d4-a716-446655440000&IncludeDepleted=false" \
-H "Authorization: Bearer ACCESS_TOKEN"
Response Shape
The response is an InventoryPageModel:
{
"index": 0,
"total": 250,
"inventory": [
{
"logisticUnit": {
"warehouseLogisticUnitId": "550e8400-e29b-41d4-a716-446655441000",
"partnerId": "550e8400-e29b-41d4-a716-446655441001",
"partnerName": "Example Client Ltd",
"logisticUnitNumber": "LU-001",
"referenceNumber": "REF-001",
"ssccNumber": "123456789012345678",
"warehouseLocationId": "550e8400-e29b-41d4-a716-446655441002",
"warehouseLocationName": "A-01-01",
"warehouseLocationType": 1,
"warehouseId": "550e8400-e29b-41d4-a716-446655441003",
"warehouseName": "Main Warehouse",
"availableQuantity": 100,
"availableVolumeM3": 2.5,
"availableWeightKG": 500,
"onHandQuantity": 100,
"onHandVolumeM3": 2.5,
"onHandWeightKG": 500
},
"products": [
{
"warehouseProductId": "550e8400-e29b-41d4-a716-446655441010",
"partnerId": "550e8400-e29b-41d4-a716-446655441001",
"partnerName": "Example Client Ltd",
"partnerProductId": "550e8400-e29b-41d4-a716-446655441011",
"partnerProductCode": "PROD-A",
"partnerProductName": "Product A",
"isSerialRequired": false,
"serialTrackingMode": 1,
"isDangerousGood": false,
"batch": "BATCH-2024-001",
"bestBeforeDate": "2025-06-30T00:00:00Z",
"expiryDate": "2025-12-31T00:00:00Z",
"packagingDate": null,
"productionDate": null,
"sellByDate": null,
"attributes": [],
"warehouseLocationId": "550e8400-e29b-41d4-a716-446655441002",
"warehouseLocationName": "A-01-01",
"warehouseLocationType": 1,
"warehouseId": "550e8400-e29b-41d4-a716-446655441003",
"warehouseName": "Main Warehouse",
"availableQuantity": 100,
"availableVolumeM3": 2.5,
"availableWeightKG": 500,
"onHandQuantity": 100,
"onHandVolumeM3": 2.5,
"onHandWeightKG": 500
}
]
}
]
}
Top-Level Response Fields
| Field | Type | Description |
|---|---|---|
index |
integer | Current zero-based page index. |
total |
integer | Total records matching the filter. |
inventory |
array | Inventory groups returned for the page. |
Logistic Unit Fields
| Field | Type | Description |
|---|---|---|
warehouseLogisticUnitId |
uuid | Warehouse logistic unit ID. |
partnerId |
uuid | Partner ID. |
partnerName |
string | Partner name. |
logisticUnitNumber |
string | Logistic unit number. |
referenceNumber |
string | Logistic unit reference number. |
ssccNumber |
string | SSCC number. |
warehouseLocationId |
uuid | Warehouse location ID. |
warehouseLocationName |
string | Warehouse location name. |
warehouseLocationType |
integer | Warehouse location type enum value. |
warehouseId |
uuid | Warehouse ID. |
warehouseName |
string | Warehouse name. |
availableQuantity |
number | Quantity available for allocation. |
availableVolumeM3 |
number | Available volume in cubic metres. |
availableWeightKG |
number | Available weight in kilograms. |
onHandQuantity |
number | Physical quantity on hand. |
onHandVolumeM3 |
number | Physical volume on hand in cubic metres. |
onHandWeightKG |
number | Physical weight on hand in kilograms. |
Product Fields
| Field | Type | Description |
|---|---|---|
warehouseProductId |
uuid | Warehouse product ID. |
partnerId |
uuid | Partner ID. |
partnerName |
string | Partner name. |
partnerProductId |
uuid | Partner product ID. |
partnerProductCode |
string | Partner product code. |
partnerProductName |
string | Partner product name. |
isSerialRequired |
boolean | true when the product uses full-capture serial tracking. |
serialTrackingMode |
integer | Serial tracking mode enum value. |
isDangerousGood |
boolean | Indicates whether the product is classified as a dangerous good. |
dgUnNumber |
integer | Dangerous goods UN number, if present. |
dgHazchemFireCode |
integer | Dangerous goods fire code enum value, if present. |
dgHazchemSafetyCode |
integer | Dangerous goods safety code enum value, if present. |
dgHazchemEvacuate |
boolean | Dangerous goods evacuation flag, if present. |
batch |
string | Batch value. |
bestBeforeDate |
date-time | Best before date, if present. |
expiryDate |
date-time | Expiry date, if present. |
packagingDate |
date-time | Packaging date, if present. |
productionDate |
date-time | Production date, if present. |
sellByDate |
date-time | Sell-by date, if present. |
attributes |
array | Product attribute values. |
warehouseLocationId |
uuid | Warehouse location ID. |
warehouseLocationName |
string | Warehouse location name. |
warehouseLocationType |
integer | Warehouse location type enum value. |
warehouseId |
uuid | Warehouse ID. |
warehouseName |
string | Warehouse name. |
availableQuantity |
number | Quantity available for allocation. |
availableVolumeM3 |
number | Available volume in cubic metres. |
availableWeightKG |
number | Available weight in kilograms. |
onHandQuantity |
number | Physical quantity on hand. |
onHandVolumeM3 |
number | Physical volume on hand in cubic metres. |
onHandWeightKG |
number | Physical weight on hand in kilograms. |
Get a Page of Inventory Items
Retrieve a paginated list of inventory items across products and locations.
Endpoint: GET /v1/inventory-items
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
PageIndex |
integer | No | Zero-based page index. Default is 0. |
PageSize |
integer | No | Items per page. Default is 50; maximum is 500. |
Serials |
string | No | Comma-separated list of exact serial values. |
PartnerId |
uuid | No | Filter by partner ID. |
PartnerProductId |
uuid | No | Filter by partner product ID. |
WarehouseId |
uuid | No | Filter by warehouse ID. |
WarehouseProductId |
uuid | No | Filter by warehouse product ID. |
WarehouseZoneId |
uuid | No | Filter by warehouse zone ID. |
WarehouseLocationId |
uuid | No | Filter by warehouse location ID. |
PalletReferenceNumber |
string | No | Filter by logistic unit reference number. |
ProductAttributeId |
uuid | No | Filter by product attribute ID. |
Batch |
string | No | Filter by batch value. |
Request Example
curl -X GET "https://api.consignlyhq.com/v1/inventory-items?PageIndex=0&PageSize=50&WarehouseId=550e8400-e29b-41d4-a716-446655440000&Serials=S1001,S1002" \
-H "Authorization: Bearer ACCESS_TOKEN"
Response Shape
The response is an InventoryItemPageModel:
{
"index": 0,
"total": 2,
"items": [
{
"warehouseProductItemId": "550e8400-e29b-41d4-a716-446655441100",
"warehouseProductId": "550e8400-e29b-41d4-a716-446655441010",
"partnerId": "550e8400-e29b-41d4-a716-446655441001",
"partnerProductId": "550e8400-e29b-41d4-a716-446655441011",
"partnerProductCode": "PROD-A",
"partnerProductName": "Product A",
"serial": "SN-2024-001",
"isSerialRequired": true,
"serialTrackingMode": 2,
"batch": "BATCH-2024-001",
"availableQuantity": 1,
"availableVolumeM3": 0.025,
"availableWeightKG": 5,
"onHandQuantity": 1,
"onHandVolumeM3": 0.025,
"onHandWeightKG": 5,
"warehouseLocationId": "550e8400-e29b-41d4-a716-446655441002",
"warehouseLocationName": "A-01-01",
"warehouseLocationType": 1,
"logisticUnitNumber": "LU-001",
"logisticUnitReferenceNumber": "REF-001",
"logisticUnitSsccNumber": "123456789012345678",
"receivedUtc": "2024-05-01T09:30:00Z",
"attributes": [],
"dangerousGood": null
}
]
}
Item Response Fields
| Field | Type | Description |
|---|---|---|
warehouseProductItemId |
uuid | Warehouse product item ID. |
warehouseProductId |
uuid | Warehouse product ID. |
partnerId |
uuid | Partner ID. |
partnerProductId |
uuid | Partner product ID. |
partnerProductCode |
string | Partner product code. |
partnerProductName |
string | Partner product name. |
serial |
string | Serial number, if present. |
isSerialRequired |
boolean | true when the item belongs to a full-capture serial-tracked product. |
serialTrackingMode |
integer | Serial tracking mode enum value. |
batch |
string | Batch value, if present. |
bestBeforeDate |
date-time | Best before date, if present. |
expiryDate |
date-time | Expiry date, if present. |
packagingDate |
date-time | Packaging date, if present. |
productionDate |
date-time | Production date, if present. |
sellByDate |
date-time | Sell-by date, if present. |
availableQuantity |
number | Quantity available for allocation. |
availableVolumeM3 |
number | Available volume in cubic metres. |
availableWeightKG |
number | Available weight in kilograms. |
onHandQuantity |
number | Physical quantity on hand. |
onHandVolumeM3 |
number | Physical volume on hand in cubic metres. |
onHandWeightKG |
number | Physical weight on hand in kilograms. |
warehouseLocationId |
uuid | Warehouse location ID. |
warehouseLocationName |
string | Warehouse location name. |
warehouseLocationType |
integer | Warehouse location type enum value. |
logisticUnitNumber |
string | Logistic unit number, if present. |
logisticUnitReferenceNumber |
string | Logistic unit reference number, if present. |
logisticUnitSsccNumber |
string | Logistic unit SSCC, if present. |
receivedUtc |
date-time | UTC timestamp when the item was received. |
attributes |
array | Product attribute values for the item. |
dangerousGood |
object | Dangerous goods details, if the item is classified as dangerous goods. |
Get a Page of Inventory Product Items
Retrieve item-level details for a specific warehouse product.
Endpoint: GET /v1/inventory/{warehouseProductId}/items
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
warehouseProductId |
uuid | Yes | Warehouse product ID. |
Query Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
PageIndex |
integer | No | Zero-based page index. Default is 0. |
PageSize |
integer | No | Items per page. Default is 50; maximum is 500. |
Request Example
curl -X GET "https://api.consignlyhq.com/v1/inventory/550e8400-e29b-41d4-a716-446655441010/items?PageIndex=0&PageSize=50" \
-H "Authorization: Bearer ACCESS_TOKEN"
Response Shape
The response is an InventoryProductItemPageModel:
{
"index": 0,
"total": 100,
"items": [
{
"warehouseProductItemId": "550e8400-e29b-41d4-a716-446655441100",
"serial": "SN-2024-001",
"availableQuantity": 1,
"availableVolumeM3": 0.025,
"availableWeightKG": 5,
"transferableQuantity": 1,
"transferableVolumeM3": 0.025,
"transferableWeightKG": 5,
"onHandQuantity": 1,
"onHandVolumeM3": 0.025,
"onHandWeightKG": 5
}
]
}
Response Fields
| Field | Type | Description |
|---|---|---|
warehouseProductItemId |
uuid | Warehouse product item ID. |
serial |
string | Serial number, if present. |
availableQuantity |
number | Quantity available for allocation. |
availableVolumeM3 |
number | Available volume in cubic metres. |
availableWeightKG |
number | Available weight in kilograms. |
transferableQuantity |
number | Quantity currently transferable. |
transferableVolumeM3 |
number | Transferable volume in cubic metres. |
transferableWeightKG |
number | Transferable weight in kilograms. |
onHandQuantity |
number | Physical quantity on hand. |
onHandVolumeM3 |
number | Physical volume on hand in cubic metres. |
onHandWeightKG |
number | Physical weight on hand in kilograms. |
Adjust Inventory Item Attributes
Move available quantity from one warehouse product item to another inventory profile with updated attributes or date fields.
Endpoint: POST /v1/inventory-items/{warehouseProductItemId}/adjust-attributes
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
warehouseProductItemId |
uuid | Yes | Warehouse product item ID to adjust. |
Request Body
{
"batch": "BATCH-UPDATED-001",
"bestBeforeDate": "2025-06-30T00:00:00Z",
"expiryDate": "2025-12-31T00:00:00Z",
"packagingDate": null,
"productionDate": null,
"sellByDate": null,
"attributes": [
{
"productAttributeId": "550e8400-e29b-41d4-a716-446655441021",
"description": "Blue"
}
],
"quantityToAdjust": 10,
"particulars": "Batch correction"
}
Request Body Fields
| Field | Type | Required | Description |
|---|---|---|---|
batch |
string | No | Batch value to apply. |
bestBeforeDate |
date-time | No | Best before date to apply. |
expiryDate |
date-time | No | Expiry date to apply. |
packagingDate |
date-time | No | Packaging date to apply. |
productionDate |
date-time | No | Production date to apply. |
sellByDate |
date-time | No | Sell-by date to apply. |
attributes |
array | No | Product attributes to apply. |
attributes[].productAttributeId |
uuid | Yes | Product attribute ID. |
attributes[].description |
string | Yes | Product attribute value. |
quantityToAdjust |
number | Yes | Quantity to move to the updated attribute profile. Must be greater than 0. |
particulars |
string | Yes | Adjustment reason or particulars. |
Response
Returns 200 OK with no response body.
Notes
Fractional quantities are rejected for serial-tracked products.
quantityToAdjustcannot exceed the current available quantity for the item.
Adjust Inventory Item Metrics
Set corrected quantity, volume, and weight values for an inventory item.
Endpoint: POST /v1/inventory-items/{warehouseProductItemId}/adjust-metrics
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
warehouseProductItemId |
uuid | Yes | Warehouse product item ID to adjust. |
Request Body
{
"targetQuantity": 10,
"targetVolumeM3": 0.25,
"targetWeightKG": 50,
"particulars": "Cycle count correction"
}
Request Body Fields
| Field | Type | Required | Description |
|---|---|---|---|
targetQuantity |
number | Yes | Target quantity to set. Minimum is 0. |
targetVolumeM3 |
number | Yes | Target volume in cubic metres. Minimum is 0. |
targetWeightKG |
number | Yes | Target weight in kilograms. Minimum is 0. |
particulars |
string | Yes | Adjustment reason or particulars. |
Response
Returns 200 OK with no response body.
Notes
Fractional quantities are rejected for serial-tracked products.
Warehouse Location Types
| Value | Type | Description |
|---|---|---|
1 |
Racking | Racking storage location. |
2 |
Bulk | Bulk storage location. |
3 |
Quarantine | Quarantine storage location. |
4 |
Transitional | Transitional location. |
Serial Tracking Modes
| Value | Mode | Description |
|---|---|---|
1 |
None | No serial tracking. |
2 |
FullCapture | Serial is captured at receipt and dispatch. |
3 |
ReleaseCapture | Serial is captured at dispatch only. |
Understanding Available vs On-Hand Quantities
- On-hand quantity is the physical stock currently in the warehouse.
- Available quantity is the stock currently eligible for allocation or movement.
- The gap between the two typically reflects stock that is allocated, reserved, held, or otherwise unavailable for new work.
Related Endpoints
- partners.md for partner references used in inventory filters.
- partner-products.md for product metadata referenced by inventory rows.
- warehouses.md for warehouse and location reference data.