Skip to main content

Get Inventory Summary

GET 

/api/storefront/instances/:id/inventory/summary

The counts behind the inventory comparison, plus the settings that produced them. Every count is derived with exactly the same predicates filter[status] uses on the list endpoint, so a count and the filtered list it links to can never disagree.

Not yet available to API tokens

This endpoint currently requires session authentication; Personal Access Token scope support is in progress.

Status counts — these five partition every listing on the connection, so in_sync + variance + never_pushed + unknown_on_store + not_managed == total:

  • in_sync — last pushed quantity equals what SKU.io would send now.
  • variance — last pushed quantity differs from what SKU.io would send now; these are the SKUs the next push will re-send.
  • never_pushed — no inventory has been pushed for the SKU yet.
  • unknown_on_store — the store reported it holds no product with that SKU on the last push.
  • not_managed — nothing will ever push the row: the connection's master of stock is not SKU.io, or the product has left the push-eligible set (archived, not a sellable type, SKU cleared). Counted separately and deliberately EXCLUDED from in_sync and variance.

Other fields:

  • total — listings on this connection.
  • pushed — listings whose last inventory push succeeded. This is an all-time stored outcome on a different axis from the five statuses above, so it does not add into them.
  • last_inventory_push_at — the most recent inventory push timestamp across the connection, or null.
  • selected_warehouse_ids — the warehouses the compared quantity is summed over. An empty array means the tenant-wide total is used.
  • buffer — units held back from the store, subtracted after summing.
  • scheduled — whether scheduled inventory pushes run in this environment at all.
  • master_of_stock vs is_master_of_stock — NOT the same thing. master_of_stock is the raw stored setting value ('sku.io' or 'neither'; it defaults to 'sku.io' when the connection has never been given one). is_master_of_stock is the resolved boolean the push and the comparison actually obey — true only when that setting resolves to SKU.io. Read master_of_stock to show or edit the setting; branch on is_master_of_stock to decide whether quantities will be written at all. When it is false, every row reports not_managed and no push writes anything.
  • auto_sync — the scheduled push, read from the schedule that is actually registered: cadence (human label), interval_seconds, seconds_until_next (null when the schedule is not running), active, and inactive_reason (null when active) explaining why it is not running — not the master of stock, not this environment, paused, or outbound inventory sync switched off.

Authentication: Bearer token (session or PAT).

Request​

Responses​

OK

Response Headers
    Content-Type