---
title: "Update product"
method: PATCH
path: "/crm/v1/static/products/{itemId}"
tags: ["products"]
---

# Update product

`PATCH /crm/v1/static/products/{itemId}`

## Request

- Base URL: `https://{domain}.uspacy.ua`
- URL: `https://{domain}.uspacy.ua/crm/v1/static/products/{itemId}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/uspacy/apis/crm-service-2/docs/crm/v1/static/products/:itemId/patch.ts> (a function with typed inputs; its response is checked against the schema)

## Request body

- Product
  - `id` integer
  - `product_category_id` integer
  - `measurement_unit_id` integer
  - `title` string
  - `article` string
  - `type` 'goods' | 'service'
  - `is_active` boolean
  - `availability` 'available' | 'not_available' | 'pending'
  - `quantity` number
  - `reserved_quantity` number
  - `description` string
  - `comment` string
  - `link` string
  - `created_at` integer
  - `updated_at` integer
  - `product_category` ProductCategory
    - `id` integer
    - `parent_id` integer
    - `name` string
    - `is_active` boolean
    - `created_at` integer
    - `updated_at` integer
    - `child_categories` ProductCategory[]
  - `measurement_unit` MeasurementUnit
    - `id` integer
    - `name` string
    - `abbr` string
    - `is_default` boolean
  - `prices` ProductPrice[]
    - `id` integer
    - `price` integer
    - `currency` string
    - `is_default` boolean
    - `tax` Tax
      - `id` integer
      - `name` string
      - `rate` number
      - `is_active` boolean
  - `files` string[]

## Response `200`

OK

- Product
  - `id` integer
  - `product_category_id` integer
  - `measurement_unit_id` integer
  - `title` string
  - `article` string
  - `type` 'goods' | 'service'
  - `is_active` boolean
  - `availability` 'available' | 'not_available' | 'pending'
  - `quantity` number
  - `reserved_quantity` number
  - `description` string
  - `comment` string
  - `link` string
  - `created_at` integer
  - `updated_at` integer
  - `product_category` ProductCategory
    - `id` integer
    - `parent_id` integer
    - `name` string
    - `is_active` boolean
    - `created_at` integer
    - `updated_at` integer
    - `child_categories` ProductCategory[]
  - `measurement_unit` MeasurementUnit
    - `id` integer
    - `name` string
    - `abbr` string
    - `is_default` boolean
  - `prices` ProductPrice[]
    - `id` integer
    - `price` integer
    - `currency` string
    - `is_default` boolean
    - `tax` Tax
      - `id` integer
      - `name` string
      - `rate` number
      - `is_active` boolean
  - `files` string[]

## Other responses

- `401`: Access token is missing or invalid
- `422`: Validation error response

---

[API](https://skmtc.dev/uspacy/apis/crm-service-2.md) - [All operations](https://skmtc.dev/uspacy/apis/crm-service-2/llms.txt) - [OpenAPI document](https://skmtc.dev/uspacy/apis/crm-service-2/revisions/f80578d43845?raw)
