Skip to content

E-Commerce · Beta

ShipBob
API integration

Ship E-Commerce features without building the integration. Full ShipBob API access via Proxy and 90+ MCP-ready tools for AI agents — extend models and mappings to fit your product.

Built for specific customer use cases. Issues are resolved quickly.

Talk to us
ShipBob

Use Cases

Why integrate with ShipBob

Common scenarios for SaaS companies building ShipBob integrations for their customers.

01

Power CX Platforms with Order Intercepts

Helpdesk and support SaaS can let agents place shipments on hold, update addresses or shipping methods, and release holds directly from a ticket — resolving 'wrong address' or 'cancel my order' requests before the warehouse picks the item.

02

Automate Returns and Reverse Logistics

Returns platforms can programmatically create RMAs in ShipBob, monitor return status, and trigger refunds the moment items are scanned back into inventory — without merchants juggling separate WMS logins.

03

Sync Multi-Location Inventory into OMS/IMS

Inventory and order management tools can pull real-time stock levels per fulfillment center, track lot/batch data for expiration management, and surface stockout risk inside their own planning UI.

04

Push Purchase Orders as Warehouse Receiving Orders

ERP, PO, and inventory forecasting tools can convert supplier POs into ShipBob WROs with expected arrival dates, box contents, and tracking — then watch inventory move from in-transit to stowed.

05

Reconcile Fulfillment Costs in Finance Tools

Accounting and analytics SaaS can pull granular ShipBob invoices, transaction fees, and per-shipment costs to map picking, packing, storage, and shipping charges into GL codes or margin reports.

What You Can Build

Ship these features with Truto + ShipBob

Concrete product features your team can ship faster by leveraging Truto’s ShipBob integration instead of building from scratch.

01

Agent-Triggered Shipment Holds & Address Edits

Let support agents place shipments on hold, bulk-update shipping addresses or instructions, and release holds — all from your app using ShipBob's shipment control endpoints.

02

Real-Time Fulfillment Timeline Widget

Embed a step-by-step shipment timeline (received, picked, packed, labeled, shipped) inside your product using ShipBob's shipment timeline and log endpoints.

03

Multi-Location Inventory Dashboard

Display live inventory levels, lot/batch data, and per-fulfillment-center stock so merchants can allocate and forecast without leaving your app.

04

Automated RMA Creation & Refund Triggers

Create ShipBob returns from your returns portal, subscribe to webhooks for status changes, and trigger downstream refunds when items are received back.

05

Warehouse Receiving Order Sync from POs

Convert purchase orders into ShipBob WROs with expected boxes, SKUs, and tracking numbers — and reflect stowed inventory back in your ERP.

06

Fulfillment Cost Analytics

Ingest ShipBob invoices, invoice transactions, and transaction fees to build per-order profitability, storage cost, and shipping spend reports.

SuperAI

ShipBob AI agent tools

Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.

list_all_ship_bob_channels

List the ShipBob channels the authenticated user has access to. Returns channel objects with id, name, application_name, and scopes. Cursor pagination handled automatically.

list_all_ship_bob_orders

List ShipBob orders as a paginated result with optional filters that combine with AND logic. Returns: channel, created_date, financials, gift_message, id, order_number, products, purchase_date, recipient, reference_id, retailer_program_data, shipments, shipping_method, shipping_terms, status, tags, type.

create_a_ship_bob_order

Create a ShipBob order that is queued for fulfillment, specifying products by product reference ID (SKU — the recommended approach) or ShipBob product ID. Returns: channel, created_date, financials, gift_message, id, order_number, products, purchase_date, recipient, reference_id, retailer_program_data, shipments, shipping_method, shipping_terms, status, tags, type. The JSON body takes…. Required: products, recipient, reference_id, shipping_method, type.

get_single_ship_bob_order_by_id

Get a single ShipBob order by id, including order status, shipments, products, and recipient details. Returns: channel, created_date, financials, gift_message, id, order_number, products, purchase_date, recipient, reference_id, retailer_program_data, shipments, shipping_method, shipping_terms, status, tags, type. Required: id.

ship_bob_orders_estimate

Estimate fulfillment cost and fulfillment center assignment for a potential standard (direct-to-consumer) ShipBob order. Returns an estimate where possible; no estimate is produced for items that are unknown, out of stock, or too large for standard box sizes, and add-on services such as insurance and signature are excluded. Required: address, products.

