Shipsidekick LogoShipsidekick Docs
API

Inventory

Managing inventory in Shipsidekick

The Shipsidekick Inventory API provides comprehensive inventory management capabilities, allowing you to track inventory at multiple levels: aggregate inventory levels across warehouses, and detailed inventory locations within specific warehouse locations.

Inventory Concepts

Inventory Levels

Inventory levels provide a high-level view of your inventory across warehouses. They track:

  • Available Quantity: Items available for sale
  • Committed Quantity: Items allocated to orders
  • Reserved Quantity: Items in non-pickable locations
  • Incoming Quantity: Items on confirmed purchase orders
  • Damaged Quantity: Items marked as damaged
  • Quality Control Quantity: Items in quality control
  • Safety Stock Quantity: Minimum stock to maintain

Endpoint: GET https://www.shipsidekick.com/api/v1/inventory/levels

Inventory Locations

Inventory locations track the exact physical location of items within a warehouse. Each location record includes:

  • The specific warehouse location (bin, shelf, etc.)
  • The product variant stored there
  • The quantity at that location
  • Optional lot number and expiration date
  • Units of measure information

Endpoint: GET https://www.shipsidekick.com/api/v1/inventory/locations

Managing Inventory

Updating Inventory Quantities

You can add or remove inventory from specific warehouse locations using the inventory update endpoint.

Endpoint: POST https://www.shipsidekick.com/api/v1/inventory

Add inventory example:

{
  "productVariantIdentifier": "WIDGET-001",
  "identifierType": "sku",
  "warehouseLocationId": "cmea9fzvv00b4mkmp9ktawc7e",
  "changeQuantity": 50,
  "reason": "Received new stock",
  "warehouseId": "cmea9fzvv00b4mkmp9ktawc7e"
}

Remove inventory example:

{
  "productVariantIdentifier": "WIDGET-001",
  "identifierType": "sku",
  "warehouseLocationId": "cmea9fzvv00b4mkmp9ktawc7e",
  "changeQuantity": -10,
  "reason": "Damaged goods",
  "warehouseId": "cmea9fzvv00b4mkmp9ktawc7e"
}

Moving Inventory Between Locations

You can move inventory between warehouse locations within the same warehouse:

{
  "warehouseId": "cmea9fzvv00b4mkmp9ktawc7e"
  "productVariantIdentifier": "WIDGET-001",
  "identifierType": "sku",
  "warehouseLocationId": "cmea9fzvv00b4mkmp9ktawc7e",
  "changeQuantity": 25,
  "moveToWarehouseLocationId": "cmea9fzvv00b5mkmp9ktawc7f",
  "reason": "Relocating to pick location",
}

Product Variant Identifiers

When working with inventory, you can identify products using various identifier types:

  • id: Product variant ID (most specific)
  • sku: Stock Keeping Unit
  • skuAliases: Alternative SKU identifiers
  • barcode: Barcode value

If you don't specify an identifierType, the API will automatically try to match using all available identifier types.

Filtering and Pagination

Inventory Levels

The inventory levels endpoint supports:

  • limit: Maximum items per page (1-100, default: 10)
  • page: Page number for pagination
  • cursor: Cursor-based pagination
  • search: Search term to filter results
  • sortBy: Field to sort by
  • sortOrder: Sort direction (asc/desc)
  • warehouseId: Filter by specific warehouse
  • childInventory: Include child organization inventory

Inventory Locations

The inventory locations endpoint requires:

  • warehouseId: The warehouse to search in (required)
  • productVariantIdentifier: The product to look up (required)
  • identifierType: Type of identifier (optional, auto-detects if not provided)

On this page