ShipBob is a third-party logistics network with its own fulfillment centers. Its API takes orders from your channel, splits them into shipments, and reports each shipment's status, carrier, tracking_number, and the estimated_fulfillment_date ShipBob committed to. Inventory is counted per component, not per bundle, and broken down by fulfillment center. A warehouse receiving order announces inbound stock by box or pallet, and a return records what is coming back and whether to restock, quarantine, or dispose of it. Webhooks cover shipping, tracking, delivery, exceptions, holds, returns, receiving, and billing.
An operator on Fibric watches for the shipment that stalls in OnHold or Exception and proposes the fix, the cancellation, or the customer message.
This is a reference listing. It documents what Fibric would read from ShipBob and what it could propose, based on the vendor's published interfaces. Fibric builds it under a managed deployment when you request it; selecting it here installs nothing.
Inputs
Orders with status Processing, Exception, PartiallyFulfilled, Fulfilled, Cancelled, or ImportReview, filtered by HasTracking or LastUpdateStartDate
Shipments with status Processing, Completed, Exception, OnHold, Cancelled, LabeledCreated, or CleanSweeped, plus status_details and location
Tracking per shipment: carrier, tracking_number, tracking_url, estimated_fulfillment_date, and actual_fulfillment_date
Inventory levels per inventory_id, tracked at the component level and broken down by fulfillment center
Warehouse receiving orders with status Awaiting, PartiallyArrived, Arrived, Processing, Completed, or Cancelled
Returns with status AwaitingArrival, Arrived, Processing, Completed, or Cancelled and the requested_action per item
Webhooks such as order.shipped, order.shipment.tracking.updated, order.shipment.exception, order.shipment.on_hold, return.completed, and wro.box.arrived
Proposed actions
Target capability: propose an order through POST /2026-07/order with reference_id, recipient, products by SKU, and shipping_method
Target capability: propose cancelling an order and its shipments through POST /2026-07/order/{orderId}:cancel and record each shipment's result
Target capability: propose a return through POST /2026-07/return with the fulfillment_center and a requested_action of Restock, Quarantine, Dispose, or Default
Target capability: propose a warehouse receiving order through POST /2026-07/receiving with boxes, tracking numbers, and an expected_arrival_date
Proposed actions are target capabilities. Every action runs propose-first and needs a validated deployment and the appropriate permissions.
What you can build
Catch the shipment on hold
Subscribe to order.shipment.on_hold and order.shipment.exception. Read status_details, match the order, and propose the address fix or the customer note before the estimated_fulfillment_date passes.
A ShipBob merchant account and a channel id, read from the channel endpoint before any other call
A Personal Access Token, or OAuth 2.0 scopes such as orders_read, orders_write, inventory_read, and fulfillments_read
Requests against the versioned path, 2026-07 at the time of writing, on api.shipbob.com or sandbox-api.shipbob.com
Products created in ShipBob first, since each one gets the inventory_id that orders and receiving reference
Authentication
A Bearer token: a Personal Access Token generated under Integrations > API Tokens in the ShipBob dashboard, or OAuth 2.0 with PKCE for multi-user apps; every request also sends a shipbob_channel_id header.
Limits
150 requests per minute per user per application in a sliding window; excess returns 429 with x-retry-after and x-remaining-calls
A receiving order's expected_arrival_date must be tomorrow or later, and it can be cancelled only while Awaiting
Inventory ids can change when products are merged, so reconcile them regularly
An order cancel is refused unless the order is in a cancellable state; results come back per shipment as Success, Failure, or PartialSuccess
Access and pricing
Reference listing. Fibric builds the connector under a managed deployment when you request it. Your quote covers the build, capabilities, usage, and support.
Each delivery carries webhook-id, webhook-timestamp, and webhook-signature headers plus x-webhook-topic. The signature is an HMAC-SHA256 over the id, timestamp, and payload joined by full stops, keyed with your base64-decoded signing secret. Failed deliveries retry immediately, then at 5 seconds, 5 minutes, 30 minutes, 2 hours, 5 hours, and 10 hours twice.
What does a shipment status of OnHold mean?
The shipment is on hold for missing information and will not move until it is fixed; ShipBob raises order.shipment.on_hold when it happens. Exception marks a shipment that moved to exception status, and status_details on the shipment explains why.
Is there a sandbox?
Yes. Sandbox tokens are generated in the sandbox dashboard and calls go to sandbox-api.shipbob.com, including the channel endpoint for the shipbob_channel_id header. Production calls go to api.shipbob.com under the same versioned paths.
Ask about ShipBob
Ask about the capabilities and requirements in this listing.
This connector listing is developed, published, and supported by Fibric. It describes integration with ShipBob through published interfaces. Third-party names and logos identify the systems an integration connects to; they are the property of their respective owners, who are not affiliated with Fibric and do not sponsor or endorse this listing. Trademark policy