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 theexternalSyncflag 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.
