---
title: "Apply an absolute stock count"
method: POST
path: "/v1/inventory_items/{id}/counts"
tags: ["Inventory Items"]
---

# Apply an absolute stock count

`POST /v1/inventory_items/{id}/counts`

## Request

- Base URL: `https://inventories-api.paymongo.com`
- URL: `https://inventories-api.paymongo.com/v1/inventory_items/{id}/counts`
- Auth: HTTP basic

Set an item's on_hand count to an absolute value, recorded as one correction movement. A count equal to the current on_hand succeeds without writing a movement. Refused when the count would fall below held.

## Path parameters

- `id` string, required

## Request body

- CountItemRequestDTO: Absolute stock count
  - `on_hand` integer, required: OnHand is a pointer so binding's "required" check does not mistake a legitimate zero count for an absent field: an empty body must 400, not silently zero the item's stock.

## Response `200`

OK

- object: Standard response containing data and its metadata if any
  - `data` ItemResponseDTO: Stock counters for one variant at one warehouse
    - `available` integer
    - `created_at` integer
    - `held` integer
    - `id` string
    - `livemode` boolean
    - `low_stock_threshold` integer
    - `on_hand` integer
    - `updated_at` integer
    - `variant_id` string
    - `warehouse_id` string
  - `has_more` boolean

## Other responses

- `400`: Bad Request
- `404`: Not Found
- `409`: Conflict
- `422`: Unprocessable Entity
- `500`: Internal Server Error

---

[API](https://skmtc.dev/paymongo/apis/inventories.md) - [All operations](https://skmtc.dev/paymongo/apis/inventories/llms.txt) - [OpenAPI document](https://skmtc.dev/paymongo/apis/inventories/revisions/7307fa6b0b16?raw)
