stocktakes

One stock count, with its totals and the variance it found

One count by id, in the shape the table serves it: status, counted_on, the locations it covers, line_count and counted_line_count, and the totals, system_total, counted_total, variance_total and variance_value_total.

The totals cover COUNTED lines only, so counted_total - system_total is exactly variance_total. An uncounted line has no reading and is in line_count but not in counted_line_count, which is how a caller tells "counted and matched" from "not yet counted": the two are the same zero on a total and different facts about a shelf.

variance_value_total PRICES AN UNPRICED LINE AT ZERO. A counted line on a variant with no cost on file adds its units to variance_total and nothing to the money, so the money total under-reports by whatever those lines are worth. get_stocktake_lines_table serves unit_cost per line, and a null there is what the money is missing.

status is open while counting and posted once the count is closed, when posted_at is stamped and the figures stop moving. Use get_stocktake_lines_table for the lines behind these totals.

A count this organisation does not have is 404, never an empty body.

Scope: stocktakes:read.

get/api/v1/stocktakes/{stocktake_id}

Request

  • Base URL: https://api.app.tightly.io
  • URL: https://api.app.tightly.io/api/v1/stocktakes/{stocktake_id}
  • Auth: HTTP bearer

Path parameters

stocktake_idinteger required
Example:1

The count's id, as id on every stocktake row.

Headers

Tightly-Versionstring
Example:2026-11

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.

Response

The count, with the locations it covers and the totals it found.

messageobject

severity, service and desc.

Changes

No recorded changes to this operation across all 1 revision of this API.