July 2025
🚀 Release of 2025-07 API Version
New Endpoints Introduced
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.
- 
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.
- POST /receiving:setExternalSync– New operation to toggle the- externalSyncflag on receiving orders.
📤 Endpoints Removed
Returns:- GET /return/{id}/statushistory
- PUT /shipment/{shipmentId}
🔁 Renamed or Updated Endpoint Paths
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.| Old Path (2.0) | New Path (2025-07) | 
|---|---|
| /order/estimate | /order:estimate | 
| /order/{orderId}/cancel | /order/{orderId}:cancel | 
| /order/{orderId}/shipment/{shipmentId}/cancel | /order/{orderId}/shipment/{shipmentId}:cancel | 
| /order/{orderId}/storeOrderJson | /order/{orderId}/store-order-json | 
| /shippingmethod | /shipping-method | 
| /shipment/:bulkUpdateTrackingUpload | /shipment:batchUpdateTrackingUpload | 
| /shipment/cancelbulk | /shipment:batchCancel | 
| /shipment/{shipmentId}/cancel | /shipment/{shipmentId}:cancel | 
| /receiving/{id}/cancel | /receiving/{id}:cancel | 
| /fulfillmentCenter | /fulfillment-center | 
| /return/{id}/cancel | /return/{id}:cancel | 
📘 Documentation
Added ‘Billing’ use case for guidance on Billing API usage.April 2025
📘 Documentation
- Launched new API docs.
- Added 2.0 and experimental versions to API docs.
December 2024
🚀 New Features
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:- Poll orders with tracking using GET 1.0/order?HasTracking=true&IsTrackingUploaded=falseto retrieve orders where tracking has been provided but not yet confirmed as uploaded.
- Once tracking is uploaded, call the PUT 1.0/shipmentendpoint to mark it as uploaded.
March 2024
February 2023
🚀 New Features
- Enabled self-service generation of Auth Tokens (Personal Access Tokens) directly from the ShipBob dashboard.
November 2022
🛠 Improvements
- Added GET 2.0/simulate/status/{simulation_id}endpoint in the Sandbox Environment to fetch the status of a registered simulation.
October 2022
🚀 New Features
- Introduced POST 2.0/simulate/shipmentendpoint in the Sandbox Environment to request simulation for processing a shipment to ‘Shipped’ and ‘Delivered’ statuses.
August 2022
🚀 New Features
- Added GET 2.0/receivingendpoint to request multiple Warehouse Receiving Orders (WROs), supporting various query parameters like fulfillment center ID and WRO insert date.
⚠️ Deprecations
- Deprecated 1.0/receivingendpoints. Users are encouraged to migrate to2.0/receiving. Note: The models returned by2.0/receivingwill no longer contain box info; this will be moved to a separate endpoint before/receivingis removed permanently.
April 2022
🛠 Improvements
- Added purchase_order_numberattribute to the Receiving API’s request and response structures.
May 2021
🛠 Improvements
- Introduced total_sellable_quantityattribute to Inventory API endpoints, calculated by subtracting the total exception quantity from the fulfillable quantity.
March 2020
🚀 New Features
- Enabled auto-creation of Products when sending Orders that use the product reference_id.
- Added a new authentication method - Personal Access Token (PAT) - for single-merchant applications.
📘 Documentation
- Updated ‘Getting Started’ section for clearer guidance on API usage.
- Added an example integration diagram to the Tools section.
February 2020
🛠 Improvements
- Added ‘On Hand’ and ‘Committed’ quantity calculations to the Inventory Resource.
- Moved the Shipments endpoints under the Orders API resource, ensuring no interruptions of service.
- Added Shipment information to the ‘Get Order’ and ‘Get Orders’ endpoints.
January 2020
🚀 New Features
- Introduced the Returns API, including endpoints to create, edit, cancel, and retrieve returns.
- Added referenceIdfield as a filter to the ‘Get Orders’ endpoint.
December 2019
🚀 New Features
- Enabled developers to request multi-channel applications with read-only access to all of a user’s channels.
🛠 Improvements
- Added packaging_attributefield to Inventory API endpoints.
- Fixed issue with missing inventory items in Bulk POST Products response.
- Added ‘Cancel Warehouse Receiving Order’ endpoint.
- Fixed incorrect Next-Pageheaders returned by endpoints with multiple pages.
- Added company name to recipient info in Orders endpoints.
- Added packaging type to Shipments endpoints.
- Fixed bug where Shipments endpoints did not return more than one lot date and lot number for inventory.
November 2019
🛠 Improvements
- Added ‘Company Name’ to the shipment object in the Fulfillment API.
- Introduced an additional ‘On Hold’ status reason - “Missing Packaging Preferences”. Merchants should resolve this by logging into their ShipBob account.
🚀 New Features
- Released Warehouse Receiving API for creating orders to receive inventory into ShipBob’s fulfillment center.
📘 Documentation
- Fixed inconsistencies and combined all APIs into a single document.
- Introduced new endpoints for ‘GET Timeline Logs For One Shipment’ and ‘GET Timeline Logs For One Shipment Without Order’.
🛠 Improvements
- Shipments with ‘On Hold’ status for missing tariff information now display the inventory ID causing the hold.
