> ## Documentation Index
> Fetch the complete documentation index at: https://docs.fire.rest/llms.txt
> Use this file to discover all available pages before exploring further.

# Create stock count

> Submits a physical inventory count. For FULL scope, BOH reconciles the entire store balance; for PARTIAL, only counted items are adjusted. Returns HTTP 202.

<ParamField header="x-api-key" type="string" required>
  API key with `inventory:write` scope.
</ParamField>

<ParamField path="vendorId" type="string" required>
  Vendor UUID.
</ParamField>

<ParamField body="idempotency_key" type="string" required>
  Idempotency key (1–128 chars).
</ParamField>

<ParamField body="external_user_id" type="string" required>
  Actor for audit trail.
</ParamField>

<ParamField body="store_id" type="string" required>
  UUID of the store being counted.
</ParamField>

<ParamField body="scope" type="string" required>
  `FULL` or `PARTIAL`.
</ParamField>

<ParamField body="count_type" type="string">
  `DAILY`, `WEEKLY`, `MONTHLY`, or `AUDIT`.
</ParamField>

<ParamField body="counted_at" type="string">
  ISO 8601 timestamp of when the count was taken (defaults to `now()`).
</ParamField>

<ParamField body="area_breakdown" type="object">
  Map of area code → item\_id → counted quantity in base units. Used for the area-level collaborative count view.
</ParamField>

<ParamField body="notes" type="string">
  Free-text notes (max 500 chars).
</ParamField>

<ParamField body="metadata" type="object">
  Free-form extra data.
</ParamField>

<ParamField body="entries" type="object[]" required>
  Counted lines (at least 1):

  <Expandable title="entry fields">
    <ParamField body="item_id" type="string" required>UUID of the item counted.</ParamField>
    <ParamField body="counted_quantity" type="number" required>Quantity in the display unit.</ParamField>
    <ParamField body="counted_qty_base" type="number" required>Quantity converted to the item's base unit.</ParamField>
    <ParamField body="base_unit_id" type="string" required>UUID of the base unit.</ParamField>
    <ParamField body="unit_id" type="string">UUID of the display unit.</ParamField>
    <ParamField body="unit_label" type="string">Display label for the unit.</ParamField>
    <ParamField body="unit_to_base_factor" type="number" required>Conversion factor.</ParamField>
    <ParamField body="lot_id" type="string">Lot UUID if tracking lots.</ParamField>
    <ParamField body="metadata" type="object">Extra data per line.</ParamField>
  </Expandable>
</ParamField>

<ResponseField name="tracking_id" type="string">Polling token.</ResponseField>
<ResponseField name="inventory_transaction_id" type="string">Transaction UUID.</ResponseField>
<ResponseField name="stock_count_id" type="string">Created stock count UUID.</ResponseField>
<ResponseField name="idempotent" type="boolean">`true` if duplicate.</ResponseField>

<RequestExample>
  ```json theme={null}
  {
    "idempotency_key": "count-2026-08-07-main",
    "external_user_id": "user_counter",
    "store_id": "str_main_01...",
    "scope": "PARTIAL",
    "count_type": "DAILY",
    "counted_at": "2026-08-07T06:00:00.000Z",
    "entries": [
      {
        "item_id": "itm_chicken_01...",
        "counted_quantity": 3.5,
        "counted_qty_base": 3500,
        "base_unit_id": "unit_g_01...",
        "unit_id": "unit_kg_01...",
        "unit_label": "kg",
        "unit_to_base_factor": 1000
      }
    ]
  }
  ```
</RequestExample>

<ResponseExample>
  ```json 202 theme={null}
  {
    "tracking_id": "trk_01j5k...",
    "inventory_transaction_id": "txn_01j5k...",
    "stock_count_id": "cnt_01j5k...",
    "idempotent": false
  }
  ```
</ResponseExample>
