Skip to main content
https://exclusivo.one/api/v1 · scopes inventory:read, inventory:write Only products with trackInventory: true appear here. A product with tracking off never sells out and isn’t listed.

Read stock

This one doesn’t paginate — you get every tracked product with a count. threshold only affects the lowStock flag and the low_stock filter.

Adjust stock

Needs inventory:write. Send product_id, plus either adjustment or set.

Which one to use

Use adjustment for anything that might run concurrently. It applies as an atomic increment, so two adjustments arriving together both land.set overwrites. Two concurrent set calls means one silently wins, and a set racing a customer’s purchase can put back stock that was just sold.Keep set for stocktakes, where overwriting is what you actually mean.
Stock never goes below zero — both paths clamp at 0.

The log

Every adjustment records the previous value, the new one, the reason, the source and which key made it. That’s what you use to work out why stock is wrong.

The low-stock webhook

Crossing the threshold downwards fires inventory.low. It fires on the crossing, not on every decrement below it — so you get one alert, not a stream. That webhook threshold is a fixed 10, independent of the threshold parameter on the read endpoint. Webhooks

Errors