Stock API
The Stock API lets you read a product's current stock information and its full stock mutation history, and gives you a recent-changes overview across your whole catalog.
All endpoints are read-only and require the stock:read scope. Authenticate every request as described in Authentication.
Base URL: https://api.storelinkr.com
Get stock information for a product
Returns the current stock for a single product, including the per-location breakdown and which sources supplied the stock. You can look the product up by UUID, EAN or SKU.
GET /api/public/v2/catalog/products/{uuid}/stock
GET /api/public/v2/catalog/products/ean/{ean}/stock
GET /api/public/v2/catalog/products/sku/{sku}/stock
Example
curl -X GET "https://api.storelinkr.com/api/public/v2/catalog/products/ean/8712345678901/stock" \
-H "X-StoreLinkr-Api-Key: your_api_token_here" \
-H "X-StoreLinkr-Api-Secret: your_api_secret_here" \
-H "Accept: application/json"
Response
{
"status": "success",
"product": {
"uuid": "01234567-89ab-cdef-0123-456789abcdef",
"ean": "8712345678901",
"sku": "SKU-001"
},
"stock": {
"has_stock": true,
"quantity_available": 18,
"quantity_supplier": 0,
"delivery_date": null,
"stock_locations": [
{ "name": "Warehouse 1", "quantity": 3, "source": "CYCLESOFTWARE" },
{ "name": "Warehouse 2", "quantity": 5, "source": "CYCLESOFTWARE" }
],
"sources": ["CYCLESOFTWARE"]
}
}
| Field | Description |
|---|---|
has_stock | Whether the product has any available stock. |
quantity_available | The total available quantity (sum of all warehouses). |
quantity_supplier | Stock held at a supplier (dropshipping). |
delivery_date | Expected delivery date, if known. |
stock_locations | The per-warehouse breakdown. |
sources | The integrations that supplied the stock. |
If no product matches, the API returns 404 Not Found.
Get a product's stock mutations
Returns the paginated stock change history for a single product, newest first. Available by UUID, EAN or SKU.
GET /api/public/v2/catalog/products/{uuid}/stock/mutations
GET /api/public/v2/catalog/products/ean/{ean}/stock/mutations
GET /api/public/v2/catalog/products/sku/{sku}/stock/mutations
Query parameters
| Parameter | Default | Description |
|---|---|---|
limit | 100 | Results per page (maximum 500). |
page | 0 | Page number (zero-based). |
Response
{
"status": "success",
"product": {
"uuid": "01234567-89ab-cdef-0123-456789abcdef",
"ean": "8712345678901",
"sku": "SKU-001"
},
"pagination": { "pages": 1, "page": 0, "start": 0, "totalRecords": 2, "limit": 100 },
"mutations": [
{
"uuid": "…",
"ean": "8712345678901",
"previous_quantity": 5,
"new_quantity": 3,
"delta": -2,
"product_quantity": 18,
"stock_location_uuid": "…",
"stock_location_name": "Warehouse 1",
"source": "ORDER_DEDUCTION",
"source_label": "Order deduction",
"changed_by": "CYCLESOFTWARE",
"reference": "1078",
"created": "2026-07-19T10:00:00+00:00"
}
]
}
Each mutation describes the change at one warehouse: previous_quantity and new_quantity are that warehouse's levels, delta is the change, and product_quantity is the product's total after the change. See Stock History for how these are recorded.
Recent stock mutations (whole catalog)
Returns a paginated overview of the most recent stock changes across your entire catalog, newest first. Use this to build dashboards or to poll for changes.
GET /api/public/v2/catalog/stock/mutations
It accepts the same limit and page query parameters and returns the same pagination and mutations structure as above (without the product object, since entries can span many products).
Example
curl -X GET "https://api.storelinkr.com/api/public/v2/catalog/stock/mutations?limit=50" \
-H "X-StoreLinkr-Api-Key: your_api_token_here" \
-H "X-StoreLinkr-Api-Secret: your_api_secret_here" \
-H "Accept: application/json"