SIGNALS Documentation
API Reference

Stock Checks

Stocktakes with count aliases, discrepancies, CSV export, and submit/revert action routes.

Stock Checks API

A stock check (stocktake) reconciles counted quantities against expected inventory for a scoped set of stock. Checks are warehouse-scoped, carry SC- reference sequences, and snapshot expected baselines at creation. Counting is line-scoped; submitting a check records the discrepancy matrix, and resolution moves stock through the existing transaction ledger — the check itself never moves stock directly.

Status is emitted as an compatibility integer code code with a status_label. Filter by status with q[status_eq]=0.

Endpoints

Method URL Description
GET /api/v1/stock_checks List stock checks
POST /api/v1/stock_checks Create a stock check
GET /api/v1/stock_checks/{stock_check} Show a stock check
PUT/PATCH /api/v1/stock_checks/{stock_check} Update an editable stock check
DELETE /api/v1/stock_checks/{stock_check} Cancel a stock check (204, row preserved)
GET|POST /api/v1/stock_checks/{stock_check}/submit Submit counts and detect discrepancies
GET|POST /api/v1/stock_checks/{stock_check}/revert Revert an applied check (compensating)
GET|POST /api/v1/stock_checks/{stock_check}/recalculate Recalculate expected for uncounted lines
GET /api/v1/stock_checks/{stock_check}/export Export the check as CSV

Count lines

/items, /counts, and /stock_check_items are compatibility aliases for the same count-line resource.

Method URL Description
GET /api/v1/stock_checks/{stock_check}/items List count lines
POST /api/v1/stock_checks/{stock_check}/items Record counts (additive)
GET /api/v1/stock_checks/{stock_check}/items/{item} Show a count line
PUT /api/v1/stock_checks/{stock_check}/items/{item} Set a count (absolute)
GET /api/v1/stock_checks/{stock_check}/counts Alias of items index
POST /api/v1/stock_checks/{stock_check}/counts Alias of items warehouse
PUT /api/v1/stock_checks/{stock_check}/counts/{item} Alias of items update
GET /api/v1/stock_checks/{stock_check}/stock_check_items Alias of items index
POST /api/v1/stock_checks/{stock_check}/stock_check_items Alias of items warehouse
GET /api/v1/stock_checks/{stock_check}/stock_check_items/{item} Alias of items show
PUT /api/v1/stock_checks/{stock_check}/stock_check_items/{item} Alias of items update

Discrepancies

Method URL Description
GET /api/v1/stock_checks/{stock_check}/discrepancies List detected discrepancies
PATCH /api/v1/stock_checks/{stock_check}/discrepancies/{discrepancy} Resolve or dismiss a discrepancy (review mode)

Authentication

Requires stock_checks:read (GET) or stock_checks:write (POST/PUT/PATCH/DELETE) with stock_checks.view, stock_checks.create, stock_checks.update, stock_checks.resolve, and stock_checks.delete permissions as applicable. Access is warehouse-scoped.

Create a stock check

POST /api/v1/stock_checks

A check has one of four scope types — warehouse, catalogue item group, location, or single catalogue item — optionally narrowed by stock-type, tag, and tracking filters. Creation snapshots expected baselines and lands the check directly in the counting state.

Counting

Bulk counts are additive via the collection POST and absolute via the item PUT. Barcoded assets are counted present/absent (1.00 / 0.00) and resolve by asset_id or asset_number. In-scope assets that were not expected create unexpected lines.

Submit, resolve, and revert

Submitting records the discrepancy matrix without moving stock. In auto-apply mode (default) a job resolves every discrepancy and completes the check; in review mode discrepancies are parked for per-row resolve/dismiss, with the check auto-completing when the last one clears. Resolution writes StockCheckIncrease / StockCheckDecrease ledger transactions carrying the discrepancy as their source; missing barcoded assets retire as lost, and unexpected ones relocate. Revert writes opposite-type compensating transactions of equal magnitude, voids check-created retirements, and undoes relocations.

Status codes

Code Label
0 Open (draft or counting)
1 Submitted
2 Completed
3 Cancelled

Webhooks

stock_check.created, stock_check.updated, stock_check.submitted, stock_check.completed, stock_check.reverted, stock_check.cancelled — see Webhooks.