Skip to main content
Connect ShipHero under Control Hub → Integrations with an instance label and API refresh token. Organization admins can add multiple accounts, select a default, rotate a token, or disconnect one account. Tokens belong only to that organization; Aster does not store your ShipHero password. The ShipHero user must have Enable API Access selected under Users & Roles → API Access. A successful login alone does not grant API access. Obtain tokens following ShipHero’s authentication documentation. Aster exchanges the static refresh token for an access token at the start of each tool invocation. The access token is kept only in memory; reconnect if the refresh token is revoked. Tokens from ShipHero’s password or developer flows retain the user’s API permissions, so the token itself is not read-only. Aster’s query tool enforces GraphQL query operations independently. A separate snapshot tool can start an inventory report job; it does not change inventory.
  • ShipHero Get Schema discovers GraphQL types, fields and arguments.
  • ShipHero Query runs any read query exposed by ShipHero’s live schema, subject to the connected user’s permissions. There is no platform list of allowed query fields. Mutations and subscriptions are rejected before any request is made.
  • ShipHero Generate Snapshot starts an asynchronous inventory report job. It supports warehouse/customer filters, the customer-grouped format, updated-since filtering and the inventory-only filter. Poll inventory_snapshot with the returned ID; a queued job is not a finished file. After a timeout, inspect existing jobs before retrying. The tool does not dispatch emails or webhooks.
For inventory planning, inspect warehouse-level inventory, open purchase-order quantities and actual receipts separately. A purchase order is not evidence that stock was received. Preserve each product’s units and warehouse identity when combining data with another ERP. Queries return one page at a time. Request pageInfo { hasNextPage endCursor }, then pass after until complete, including nested line-item connections. Page sizes are limited to 100. Large responses fail explicitly; partial GraphQL errors never return misleading partial totals. Narrow SKU/date filters and analyze: true help manage ShipHero’s shared query quota. Rate-limit errors require waiting before retrying. This connector does not synchronize a knowledge base, schedule jobs, or create/change orders, inventory, or warehouse records.

Bulk exports and inventory history

Use shiphero_get_schema to discover data_exports arguments and response types, then call it with shiphero_query. The saved user’s API and Data Export permissions must be enabled. See ShipHero Data Exports. Exports supply Parquet files for full runs and overlapping deltas. Select modules to limit data, read every returned file part, and re-query when signed URLs expire. Timestamp filters select export runs, not order or inventory-change dates. Inspect actual record coverage, preserve source identifiers, and deduplicate overlapping deltas before using them for totals. Treat download URLs as temporary credentials; do not publish them. For a point-in-time inventory file, discover inventory_snapshots and inventory_snapshot. Use shiphero_generate_snapshot only when a new report is needed. For stockout tracking, include zero-inventory products (omit has_inventory or set false), retain warehouse identity, and keep virtual warehouses separate. New snapshots describe current stock, not historical stockout days. A daily history requires a separate scheduled capture and durable storage; enabling this integration does not create that schedule.