---
title: "Update Product"
method: PUT
path: "/v1/products/product/{product_id}"
tags: ["API / Product", "Use case / Master data sync"]
---

# Update Product

`PUT /v1/products/product/{product_id}`

## Request

- Base URL: `https://api.qargo.com`
- URL: `https://api.qargo.com/v1/products/product/{product_id}`
- Auth: OAuth 2 (client credentials, token URL `/v1/auth/token`)

Update an existing product.

## Path parameters

- `product_id` string, uuid, required

## Request body

- ProductInput
  - `code` string: Code of the product. Use it as the reference to the product in your system.
  - `description` string: Free-text description of the product.
  - `name` string, required: Name of the product.
  - `product_type` ProductTypeReference, required
    - `id` string, uuid, required: Unique identifier of the product type.
  - `parent_product` ProductReference
    - `id` string, uuid, required: Unique identifier of the product.

## Response `200`

Successful Response

- ProductOutput
  - `code` string: Code of the product. Use it as the reference to the product in your system.
  - `description` string: Free-text description of the product.
  - `id` string, uuid, required: Unique identifier of the product.
  - `name` string, required: Name of the product.
  - `is_archived` boolean, required: Whether the product is archived. Archived products can't be used on new orders.
  - `product_type` ProductTypeSummary, required
    - `id` string, uuid, required: Unique identifier of the product type.
    - `name` string, required: Name of the product type.
    - `code` string, nullable: Code of the product type.
  - `parent_product` ProductSummary
    - `id` string, uuid, required: Unique identifier of the product.
    - `name` string, required: Name of the product.
    - `code` string, nullable: Code of the product.

## Other responses

- `400`: Bad Request — invalid input or malformed request
- `401`: Unauthorized — missing or invalid authentication credentials
- `403`: Forbidden — insufficient permissions for this operation
- `422`: Validation Error
- `429`: Too Many Requests — rate limit exceeded. See the `Retry-After` header
- `500`: Internal Server Error
- `503`: Service Unavailable — temporarily unable to handle the request

## Changes

- **2026-10-20** `06c0f687a401`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/qargo/apis/qargo-tms-api/changes/v1/products/product/:product_id/put.md)

---

[API](https://skmtc.dev/qargo/apis/qargo-tms-api.md) · [All operations](https://skmtc.dev/qargo/apis/qargo-tms-api/llms.txt) · [OpenAPI document](https://skmtc.dev/qargo/apis/qargo-tms-api/revisions/46db2c329351?raw)
