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 theexternalSync
flag 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/shipment
endpoint 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=false
to retrieve orders where tracking has been provided but not yet confirmed as uploaded. - Once tracking is uploaded, call the
PUT 1.0/shipment
endpoint 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/shipment
endpoint in the Sandbox Environment to request simulation for processing a shipment to ‘Shipped’ and ‘Delivered’ statuses.
August 2022
🚀 New Features
- Added
GET 2.0/receiving
endpoint to request multiple Warehouse Receiving Orders (WROs), supporting various query parameters like fulfillment center ID and WRO insert date.
⚠️ Deprecations
- Deprecated
1.0/receiving
endpoints. Users are encouraged to migrate to2.0/receiving
. Note: The models returned by2.0/receiving
will no longer contain box info; this will be moved to a separate endpoint before/receiving
is removed permanently.
April 2022
🛠 Improvements
- Added
purchase_order_number
attribute to the Receiving API’s request and response structures.
May 2021
🛠 Improvements
- Introduced
total_sellable_quantity
attribute 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
referenceId
field 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_attribute
field to Inventory API endpoints. - Fixed issue with missing inventory items in Bulk POST Products response.
- Added ‘Cancel Warehouse Receiving Order’ endpoint.
- Fixed incorrect
Next-Page
headers 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.