ship_bob_orders_cancel

Cancel an order in ShipBob, including all of its associated shipments; the order must be in a cancellable state to proceed. Returns an opaque cancellation result object whose fields the API reference does not document.

ship_bob_orders_estimate_delivery

Estimate a ShipBob delivery date for a destination and set of line items; the destination address must always include zip_code and country, and the Product Details Page vs Checkout flow is auto-detected from the request shape. Returns: destination_time_zone, errors, estimates, reference_id. Required: destination_address, line_items.

get_single_ship_bob_shipment_by_id

Get a single ShipBob shipment by id. Returns: actual_fulfillment_date, created_date, delivery_date, estimated_fulfillment_date, estimated_fulfillment_date_status, gift_message, id, insurance_value, invoice_amount, invoice_currency_code, is_tracking_uploaded, last_tracking_update_at, last_update_at, location, measurements, order_id, package_material_type, parent_cartons, products, recipient,…. Required: id.

ship_bob_shipments_bulk_update_shipping_service

Update the shipping service for multiple ShipBob shipments in one request; requested_shipping_service_id must be a service_level.id from the Get Shipping Methods endpoint. Returns: results, summary. Required: reason, requested_shipping_service_id, shipment_ids.

ship_bob_shipments_bulk_place_on_hold

Place a Manual hold on multiple ShipBob shipments in one request; committed inventory stays reserved by default unless reserve_inventory is false. Returns per-shipment outcomes in results (each shipment's own success or failure, so one failure never fails the request). Empty shipment_ids or a batch over the cap returns 400. Required: shipment_ids.

ship_bob_shipments_bulk_release_hold

Release merchant-initiated holds (Manual and Auto Processing Pause) from multiple ShipBob shipments in one request; operational holds such as invalid address are never removed. Returns per-shipment outcomes in results, flagging is_still_on_hold_due_to_other_reasons when operational holds remain. Empty shipment_ids or a batch over the cap returns 400. Required: shipment_ids.

ship_bob_shipments_bulk_update_instructions

Set packing and special SKU instructions on multiple ShipBob shipments in one request; omit or send null to leave an instruction unchanged, or send an empty string to clear it. Returns per-shipment outcomes in results, one per unique id in request order. Required: shipment_ids.

ship_bob_shipments_assign_fulfillment_center

Assign a specific ShipBob fulfillment center to a shipment, overriding the automatically selected one. Returns is_success and, when the assignment fails, an error object with the code and message. Inventory re-evaluates asynchronously and the endpoint returns HTTP 200 for both successful and failed operations. Required: fulfillment_center_id.

ship_bob_shipments_cancel

Cancel a ShipBob shipment by id. Returns the shipment view model including id, status, tracking details, fulfillment center location, and products. The shipment must not yet be picked, packed, or shipped.

ship_bob_shipments_bulk_update

Update the shipping address of a ShipBob shipment. Returns: error, id, is_success. Required: city, street_address1.

ship_bob_shipments_bulk_cancel

Cancel multiple ShipBob shipments in a single request. Returns the affected shipments with id and tracking details (carrier, tracking_number, carrier_service, tracking_url). Only shipments not yet picked, packed, or shipped can be cancelled.

ship_bob_shipments_bulk_update_tracking

Mark tracking information as synced to your external system for multiple ShipBob shipments so they stop appearing in order queries filtered by IsTrackingUploaded=false. Returns: results, summary.

get_single_ship_bob_shipment_timeline_by_id

Get the status timeline for a ShipBob shipment by id. Returns a chronological array of shipment log entries showing when each shipment status change occurred, for visibility into fulfillment progress. Required: id.

ship_bob_shipment_timelines_get_by_order

Get the status timeline for a shipment within a ShipBob order. Returns a chronological array of shipment log entries showing when each status change occurred, for visibility into fulfillment progress. Required: order_id, shipment_id.

list_all_ship_bob_shipping_methods

List all shipping methods configured for your ShipBob merchant account. Returns: active, id, name, service_level.

get_single_ship_bob_order_store_json_by_id

Get the original store order data stored for a ShipBob order, preserving custom fields and metadata from the order source. Returns the stored data as a JSON string with order-source-specific fields. Required: id.

list_all_ship_bob_cancelled_orders

List ShipBob orders that have been completely cancelled, meaning all shipments within each order are in a cancelled state. Returns each cancelled order's id, reference_id, and shipments with their ids.

list_all_ship_bob_products

List ShipBob products with optional filters for search term, barcode, SKU, name, category, channel, variant status, and more. Returns a paginated items array of product records with id, name, type_id, and variants. Max 250 per page (PageSize accepts 1-250).

create_a_ship_bob_product

Create a ShipBob product with one or more variants. Returns the created product record including id, name, type_id, and variants. Requires name and at least one variant with a unique sku.

get_single_ship_bob_product_by_id

Get a single ShipBob product by id, including all its variants and details. Returns: created_on, id, name, taxonomy, type, updated_on, user_id, variants, type_id. Required: id.

update_a_ship_bob_product_by_id

Update a ShipBob product by id. Supports partial updates - only the fields provided will be updated; when updating variants, each must include its variant id. Returns: created_on, id, name, taxonomy, type, updated_on, user_id, variants, type_id. Required: id.

delete_a_ship_bob_product_by_id

Delete a bundle product by id in ShipBob. Returns an opaque success payload (the upstream response body is not field-enumerated in the available source). Only bundle products can be deleted - the operation is not allowed for non-bundles. Required: id.

ship_bob_products_move_variants

Move existing variants into a new ShipBob product — creates the product and reassigns the supplied variants to it. Returns the created product record: id, name, type_id, and variants.

ship_bob_products_move_variants_to_product

Move variants from their current products into an existing ShipBob product. Returns the updated product record: id, name, type_id, and variants.

list_all_ship_bob_product_variants

List all variants of a ShipBob product. Returns an array of variant objects including id, name, sku, packaging_requirement_id, and packaging_material_type_id. Required: product_id.

create_a_ship_bob_product_variant

Add new variants to an existing ShipBob product. Returns the created product including id, name, type_id, and its variants (each with name, sku, packaging_requirement_id, and packaging_material_type_id). Required: product_id.

ship_bob_product_variants_bulk_update

Update one or more variants of a ShipBob product. Returns an array of updated variant objects including id, name, sku, packaging_requirement_id, and packaging_material_type_id. Required: product_id.

ship_bob_variants_convert_to_bundle

Convert an existing product variant into a bundle product in ShipBob, specifying which variants and quantities make up the bundle. Returns the converted product with its id, name, type_id, and variants.

ship_bob_variants_merge

Merge multiple product variants into a target variant in ShipBob, consolidating the merged variants' inventory into the target. Returns the updated product with its id, name, type_id, and variants.

list_all_ship_bob_packaging_requirements

List all packaging requirements available in ShipBob that can be assigned to a product. Returns packaging requirement records identified by id; pass an id as packaging_requirement_id when creating or updating a product variant.

list_all_ship_bob_taxonomies

List all ShipBob product taxonomies available for categorizing products. Returns taxonomy nodes with their id and name.

get_single_ship_bob_taxonomy_by_id

Get a single ShipBob product taxonomy node and its details by taxonomy ID. Returns: id, name, path, children, parent. Required: id.

get_single_ship_bob_taxonomy_parent_by_id

Get the parent taxonomy node for a product taxonomy in ShipBob by id. Returns the parent taxonomy record including its id and taxonomy-specific attributes. Required: id.

list_all_ship_bob_allergens

List the allergens ShipBob supports for product variants. Returns: id, key, name.

list_all_ship_bob_inventory_levels

List current inventory levels across all ShipBob locations, filterable by inventory IDs and product attributes. Returns: first, items, last, next, prev.

get_single_ship_bob_inventory_level_by_id

Get an inventory item's current stock levels aggregated across all ShipBob fulfillment centers. Returns: inventory_id, name, sku, total_awaiting_quantity, total_backordered_quantity, total_committed_quantity, total_damaged_quantity, total_exception_quantity, total_fulfillable_quantity, total_in_fulfillment_quantity, total_internal_transfer_quantity, total_on_hand_quantity,…. Required: id.

get_single_ship_bob_inventory_by_id

Get a single ShipBob inventory item by id. Returns the item record's id and attributes — product details, variant information, and configuration from the item catalog, not stock quantities; for on-hand, committed, and fulfillable counts use the inventory levels endpoint. Required: id.

list_all_ship_bob_inventory

List all inventory items in ShipBob's paginated item catalog. Returns: first, items, last, next, prev. All filters are optional: SearchBy, FilterOperations, InventoryIds, IsActive, IsDigital, SortBy.

ship_bob_inventory_history_search

Query ShipBob inventory history events — the inventory movements that change on-hand quantities (receiving/stow, order picks, adjustments, restocks, attribute updates) — filterable by inventory IDs, event category, date range, and facility. Returns each event with its id and content-type-specific attributes; pagination is cursor-based.

list_all_ship_bob_inventory_level_locations

List all inventory levels grouped by fulfillment center in shipbob, with inventory quantities broken down per location for every inventory item. Returns: first, items, last, next, prev. Does not return the list of fulfillment centers — use the Locations API for that. All filters are optional.

list_all_ship_bob_inventory_level_lots

List inventory levels for all ShipBob inventory items grouped by lot number. Returns per-lot records including lot_number, lot_date, and inventory quantity breakdowns. All query filters are optional.

list_all_ship_bob_lot_exclusions

List lot exclusions for a ShipBob inventory item to see which lot numbers are excluded from fulfillment, filtered by sku or inventory_id. Returns: inventory_name, inventory_sku, lot_exclusions. Requires at least one of sku or inventory_id.

create_a_ship_bob_lot_exclusion

Create a lot exclusion in ShipBob that prevents a lot number from being fulfilled for an inventory item. Returns: created_timestamp, deleted_timestamp, id, inventory_id, is_deleted, lot_date, lot_number, attributes. Also supply sku or inventory_id to identify the item; requests with neither are rejected, as are duplicates for the same item and lot number. Required: lot_number.

delete_a_ship_bob_lot_exclusion_by_id

Soft-delete a lot exclusion in ShipBob for an inventory item; the exclusion can be restored later via the restore endpoint. Returns: deleted_timestamp, inventory_id, is_deleted, lot_date, lot_number. Also supply sku or inventory_id to identify the item; requests with neither are rejected. Required: lot_number.

create_a_ship_bob_lot_exclusion_restore

Restore a previously deleted lot exclusion for a specific inventory item in ShipBob, reversing a soft-delete. Returns the restored exclusion record (id, attributes). Required: lot_number.

list_all_ship_bob_receiving_orders

List warehouse receiving orders in ShipBob with optional filtering by status, fulfillment center, purchase order number, external sync flag, and created/completed date range. Returns WROs with id, status, and attributes (remaining WRO fields).

create_a_ship_bob_receiving_order

Create a warehouse receiving order in ShipBob with a destination fulfillment center, boxed contents, expected arrival date, and purchase order number. Returns the created order: id, status, and attributes (remaining WRO fields). Requires fulfillment_center, package_type, box_packaging_type, boxes, expected_arrival_date. Orders over 10,000 unique SKUs are rejected (WRO_UNIQUE_SKU_LIMIT_EXCEEDED). Required: box_packaging_type, boxes, expected_arrival_date, fulfillment_center, package_type.

get_single_ship_bob_receiving_order_by_id

Get a warehouse receiving order in ShipBob by id, including its status and the expected, received, and stowed quantities of each SKU in the order. Returns: box_labels_uri, box_packaging_type, expected_arrival_date, external_sync_timestamp, fulfillment_center, id, insert_date, inventory_quantities, last_updated_date, package_type, purchase_order_number, status, status_history, attributes.…. Required: id.

update_a_ship_bob_receiving_order_by_id

Update a warehouse receiving order in ShipBob by id; only included fields change. Returns the updated order: id, status, and attributes (remaining WRO fields). fulfillment_center, expected_arrival_date, and boxes change only while the order is awaiting arrival with no box processing; purchase_order_number changes in any status except complete. Required: id.

ship_bob_receiving_orders_set_external_sync

Set or clear the external sync flag on one or more ShipBob warehouse receiving orders (WROs). Returns the updated WRO including its id, status, and external_sync_timestamp. Requires a request body with the WRO ids and a flag enabling or disabling external sync.

ship_bob_receiving_orders_cancel

Cancel a ShipBob warehouse receiving order by id. Returns the updated WRO including its id, status, and external_sync_timestamp. Only orders in certain statuses can be cancelled. Required: id.

list_all_ship_bob_fulfillment_centers

List ShipBob fulfillment centers that are enabled for receiving inventory, to pick the destination fulfillment center when creating a warehouse receiving order (WRO). Returns each fulfillment center record with its id plus additional attributes from ShipBob's FulfillmentCenterViewModel schema. For the full network of physical locations regardless of receiving eligibility, use the Locations API.

list_all_ship_bob_receiving_boxes

List the boxes in a ShipBob warehouse receiving order with the line items packed in each box. Returns each box with its tracking_number and box_items including quantity and inventory_id; per-SKU totals are returned by the receiving order details endpoint. Required: receiving_id.

list_all_ship_bob_receiving_distributions

Get the inventory distribution details for a warehouse receiving order (WRO) in ShipBob's Inventory Placement Program (IPP). Returns the distribution details record with its id and IPP-specific distribution attributes (response fields are not enumerated in ShipBob's docs). Available only to IPP-enrolled accounts. Required: receiving_id.

