For AI agents: a documentation index is available at the root level at /llms.txt and /llms-full.txt. Append /llms.txt to any URL for a page-level index, or .md for the markdown version of any page.
DocumentationAPI Reference
DocumentationAPI Reference
  • Get Started
    • Introduction
    • Quickstart
    • Authentication
    • Rate Limit
    • Webhooks
  • Integration Guides
    • Overview
      • Overview
      • Inventory History
    • Tracking
    • Receiving
    • Returns
    • Billing
  • Other
    • Concepts
    • Status Reference
    • MCP Server
    • Errors
    • FAQ
    • Release Notes
LogoLogo
On this page
  • Overview
  • Request
  • Response
  • Supported Event Categories
  • Pagination
Integration GuidesInventory

Inventory History

||View as Markdown|
Was this page helpful?

Last updated February 24, 2026

Previous

Inventory

Next

Tracking

Built with

This documentation provides an overview and API request examples for getting product inventory history events from ShipBob.

Overview

ShipBob’s Inventory History API can be used to fetch various inventory movements that occur within the ShipBob Network.

An example of this is Warehouse Receiving Order (WRO) stow events as inventory is stowed at a fulfillment center. When stowing occurs, ShipBob’s On Hand quantity increases for that inventory item, and is considered ready to use for fulfillment.

This API can be used to capture inventory events such as stow events, spot checks, restock events, and more.

Request

Method: POST

Authorization: Bearer token, PAT generated from the ShipBob merchant dashboard.

Sandbox

  • Base url: https:/sandbox-api.shipbob.com/2026-01
  • Endpoint: /inventory/history:query

Production

  • Base url: https://api.shipbob.com/2026-01
  • Endpoint: /inventory/history:query
1{
2 "inventory_ids": [2543121], // optional
3 "facility_id": 25, // required
4 "event_category": "ReceivingStow",
5 "start_date": "2025-06-18", // optional - last 90 days as default/max
6 "end_date": null // optional
7}

Response

Response schema

1{
2 "data": [
3 {
4 "inventory_id": 2543121,
5 "event_category": "ReceivingStow",
6 "event_datetime": "2025-06-18T18:06:22.4716033",
7 "shipbob_order_id": null,
8 "merchant_user_id": 226071,
9 "primary_reference": {
10 "type": "WroAndBox",
11 "value": "115316 7"
12 },
13 "inventory_audit_event_id": 32204,
14 "increment": {
15 "facility_id": 25,
16 "quantity_change": 1,
17 "committed_quantity_change": 0,
18 "lot_number": null,
19 "expiration_date": null,
20 "sku": "awe-jui",
21 "location_id": 10010109,
22 "yuki_id": "01JY23GXR7CSS4D25G5SC84VD1",
23 "pack_description_id": "00000000000000000000000000",
24 "operational_stage": null,
25 "inventory_status": ""
26 },
27 "decrement": {
28 "facility_id": 25,
29 "quantity_change": -1,
30 "committed_quantity_change": 0,
31 "lot_number": null,
32 "expiration_date": null,
33 "sku": "awe-jui",
34 "location_id": 10010277,
35 "yuki_id": "01JXFHF4PQVVDW8AYVHXAVC7RM",
36 "pack_description_id": "00000000000000000000000000",
37 "operational_stage": null,
38 "inventory_status": ""
39 },
40 "additional_reference": []
41 }
42 ],
43 "next": "https://api.shipbob.com/2026-01/inventory/history:query?cursor=23456"
44}

Each inventory event will include an increment and decrement object. The increment object is the event at the facility’s destination shelf, which updates the on-hand quantity for that item in ShipBob. The decrement object will decrease the specified quantity at the facility found within the object.

In addition, the event includes the primary_reference property. Based on the Event Categories being queried, the type field will contain a definition for the corresponding value field.

As an example, using the Event Category of “ReceivingStow” will return a type field of “WroAndBox”, and the value field will contain a combination of the WRO id and the box id. These two values will always be separated by a space.

As another exmaple, using the Event Category of “OrderPicked” will return a type field of “OrderId” and a value field that will contain the ShipBob order id, in case it needs to be fetched in any subsequent steps within the integration workflow.

Supported Event Categories

The following event categories can be sent via the POST request:

EventCategoryDescription
OrderPickedThis will return any picking event that occurs during the outbound fulfillment process.
InventoryAdjustedEvents that occur due to an inventory adjustment, including found inventory during spot-checks and setting on-hand quantities.
InventoryFacilityUpdatedEvents that occur when updating the facility of inventory locations.
AttributeUpdatedEvents that occur when updating inventory attributes.
InventoryReceivedEvents related to receiving new inventory, including returns.
InventoryRestockedEvents related to restocking previously picked inventory.
ReceivingStowThis will return stow events that occur from WROs which updates On Hand quantities.
KittingStowEvents related to stowing inventory during the kitting process, including legacy kitting operations.

Pagination

The response includes the field inventory_audit_event_id which can be used as a cursor.

Usage: Begin with an empty cursor. To fetch additional records, use the last inventory_audit_event_id as a query parameter in subsequent requests.

Example:

POST https://api.shipbob.com/2026-01/inventory/history:query?cursor=23456

This will return any records after (not including) the cursor value.