Inventory History:
POST /2026-01/inventory/history:query – Query historical inventory movement events that affect on-hand quantities. Track receiving, stowing, order picks, adjustments, restocks, and attribute updates across the ShipBob network.Sandbox Simulations:
POST /2026-01/simulate/shipment – Trigger shipment state transitions in sandbox environments to test webhooks and order lifecycle workflows.GET /2026-01/simulate/status/{simulationId} – Check the status of a running simulation to verify completion and results.Introducing the ShipBob MCP Server - enabling AI assistants to interact with ShipBob’s API through natural language.
Receiving:
POST /receiving/{id}/distributions – Retrieves the distribution details for a specific receiving order within ShipBob’s Inventory Placement Program (IPP).Billing:
GET /invoices – Returns a paginated list of invoices. Introduced in this version to support invoice visibility and filtering.GET /invoices/{invoiceId}/transactions – Fetches transaction-level detail for a given invoice.GET /transaction-fees – Lists available transaction fee types within the billing system.POST /transactions:query – Enables advanced querying of transactions with support for filters and pagination.Products:
GET /product/{productId}/variants
POST /product/{productId}/variants
PATCH /product/{productId}/variants – New set of endpoints for managing product variants in bulk.
POST /product:moveVariants – Allows moving multiple variants to a different product in one operation.
POST /product/{productId}:moveVariants – Enables merging variants into an existing product.
POST /variant/{variantId}:convertToBundle – Converts a standard variant into a bundled product.
POST /variant/{variantId}:merge – Combines multiple variants into a single entity.
DELETE /product/{productId} – Deletes a product by ID. This method is now officially supported.
Receiving:
POST /receiving:setExternalSync – New operation to toggle the externalSync flag on receiving orders.Returns:
GET /return/{id}/statushistoryOrders:
PUT /shipment/{shipmentId}These endpoint has been deprecated and is no longer available in the latest version.
To maintain consistency and follow modern naming conventions, several existing endpoints have been updated. Most of these changes involve switching from slashes (/) to colon-style actions (:action) or applying hyphenated names.
Added ‘Billing’ use case for guidance on Billing API usage.
Introduced thePUT 1.0/shipmentendpoint to indicate when tracking information has been uploaded. Use this endpoint to acknowledge that tracking details have been successfully synced to your system. Here is example use case:
GET 1.0/order?HasTracking=true&IsTrackingUploaded=false to retrieve orders where tracking has been provided but not yet confirmed as uploaded.PUT 1.0/shipment endpoint to mark it as uploaded.GET 2.0/simulate/status/{simulation_id} endpoint in the Sandbox Environment to fetch the status of a registered simulation.POST 2.0/simulate/shipment endpoint in the Sandbox Environment to request simulation for processing a shipment to ‘Shipped’ and ‘Delivered’ statuses.GET 2.0/receiving endpoint to request multiple Warehouse Receiving Orders (WROs), supporting various query parameters like fulfillment center ID and WRO insert date.1.0/receiving endpoints. Users are encouraged to migrate to 2.0/receiving. Note: The models returned by 2.0/receiving will no longer contain box info; this will be moved to a separate endpoint before /receiving is removed permanently.purchase_order_number attribute to the Receiving API’s request and response structures.total_sellable_quantity attribute to Inventory API endpoints, calculated by subtracting the total exception quantity from the fulfillable quantity.reference_id.referenceId field as a filter to the ‘Get Orders’ endpoint.packaging_attribute field to Inventory API endpoints.Next-Page headers returned by endpoints with multiple pages.