Inventory Sync
Stock levels change far more often than catalog data (every sale moves them), so an inventory integration usually needs a different shape than Catalog Sync: more frequent polling, and usually only for a subset of products.
Full sync, then incremental
Section titled “Full sync, then incremental”Same core pattern as catalog sync: full paginated fetch of GET /v1/inventory/stock on first run,
then updatedSince on every run after, upserting by productId. Record availability alongside
stockQuantity if your integration cares about the enum specifically (a low-stock dashboard
usually does) - see Inventory Stock for the four values.
curl "https://dev-api.theprioryshop.co.uk/v1/inventory/stock?pageSize=100&page=1&updatedSince=2026-08-27T00%3A00%3A00.000Z" \ -H "Authorization: Bearer epos_dev_sk_example_not_real"Low-stock alerting
Section titled “Low-stock alerting”If all you need is “what’s currently low or out of stock,” lowStockOnly=true is cheaper than
syncing everything and filtering client-side:
curl "https://dev-api.theprioryshop.co.uk/v1/inventory/stock?storeId=clx1store0000001&lowStockOnly=true" \ -H "Authorization: Bearer epos_dev_sk_example_not_real"This still only returns availability: "low_stock" rows - it does not include out_of_stock
(see Inventory Stock for the exact threshold logic). If you
want both, either make two calls or fetch unfiltered and split client-side by availability.
Picking a polling interval
Section titled “Picking a polling interval”There’s no push notification for a stock change - see Events & Webhooks. Pick an interval that matches how time-sensitive your use case is (a “still in stock?” check before checkout needs to be much fresher than a weekly stock report), and see Rate Limits for backoff guidance if you’re polling aggressively.