Changelog
2026 April 22nd
Added the ad_hoc_charges query to retrieve ad-hoc charges by ID, and the bill_update_ad_hoc_charge mutation to modify existing ad-hoc charges on a customer’s 3PL billing.
Added the item_locations query to retrieve item-bin records with rich filtering and cursor-based pagination. Supports filters like sku, location_name, location_name_prefix, has_inventory, pickable, sellable, location_type_id, and updated_from/updated_to for incremental sync. The response includes location, location_type, product, and expiration_lot fields.
2026 April 21st
Added cycle count queries and mutations: cycle_count and cycle_counts queries for retrieving cycle count batches, plus cycle_count_items_create, cycle_count_locations_create, and cycle_count_recount_create mutations for creating item-based, location-based, and recount cycle counts. See the Cycle Counts flow for detailed usage.
2026 April 20th
Added work_order_add_fees, work_order_update_fees, and work_order_remove_fees mutations for managing ad-hoc fees on work orders. 3PL users can now add, update, and remove fees through the Public API. Fees cannot be modified on completed or canceled work orders.
2026 April 17th
Renamed the clear_tote mutation to tote_clear. tote_clear is now the preferred mutation name for clearing tote picks, while clear_tote remains available as a deprecated legacy alias for backwards compatibility. The mutation still supports optional return_inventory.
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.
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.
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.
Added an active field to the Warehouse type so warehouse objects now expose whether each warehouse is active or inactive.
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.
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.
2026 March 25th
Published Public API Agents Skill — a ready-to-use skill for AI agents to obtain read-only access tokens for the ShipHero Public API.
Added a tote_qa field to the Order type and to order_create / order_update mutation inputs.
2026 March 17th
Added the user_update mutation to update user profile fields, and expanded user and users with account_pin, default_warehouse_id, and is_active support plus new User fields (default_order_status, default_warehouse_id, is_active).
Added an auto_pack boolean field to the Product type and to the product_create and product_update mutations, allowing API consumers to enable or disable the Auto Pack feature on products.
2026 March 5th
Added a ready_to_ship field to the Shipment type, enabling customers to calculate fulfillment time metrics (time from ready-to-ship until shipped).
2026 March 4th
Added Inbound Shipments queries and mutations to the Public API. You can now create, update, list, and query inbound shipments, including retrieving images, receiving summaries, and location summaries. New mutations: inbound_shipment_create, inbound_shipment_update. New queries: inbound_shipment, inbound_shipments, inbound_shipment_images, inbound_shipment_summary, inbound_shipment_location_summary.
2026 February 18th
2026 February 12th
Added the webhook_update_url mutation to allow changing a webhook’s destination URL without deleting and recreating it.
2026 January 28th
Added a partner_source_name field to the Order type to help identify orders coming from external partners like TikTok.
2026 January 23rd
Added webhook enable/disable functionality. Webhooks can now be created in a disabled state, enabled, or disabled without deletion. New fields added to webhook responses: enabled, health, created_at, updated_at, and last_enabled_change. Note: Events occurring while a webhook is disabled are discarded and not queued.
2025 December 29th
Added detailed documentation at Webhooks for the X-Shiphero-Message-ID header, explaining its role in message identification, deduplication, distributed tracing, and debugging.