Open a stock count over a set of locations and a product selection
Opens one count and returns it. The body takes name, counted_on, location_ids (at least one) and then either variant_ids or include_all_variants: true, one or the other, and sending both is refused 400.
Each line snapshots the system quantity at the moment the count is created, so the variance a warehouse reviews cannot move under it while the shelf is being counted. The count opens status: open with every counted_quantity null and counted_line_count 0.
include_all_variants covers every variant holding stock at the chosen locations. A selection resolving to more than 20,000 lines is refused 400 naming the figure, and nothing is created; narrow it by location or name the variants. A selection resolving to no lines at all is refused the same way.
counted_on is the date the shelf was counted, not the date of this call, so a count keyed in the morning after can still be dated correctly. It does not have to be today.
Then set the counts, update_stocktake_counts by hand, or import_stocktake_counts from a file, and close it with post_stocktake. Nothing moves a stock level until it is posted.
Scope: stocktakes:write, which includes stocktakes:read.
Request
- Base URL: https://api.app.tightly.io
- URL: https://api.app.tightly.io/api/v1/stocktakes
- Auth: HTTP bearer
Headers
The date train to answer on. One train exists today, 2026-11, the one this reference describes and the one every key is minted on, so the call answers on it with or without this header. Send it anyway, so a client built now names its train from the start.
A string of your own, up to 255 characters, that makes this write safe to retry. Send the same key twice and the second request is answered with the first one's status and body instead of writing again, so a client that retried after a timeout ends holding the record's id rather than creating a second one. Reusing a key with a different body, or while the first request is still running, is refused 409. A write that failed releases its key. Keys answer for 24 hours and belong to the API key that used them. A key longer than 255 characters is ignored and the write goes ahead without the guarantee.
Request body
Response
The count, opened, with its lines snapshotted and nothing counted yet.
Changes
No recorded changes to this operation across all 1 revision of this API.