---
title: "Create a Stocktake"
method: POST
path: "/inventory/stock-takes"
tags: ["StockTakes"]
---

# Create a Stocktake

`POST /inventory/stock-takes`

This endpoint creates a stocktake for the given site.

## Request body

- object
  - `site_id` string, uuid, required — Identifier of the site the stocktake is being performed at. All items counted in this stocktake must belong to this site; the caller's API key must have access to it.
  - `location_id` string, uuid, required — Identifier of the stock location being counted. Counts are recorded against this location, and any variance found creates adjustments at this location only.
  - `description` string, required — Free-text label shown in the admin UI and on stocktake reports, used to distinguish this stocktake from others (e.g. "Quarterly retail count Q1 2024"). 1-255 characters.

## Response `201`

The stocktake was successfully retrieved

- object
  - `data` StockTake, required
    - `id` string, uuid, required — The ID of the stocktake.
    - `description` string, required — The description of the stocktake.
    - `status` 'in_progress' | 'complete', required — The status of the stocktake.
    - `currency` string, required — The currency of the stocktake.
    - `created_by_id` string, uuid, nullable, required — The ID of the user who created the stocktake.
    - `created_by` SchemasUserSummary
      - `id` string, uuid, required — The ID of the user
      - `email` string, required
      - `first_name` string, required — The first name of the user
      - `last_name` string, required — The last name of the user
      - `full_name` string, required — The full name of the user
    - `posted_by_id` string, uuid, nullable — The ID of the user who posted the stocktake.
    - `posted_by` SchemasUserSummary
      - `id` string, uuid, required — The ID of the user
      - `email` string, required
      - `first_name` string, required — The first name of the user
      - `last_name` string, required — The last name of the user
      - `full_name` string, required — The full name of the user
    - `items_added` boolean, required — Whether items have been added to the stock take.
    - `site_id` string, uuid, required — The ID of the site the stocktake belongs to.
    - `organisation_id` string, uuid, required — The ID of the organisation this stocktake belongs to.
    - `created_at` string, date-time, required — The date and time the stocktake was created.
    - `posted_at` string, date-time, nullable, required — The date and time the stocktake was posted.
    - `updated_at` string, date-time, required — The date and time the stocktake was last updated.

## Other responses

- `401` — The user is unauthenticated
- `403` — The authenticated user does not have permission.
- `422` — The request didn't pass validation

---

[API](https://skmtc.dev/try/apis/trybe-api.md) · [All operations](https://skmtc.dev/try/apis/trybe-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/try/trybe-api/revisions/f37f92702da5/schema)