list_all_ship_bob_unidentified_receiving_orders

List unidentified receiving orders (UROs) in ShipBob, filterable by whether they are already linked to a warehouse receiving order. Returns: attachments, barcode, comment, created_date, id, linked_wro_date, linked_wro_id, reason, tracking_barcode, attributes. Up to 50 records per page.

get_single_ship_bob_unidentified_receiving_order_by_id

Get a single unidentified receiving order (URO) in ShipBob by id. Returns: attachments, barcode, comment, created_date, id, linked_wro_date, linked_wro_id, reason, tracking_barcode, attributes. Responds 404 if the URO does not exist or belongs to another merchant. Required: id.

ship_bob_unidentified_receiving_orders_associate_receiving_order

Associate an unidentified receiving order (URO) with a warehouse receiving order (WRO) in ShipBob by linking the URO to a WRO owned by the merchant. Returns an empty 204 response on success. Required: wro_id.

ship_bob_receiving_tracking_bulk_update

Update box tracking for a ShipBob Warehouse Receiving Order: sets the carrier and tracking numbers on the listed boxes, leaving unlisted boxes unchanged. Returns: boxes, id, reference_id, shipments. Tracking numbers must be unique across all boxes; unavailable when ShipBob shipping labels were purchased for the order. Required: id, boxes, vendor_carrier_name.

