Skip to main content
This guide shows you how to check stock levels, view inventory by warehouse, and track item movements using the Items API. After you send inventory to a Quivo warehouse and the inbound completes, your products are available as items in the warehouse. Understanding the distinction between articles and items is important:
  • Article: A product definition in your catalog created using the Articles API
  • Item: A physical unit of inventory stored in a warehouse, created from articles after you send inventory to a warehouse and the inbound completes.
An article can have many items across different warehouses, with each item representing physical stock at a specific warehouse location. For detailed definitions of these terms, see the Logistics Glossary. This guide teaches you how to check current stock levels, view item history, and refresh inventory data when needed.

Prerequisites

Before you start, make sure you have:
All API examples in this guide use ${BASE_URL} as a placeholder. Replace it with the correct base URL configured for the correct environment. For more information see Environments page.

Check stock levels by warehouse

To check stock levels for all items in a specific warehouse, use the GET /items/{warehouseId}/{sellerId} endpoint. This returns a list of all items in the warehouse with their current inventory levels. Replace the placeholders with your actual warehouse ID and seller ID.
Use this request to list all items and their stock levels in a specific warehouse.
curl -X GET "${BASE_URL}/items/<YOUR_WAREHOUSE_ID>/<YOUR_SELLER_ID>" \
  -H "X-Api-Key: <YOUR_STATIC_API_KEY>" \
  -H "Authorization: <YOUR_SESSION_TOKEN>"

Filter and search items

You can use query parameters to filter and search items:
  • query: Search query string to filter results across multiple fields, for example SKU or name
  • sort: Sort criteria, for example quantity:desc to sort by quantity descending
  • page: Page number for pagination
  • pageSize: Number of items per page
Search by SKU:
curl -X GET "${BASE_URL}/items/<YOUR_WAREHOUSE_ID>/<YOUR_SELLER_ID>?query=<YOUR_SKU>" \
  -H "X-Api-Key: <YOUR_STATIC_API_KEY>" \
  -H "Authorization: <YOUR_SESSION_TOKEN>"
Sort by quantity:
curl -X GET "${BASE_URL}/items/<YOUR_WAREHOUSE_ID>/<YOUR_SELLER_ID>?sort=quantity:desc" \
  -H "X-Api-Key: <YOUR_STATIC_API_KEY>" \
  -H "Authorization: <YOUR_SESSION_TOKEN>"

Get item details

To get detailed information about a specific item, use the GET /items/{itemId} endpoint. Use the itemId from the item list response.
Use this request to retrieve detailed information for a single item.
curl -X GET "${BASE_URL}/items/<YOUR_ITEM_ID>" \
  -H "X-Api-Key: <YOUR_STATIC_API_KEY>" \
  -H "Authorization: <YOUR_SESSION_TOKEN>"

View item movements and history

To view the movement history for a specific item, use the GET /items/{itemId}/movements endpoint. This shows all movements (inbound, outbound, adjustments) for the item. Use the itemId from the item details.
Use this request to retrieve movement history for a specific item.
curl -X GET "${BASE_URL}/items/<YOUR_ITEM_ID>/movements" \
  -H "X-Api-Key: <YOUR_STATIC_API_KEY>" \
  -H "Authorization: <YOUR_SESSION_TOKEN>"

Filter movements by date range

You can filter movements by date range using the movementFrom and movementTo query parameters:
curl -X GET "${BASE_URL}/items/<YOUR_ITEM_ID>/movements?movementFrom=2025-01-01T00:00:00Z&movementTo=2025-01-31T23:59:59Z" \
  -H "X-Api-Key: <YOUR_STATIC_API_KEY>" \
  -H "Authorization: <YOUR_SESSION_TOKEN>"

View item history by warehouse

To view item history for all items in a warehouse, use the GET /items/itemHistories/{warehouseId}/{sellerId} endpoint. This provides a comprehensive history of all item movements in the warehouse. You can use query parameters like query and sort to filter and sort the results.
Use this request to retrieve movement history for all items in a warehouse:
curl -X GET "${BASE_URL}/items/itemHistories/<YOUR_WAREHOUSE_ID>/<YOUR_SELLER_ID>" \
  -H "X-Api-Key: <YOUR_STATIC_API_KEY>" \
  -H "Authorization: <YOUR_SESSION_TOKEN>"

Refresh inventory data

If you notice discrepancies between your records and the warehouse inventory, you can trigger a refresh operation to sync inventory data with the warehouse system.

Refresh a specific item

To refresh a specific item, use the POST /items/{itemId}/refresh endpoint. This operation syncs the item’s inventory data with the warehouse system.
Use this request to refresh inventory data for a specific item.
curl -X POST "${BASE_URL}/items/<YOUR_ITEM_ID>/refresh" \
  -H "X-Api-Key: <YOUR_STATIC_API_KEY>" \
  -H "Authorization: <YOUR_SESSION_TOKEN>"

Refresh all seller items

To refresh inventory for all items belonging to a seller, use the POST /items/seller/{sellerId}/refresh endpoint. This operation syncs all items for your seller account with the warehouse system.
Use this request to refresh inventory data for all items for a seller.
curl -X POST "${BASE_URL}/items/seller/<YOUR_SELLER_ID>/refresh" \
  -H "X-Api-Key: <YOUR_STATIC_API_KEY>" \
  -H "Authorization: <YOUR_SESSION_TOKEN>"

Where to go next

Now that you can monitor inventory, continue with these guides:

Create a Fulfillment Order

Create orders to fulfill customer purchases. Use inventory levels to ensure products are available before creating orders.

Track an Order

Monitor order status and retrieve tracking information when Quivo ships orders from the warehouse.