---
title: "Copy an Inventory Product"
method: POST
path: "/inventory/products/{productId}/copy"
tags: ["InventoryProducts"]
---

# Copy an Inventory Product

`POST /inventory/products/{productId}/copy`

This endpoint copies an existing inventory product by ID.

## Request body

- object
  - `name` string, required — Name to give the duplicated inventory product. Typically the source product's name with a "(copy)" suffix. Trimmed; 1-120 characters and must not contain HTML.

## Response `200`

The inventory product was successfully retrieved

- object
  - `data` InventoryProduct, required
    - `id` string, uuid, required — The ID of the inventory product.
    - `name` string, required — The name of the inventory product.
    - `description` string, nullable, required — A description of the inventory product.
    - `sku` string, nullable, required — A stock keeping unit (SKU) for the inventory product.
    - `barcode` string, nullable, required — A barcode for the inventory product.
    - `average_cost` integer, required — The average cost of the inventory product in the lowest denomination for this product's currency.
    - `currency` string, required — The currency of the inventory product.
    - `reorder_level` integer, nullable, required — The quantity of this inventory product which should be reordered.
    - `stock_level` number, required — The quantity of this stock at the site.
    - `stock_value` integer, required — The total value of this stock at the site in the lowest denomination for this product's currency.
    - `brand_id` string, uuid, nullable, required — The ID of the brand this inventory product belongs to.
    - `brand` InventoryBrand
      - `id` string, uuid, required — The ID of the inventory brand.
      - `name` string, required — The name of the inventory brand.
      - `site_id` string, uuid, nullable, required — The ID of the site the inventory brand belongs to.
      - `organisation_id` string, uuid, required — The ID of the organisation the inventory brand belongs to.
    - `category_id` string, uuid, nullable, required — The ID of the category this inventory product belongs to.
    - `category` InventoryCategory
      - `id` string, uuid, required — The ID of the inventory category.
      - `name` string, required — The name of the inventory category.
      - `site_id` string, uuid, nullable, required — The ID of the site the inventory category belongs to.
      - `organisation_id` string, uuid, required — The ID of the organisation the inventory category belongs to.
      - `order` integer, required — The display order of the inventory category within its site. Lower values are shown first. Set via the reorder endpoint.
    - `site_id` string, uuid, required — The ID of the site this inventory product belongs to.
    - `organisation_id` string, uuid, required — The ID of the organisation this inventory product belongs to.

## Other responses

- `401` — The user is unauthenticated
- `403` — The authenticated user does not have permission.
- `404` — The resource couldn't be found
- `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)