list_all_ship_bob_returns

List ShipBob return orders across your account with optional filters for ids, reference ids (RMA numbers), status, created/completed date ranges, fulfillment centers, tracking numbers, and return actions. Returns: first, items, last, next, prev. Sort results with Sortby and SortOrder (Desc is default).

create_a_ship_bob_return

Create a ShipBob return order for a previously shipped order, specifying the original shipment, inventory items to return, and requested return actions in the JSON request body. Returns: channel, completed_date, customer_name, fulfillment_center, id, insert_date, inventory, invoice_amount, original_shipment_id, reference_id, return_type, status, store_order_id, tracking_number, transactions.…. Required: fulfillment_center, inventory, reference_id.

get_single_ship_bob_return_by_id

Get a single ShipBob return order by id to view its status, inventory items, transactions, and processing history. Returns: arrived_date, awaiting_arrival_date, cancelled_date, channel, completed_date, customer_name, fulfillment_center, id, insert_date, inventory, invoice, original_shipment_id, processing_date, reference_id, return_type, shipment_tracking_number, status, status_history,…. Required: id.

update_a_ship_bob_return_by_id

Edit an existing ShipBob return order by sending the updated return details in the JSON request body. Returns: channel, completed_date, customer_name, fulfillment_center, id, insert_date, inventory, invoice_amount, original_shipment_id, reference_id, return_type, status, store_order_id, tracking_number, transactions. Required: id, fulfillment_center, inventory, reference_id.

