---
title: "AddRollingStockTake"
method: POST
path: "/api/Stock/AddRollingStockTake"
tags: ["Stock"]
---

# AddRollingStockTake

`POST /api/Stock/AddRollingStockTake`

Add rolling stock take/count. Rolling stock count will create a stock count header for every day (UTC based). Every request will create a session, adds all entries into the stock count
recounts all totals and discrepancies. WMS location or batched items requires BatchInventoryId to be specified. If you are submitting stock level for item that doesn't have batch inventory you must create it first, get its id and submit in the count
The method validates all entries, if any errors encountered the whole request will be rejected.
<b>Permissions Required: </b> GlobalPermissions.Inventory.StockTake.RollingStockCountNode
<b>Rate limit: </b><span style="background-color:#0272d9;color:white;padding:4px 8px;text-align:center;border-radius:5px; font-size: small;"><b>150</b></span> / minute

## Request body

- AddRollingStockTakeRequest
  - `LocationId` string, uuid — Location Id
  - `SessionDuriationSeconds` integer — Time in seconds the stock take session has taken
  - `Items` StockTakeItem[] — List of stock take items. Maximum 1000 items in a stock take session
    - `BinRack` string — (optional) Only applicable to non-batched and non-WMS locations. Singular BinRack will be updated for the given item for a given location. Will be ignored for a batched or WMS item.
    - `PickingWaveItems` BatchPickingWaveStockItems[] — (optional) Pickwave items associated with the batch. This data will be used for concurrency check and validation of data. Super important stuff when you are submitting batch inventory stock count in WMS location. Order items will automatically be allocated to a specific batch when the order is placed/printed/added to pickwave. This will normally block stock count, however it is possible to get the state of pickwave items, and if all items are picked from the location the user can still count them. When stock count is submitted we need to also submit the state of the pickwave at the point of count, so we can compare state was and the state is, discount any stock from the count that was processed/shipped If this parameter is not supplied and the batch is allocated to orders, the stock count for this item will be blocked and will not be submitted
      - `PickingWaveItemsRowId` integer — Pickwave Row Id
      - `PickingWaveId` integer — Pickwave Id
      - `UserName` string — User name to whom the pickwave was/is allocated. If unallocated this will be null
      - `ToPickQuantity` integer — Total Quantity to pick
      - `PickedQuantity` integer — Picked quantity
      - `StockItemId` string, uuid — Stock Item Id
      - `OrderId` integer — Order Id
      - `UserId` integer — User Id to whom the pickwave was/is allocated. If unallocated this will be null
    - `StockItemId` string, uuid — Stock Item Id
    - `Quantity` integer — Current stock level
    - `OriginalQuantity` integer — (Optional) Original quantity, used to validate if the original has changed since the items have been counted. If supplied and different to expected then an error will be returned.
    - `StockValue` number, double — (optional) Stock value (unit cost * quantity). If not provided it will be calculated from current stock value
    - `BatchInventoryId` integer — (conditional) If item is batched or in WMS location, you must provide BatchInventoryId which is being updated. If its newly discovered item, use BookInStockBatch call in Stock controller to create a new batch inventory

## Response `200`

OK

- AddRollingStockTakeResponse
  - `ErroredItems` StockTakeItemWithError[] — List of items that have failed validation, if any items are returned then the stock take won't be submitted.
    - `BinRack` string — (optional) Only applicable to non-batched and non-WMS locations. Singular BinRack will be updated for the given item for a given location. Will be ignored for a batched or WMS item.
    - `PickingWaveItems` BatchPickingWaveStockItems[] — (optional) Pickwave items associated with the batch. This data will be used for concurrency check and validation of data. Super important stuff when you are submitting batch inventory stock count in WMS location. Order items will automatically be allocated to a specific batch when the order is placed/printed/added to pickwave. This will normally block stock count, however it is possible to get the state of pickwave items, and if all items are picked from the location the user can still count them. When stock count is submitted we need to also submit the state of the pickwave at the point of count, so we can compare state was and the state is, discount any stock from the count that was processed/shipped If this parameter is not supplied and the batch is allocated to orders, the stock count for this item will be blocked and will not be submitted
      - `PickingWaveItemsRowId` integer — Pickwave Row Id
      - `PickingWaveId` integer — Pickwave Id
      - `UserName` string — User name to whom the pickwave was/is allocated. If unallocated this will be null
      - `ToPickQuantity` integer — Total Quantity to pick
      - `PickedQuantity` integer — Picked quantity
      - `StockItemId` string, uuid — Stock Item Id
      - `OrderId` integer — Order Id
      - `UserId` integer — User Id to whom the pickwave was/is allocated. If unallocated this will be null
    - `Errors` string[] — List of errors for specific stock take item
    - `StockItemId` string, uuid — Stock Item Id
    - `Quantity` integer — Current stock level
    - `OriginalQuantity` integer — (Optional) Original quantity, used to validate if the original has changed since the items have been counted. If supplied and different to expected then an error will be returned.
    - `StockValue` number, double — (optional) Stock value (unit cost * quantity). If not provided it will be calculated from current stock value
    - `BatchInventoryId` integer — (conditional) If item is batched or in WMS location, you must provide BatchInventoryId which is being updated. If its newly discovered item, use BookInStockBatch call in Stock controller to create a new batch inventory

---

[API](https://skmtc.net/linnworks/apis/authenticate-api.md) · [All operations](https://skmtc.net/linnworks/apis/authenticate-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/linnworks/authenticate-api/revisions/0123569a22fb/schema)
