Portal Info
ShipHero is administered through the ShipHero web application at https://app.shiphero.com. API access and developer documentation are available at the ShipHero Developer site.
API Endpoints
ShipHero exposes a GraphQL public API. The integration sends every product, kit, order, inventory, and shipment operation to a single GraphQL endpoint, distinguished by the GraphQL operation (query or mutation) in the request body:
POST [Base URL]/graphql
The Base URL is the ShipHero public API URL configured on the subscription (for example, https://public-api.shiphero.com). Each operation below is sent to that one endpoint; the operation name identifies what it does.
Table of Contents
Sales Order Endpoints
Product Endpoints
Product Kit Endpoints
Warehouse Product (Inventory) Endpoints
Shipment Endpoints
Authorization Endpoint
Sales Order Endpoints
Create an Order (POST)
POST [Base URL]/graphql
Operation:
order_create(mutation)Key fields: order number, shop name, shipping and billing address, and line items (SKU, quantity, price). Returns the new ShipHero order identifier.
Update an Order (POST)
POST [Base URL]/graphql
Operation:
order_update(mutation)Key fields: the ShipHero order identifier and the order header fields to update.
Add Order Line Items (POST)
POST [Base URL]/graphql
Operation:
order_add_line_items(mutation)Key fields: the order identifier and the line items to add (SKU, quantity, price). Line items are sent in batches for large orders.
Update Order Line Items (POST)
POST [Base URL]/graphql
Operation:
order_update_line_items(mutation)Key fields: the order identifier and the line items to update.
Get an Order (POST)
POST [Base URL]/graphql
Operation:
order(query)Key fields: retrieves an order and its line items by identifier, used to locate and link existing orders.
Product Endpoints
Create a Product (POST)
POST [Base URL]/graphql
Operation:
product_create(mutation)Key fields: SKU, name, barcode, dimensions, and warehouse product details (price, value, customs value, warehouse). Product variants are created as products.
Update a Product (POST)
POST [Base URL]/graphql
Operation:
product_update(mutation)Key fields: SKU (used to identify the product) and the product fields to update.
Get a Product by SKU (POST)
POST [Base URL]/graphql
Operation:
products(query)Key fields: finds a product by SKU, used to match and link products before creating orders, kits, or inventory.
Product Kit Endpoints
Build a Kit (POST)
POST [Base URL]/graphql
Operation:
kit_build(mutation)Key fields: the kit product's SKU and its component products (SKU and quantity).
Remove Kit Components (POST)
POST [Base URL]/graphql
Operation:
kit_remove_components(mutation)Key fields: the kit product's SKU and the components to remove. Used to rebuild a kit's components on each transfer.
Warehouse Product (Inventory) Endpoints
Get Warehouse Product Inventory (POST)
POST [Base URL]/graphql
Operation:
warehouse_products(query)Key fields: retrieves a product's or variant's on-hand, available, allocated, backorder, and non-sellable quantities by warehouse.
Update Warehouse Product (POST)
POST [Base URL]/graphql
Operation:
warehouse_product_update(mutation)Key fields: the warehouse product's price, value, customs value, and warehouse identifier.
Shipment Endpoints
Get Shipments (POST)
POST [Base URL]/graphql
Operation:
shipments(query)Key fields: retrieves a shipment and its shipping label details — tracking number, carrier, cost, and shipped line items — for an order.
Authorization Endpoint
ShipHero uses token-based authentication. The integration exchanges the configured username and password for an access token and refresh token at the authorization endpoint, then sends the access token with each GraphQL request:
POST [Base URL]/auth/token
For details on API access and authentication, see the ShipHero Developer documentation.
Related Documents
