---
title: "Updates an existing Product by ID"
method: PUT
path: "/products/{id}"
tags: ["Product"]
---

# Updates an existing Product by ID

`PUT /products/{id}`

Required permission: Products - Edit

## Path parameters

- `id` integer, required

## Request body

- object
  - `price_cost` number
  - `price_retail` number
  - `condition` string
  - `description` string, required
  - `maintain_stock` boolean
  - `name` string, required
  - `quantity` integer
  - `warranty` string
  - `sort_order` integer
  - `reorder_at` integer
  - `disabled` boolean
  - `taxable` boolean
  - `product_category` string
  - `upc_code` string
  - `discount_percent` number
  - `warranty_template_id` integer
  - `qb_item_id` integer
  - `desired_stock_level` integer
  - `price_wholesale` number
  - `notes` string
  - `tax_rate_id` integer
  - `vendor_ids` integer[]
  - `physical_location` string
  - `serialized` boolean
  - `category_ids` integer[]
  - `product_skus_attributes` object[]
    - `value` string
    - `vendor_id` integer

## Response `200`

successful

## Other responses

- `422` — Invalid request

---

[API](https://skmtc.net/syncromsp/apis/syncro.md) · [All operations](https://skmtc.net/syncromsp/apis/syncro/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/syncromsp/syncro/versions/3df3aed287cc/schema)
