Skip to content

ShipHero GraphQL Public API

For developers building solutions and integrations with ShipHero, our API provides access to a wide range of platform data and features. It’s built on GraphQL, as we focus on offering the most flexible and efficient way to consume your data. Different clients have different implementations and needs, so depending on what you’re building, you may need to fetch data with varying levels of detail. GraphQL is a perfect fit for this, giving you the power to decide exactly how much data you want at any time.

Latest Changes

2026 April 16th: Added the tote_create and tote_update mutations to create and rename totes. tote_create can optionally return a barcode PDF URL when print_barcodes is set to true, and both mutations support 3PL child-account flows via customer_account_id.

2026 April 16th: Added the Work Order Status Update webhook. This webhook fires whenever a work order changes status, notifying subscribed endpoints with the work order details including previous and new status.

2026 April 15th: Added the return_receive_line_item mutation to receive a single return line item, optionally restock inventory, and assign a location — replicating the functionality available in the ShipHero UI.

2026 April 14th: Added the bill_add_ad_hoc_charge mutation to add a one-off charge to a customer’s 3PL billing. You can optionally attach it to an existing bill using the bill_id field.

2026 April 14th: Added tag and tag_not_in filter arguments to the products query, allowing you to include or exclude products based on their tags.

2026 April 13th: Added the clear_tote mutation to clear a tote’s picks. Optionally set return_inventory to true to restore any deducted inventory back to its original bin. Requires the change:inventory scope.

2026 April 9th: Added replenishment_max_level and replenishment_increment fields to the WarehouseProduct query type, and to the product_create, product_add_to_warehouse, and warehouse_product_update mutation inputs. These fields control replenishment behaviour for Dynamic Slotting accounts: replenishment_max_level caps inventory in the pickable bin, and replenishment_increment rounds replenishment quantities to a given multiple.

2026 April 9th: Added an active field to the Warehouse type so warehouse objects now expose whether each warehouse is active or inactive.

2026 April 9th: Added Webhook Health Monitoring — ShipHero now automatically monitors webhook endpoint health. Webhooks transition through HEALTHY, WARNING, and UNHEALTHY states based on endpoint reliability, with email notifications at each stage. Webhooks that persistently fail are automatically disabled to protect system integrity. See the Webhook Health section for full details.

2026 April 9th: Added an ids filter to the orders query so you can fetch up to 1000 specific orders by ID in a single request.

2026 April 3rd: Added location_delete and item_location_delete mutations to the Public API. You can now delete locations and item locations for Dynamic Slotting accounts. Locations must be empty before deletion, and item locations must have zero quantity.

2026 April 2nd: Added the wholesale_order_import_packing_layout mutation to define a wholesale order’s full packing structure in a single API call, and the packing_layout export field on wholesale order queries and the Shipment ASN webhook.