ship_bob_returns_cancel

Cancel a ShipBob return order by id. Returns the cancelled return order including its id and status. Required: id.

list_all_ship_bob_webhooks

List ShipBob webhook subscriptions. Returns each subscription's id, url, and topics. Optional RecordsPerPage and Cursor control pagination through the paginated response.

create_a_ship_bob_webhook

Create a ShipBob webhook subscription that delivers notifications for the chosen topics to a subscription URL. Returns: created_at, description, id, secret, topics, url. Required: topics, url.

delete_a_ship_bob_webhook_by_id

Delete a ShipBob webhook subscription by id. Returns an empty 204 response on success. Required: id.

list_all_ship_bob_locations

List physical locations across ShipBob's fulfillment network. Returns the location record including id and is_active; a location with is_active=true is operational for fulfillment processes such as receiving inventory and processing returns.

ship_bob_transactions_search

Search ShipBob billing transactions with filters such as date, invoice, and fee type. Returns a paginated transactions response (Billing.TransactionDtoCursorPagedResponseV3). Required if cursor is not provided: a filter body. When the optional cursor query parameter is supplied it overrides all other filter parameters and the body is ignored.

list_all_ship_bob_invoices

List ShipBob invoices, optionally filtered by invoice types and a date range. Returns a cursor-paged collection of invoice records (the response envelope is documented as InvoiceDtoCursorPagedResponseV3; individual invoice fields are content-type-specific) — each record carries an integer id that can be used as invoice_id to list that invoice's transactions. Defaults to the last month of invoice…

