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

PageIndex is zero-based for the inventory endpoints. PageIndex=0 requests the first page.

The default PageSize is 50. The maximum PageSize is 500.


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.

quantityToAdjust cannot 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.