Product Stock Across Storage Locations

Maxim

Maxim

Last updated on Oct 8, 2026

Returns product stock across all storage locations as a single list: one row per «product, storage location» pair where the product is stocked.

v1/products/get_stocks.php

Parameters

Field Type Required Description
product_ids array No Product IDs. Without them, all products are returned
storage_ids array No Only these storage locations. Without them, all storage locations
limit int No Page size, from 1 to 1000
offset int No How many records to skip

Rows are sorted by product ID and storage location ID. Deleted products and storage locations are not included. The total field holds the total number of rows matching the filters.

Example request

{
    "product_ids": [3120, 312]
}

Example response

{
    "success": true,
    "stocks": [
        {
            "product_id": 312,
            "storage_id": 3999,
            "stock": 86,
            "minimum": 40,
            "planned": -40
        },
        {
            "product_id": 3120,
            "storage_id": 3999,
            "stock": 12,
            "minimum": 3,
            "planned": null
        },
        {
            "product_id": 3120,
            "storage_id": 4005,
            "stock": 0,
            "minimum": 0,
            "planned": 10
        }
    ],
    "total": 3
}

Errors

Error Reason
Product_ids is not an array product_ids was not passed as an array
Storage_ids is not an array storage_ids was not passed as an array
Storage ID not found Storage location not found or deleted
Invalid limit value. Must be between 1 and 1000 Invalid limit