list_all_ship_bob_invoice_transactions

List the transactions for a ShipBob invoice. Returns transaction records including id and attributes (upstream-defined transaction fields). Page size 1-1000 (default 100). Required: invoice_id.

list_all_ship_bob_transaction_fees

List transaction fees charged on ShipBob billing records. Returns: fee_list.TransactionFeeModelV3 schema; consult the upstream API reference for the field-level breakdown). Takes no parameters.

list_all_ship_bob_shipments_tracking

Get carrier tracking for one or more ShipBob shipments by their shipment IDs. Returns per-shipment tracking details including carrier, tracking_number, carrier_service, and tracking_url. Accepts between 1 and 25 shipment IDs per request.

list_all_ship_bob_tracking

Get ShipBob shipment tracking details for one or more shipments by carrier tracking ID. Returns tracking records with carrier, tracking_number, carrier_service, and tracking_url.

ship_bob_logistics_labels_bulk_cancel

Refund or cancel shipping labels for one or more ShipBob orders, and cancel the orders for later resubmission under the same reference_id. Requires reference_ids. Canceled orders are no longer accessible in the ShipBob UI or API.

ship_bob_logistics_labels_create_with_order

Create a packed ShipBob order and purchase its final-mile carrier label in one synchronous call. Returns: interim_order_id, reference_id, shipment_id, final_mile_label. Requires order (reference_id, recipient, location_id, shipping_method, measurements, products) and meta (order_number, order_id, customer_name). Returns 409 if a final-mile label already exists.

create_a_ship_bob_logistics_label

Create a ShipBob order and generate its shipping label (ZPL by default; request PDF via the Label-Type header), with measurements and products optional. Returns: interim_order_id, reference_id, shipment_id, label, final_mile_label. Requires order (reference_id, recipient, location_id, shipping_method) and meta (order_number, order_id, customer_name).

ship_bob_logistics_rates_search

Rate-shop a ShipBob shipment. Returns: data, isSuccess, errorMessage. All fields required: actualWeight, packageDimensions (LengthInches, WidthInches, HeightInches), destinationAddress (address1, address2, city, state, zipCode, countryISO), fulfillmentCenterId, serviceName, hasSignature, insuranceAmount; serviceName must match a dashboard ship option.

ship_bob_order_shipments_cancel

Cancel a shipment on a ShipBob order by order id and shipment id. Returns the shipment record including id, reference_id, and tracking details (carrier, tracking_number, carrier_service, tracking_url). The shipment must not be picked, packed, or shipped to be cancelled. Required: order_id.

get_single_ship_bob_order_shipment_by_id

Get a single shipment of a ShipBob order by shipment id. Returns: actual_fulfillment_date, created_date, delivery_date, estimated_fulfillment_date, estimated_fulfillment_date_status, gift_message, id, insurance_value, invoice_amount, invoice_currency_code, is_tracking_uploaded, last_tracking_update_at, last_update_at, location, measurements, order_id, package_material_type, parent_cartons,…. Required: id, order_id.

list_all_ship_bob_order_shipments

List all shipments for a ShipBob order. Returns each shipment with id, reference_id, tracking details (carrier, tracking_number, carrier_service, tracking_url), and nested shipments. Required: order_id.

list_all_ship_bob_inventory_item_locations

Get inventory levels for a specific ShipBob inventory item grouped by fulfillment center. Returns the inventory-quantity record including its id and attributes with the per-location quantity breakdown (on-hand, fulfillable, committed). Required: inventory_id.

list_all_ship_bob_inventory_item_lots

