ShipHero GraphQL Public API
ShipHero’s public API provides access to platform data and operations for custom integrations. It is built on GraphQL, allowing clients to request exactly the fields they need for each workflow.
Latest Changes
2026 June 15: Added the ShipHero AI Toolkit, which now includes both the ShipHero MCP and the Public API Skill. The toolkit explains when to use each option and how to connect supported AI clients to read-only ShipHero data.
2026 June 3rd: Added custom_box_create, custom_box_update, and carrier_box_update for managing custom boxes and carrier boxes, including inventory and price updates. carrier_box and carrier_boxes can now return connected carrier boxes before they have warehouse inventory.
2026 May 28th: Added allocated_from and allocated_to filters to the orders query. These filters let integrations poll for orders whose allocation was created in a specific date/time window, and can be combined with ready_to_ship to find recently allocated orders that are ready to ship. When an allocation window is provided, ready_to_ship is evaluated only against allocations inside that window.
2026 May 27th: Added assembly_add_components, assembly_remove_components, assembly_update_components , assembly_clear_components mutations, and added is_assembly support to product_create and product_update. Also added the ability to query assembly product components in product queries.
2026 May 26th: Added support for filtering the plural shipments, locations, and warehouse_products queries by a list of IDs through the ids argument.
Added warehouse_relationship and lot_tracking_settings to customer accounts returned by account.data.customers. 3PL users can now request warehouse-specific relationship details, including from_name and pause_shipping, along with each customer’s lot tracking configuration.
2026 May 21st: Added the return_add_attachment mutation to attach files (images, PDFs, documents) to a return by providing a publicly accessible URL. Attachments can be linked to a specific return item via return_item_id for item-level documentation, or to the return as a whole when omitted.