Get ShipBob inventory levels for a specific inventory item broken down by lot number, for tracking by manufacturing lot, expiration date, or batch information. Returns: inventory_id, lots, name, sku. Required: inventory_id.

list_all_ship_bob_shipment_logs

List ShipBob shipment logs for a specific shipment, showing a detailed record of its events and status changes. Returns: log_type_id, log_type_name, log_type_text, metadata, timestamp. Required: shipment_id.

list_all_ship_bob_order_shipment_logs

Get the operational logs for a specific ShipBob shipment by order and shipment id. Returns an array of shipment log entries providing a detailed record of all events and status changes on the shipment; the entry fields are not enumerated in the docs. Required: order_id, shipment_id.

list_all_ship_bob_receiving_labels

Get the box labels for a warehouse receiving order (WRO) in ShipBob. Returns the label PDF (opaque binary content, no structured fields). Required: receiving_id.

list_all_ship_bob_shipment_line_items

Get the current line items for a ShipBob shipment. Returns the line items, each including its product_variant (sku). Fetch the full list here before calling updateLineItems, which requires the complete item list.

ship_bob_shipment_line_items_bulk_update

Update all line items for a ShipBob shipment by inventory id. Returns the update outcome with is_success and, on failure, an error object with the error code and message. Partial updates are not supported, and HTTP 200 is returned even when the update fails — check is_success. Required: items.

ship_bob_shipment_line_items_bulk_update_by_sku

Update all line items for a ShipBob shipment, identifying each item by SKU. Returns the update outcome with is_success and, on failure, an error object with the error code and message. SKU resolution is all-or-nothing, is_manually_assigned_lot must be the same for all items, and HTTP 200 is returned even when…. Required: items.

Why Truto

Why use Truto’s MCP server for ShipBob

Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 800+ integrations.

01

Auto-generated, always up to date

Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.

02

Fine-grained access control

Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.

03

Multi-tenant by design

Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.

04

Works with every MCP client

Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.

05

Built-in auth, rate limits, and error handling

Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.

06

Expiring and auditable servers

Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.

How It Works

From zero to integrated

Go live with ShipBob in under an hour. No boilerplate, no maintenance burden.

01

Link your customer’s ShipBob account

Use Truto’s frontend SDK to connect your customer’s ShipBob account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.

02

We handle authentication

Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.

03

Call our API, we call ShipBob

Truto’s Proxy API is a 1-to-1 mapping of the ShipBob API. You call us, we call ShipBob, and pass the response back in the same cycle.

04

Unified response format

Every response follows a single format across all integrations. We translate ShipBob’s pagination into unified cursor-based pagination. Data is always in the result attribute.

FAQs

Common questions about ShipBob on Truto

Authentication, rate limits, data freshness, and everything else you need to know before you integrate.

How does end-user authentication to ShipBob work through Truto?

Truto handles the OAuth flow with ShipBob on behalf of your end users. You embed Truto's connect flow in your app; the merchant authorizes their ShipBob account once, and Truto manages token storage and refresh so you never handle credentials directly.

Which ShipBob resources are available through this integration?

The integration covers orders, shipments, shipment timelines and logs, products and variants, inventory (levels, lots, locations, history), receiving orders (WROs), returns, fulfillment centers, shipping methods, webhooks, invoices, transactions, and logistics labels and rates.

Can we intercept shipments before they ship?

Yes. You can bulk place shipments on hold, update shipping service or instructions, update the shipment (including address fields), release holds, and cancel shipments — enabling full order-intercept workflows for CX teams.

How do we get real-time updates instead of polling?

ShipBob supports webhooks, which you can register, list, and delete via Truto. Subscribe to shipment, order, and return events so your app reacts to warehouse activity as it happens rather than polling on an interval.

Does the integration support lot and batch tracking for regulated products?

Yes. You can list inventory-level lots, list inventory item lots, and manage lot exclusions (create, delete, restore) — useful for expiration management, recalls, or freezing defective batches in health, CPG, and cosmetics use cases.

Can we build billing and cost-reconciliation features on top of ShipBob?

Yes. The integration exposes invoices, invoice transactions, transaction fees, and a transaction search endpoint, so you can pull granular picking, packing, storage, and shipping charges for reconciliation or margin analysis.

ShipBob

Get ShipBob integrated into your app

Our team understands what it takes to make a ShipBob integration successful. A short, crisp 30 minute call with folks who understand the problem.