---
title: "Partial update a product"
method: PATCH
path: "/v1/products/{productId}"
tags: ["Products"]
---

# Partial update a product

`PATCH /v1/products/{productId}`

## Request

- Base URL: `https://api.frihet.io`
- URL: `https://api.frihet.io/v1/products/{productId}`
- Auth: API key in header `X-API-Key`

Update only the provided fields on an existing product or service.

## Path parameters

- `productId` string, required

## Request body

- ProductCreate
  - `name` string, required: Product or service name
  - `unitPrice` number, required: Unit price
  - `description` string: Product description
  - `taxRate` number: Default tax rate percentage

## Response `200`

Product updated

- Product
  - `id` string: Unique identifier
  - `createdAt` string, date-time
  - `updatedAt` string, date-time
  - `name` string, required: Product or service name
  - `unitPrice` number, required: Unit price
  - `description` string: Product description
  - `taxRate` number: Default tax rate percentage

## Other responses

- `400`: Bad request - invalid parameters or request body
- `401`: Authentication required or invalid API key
- `404`: Resource not found
- `429`: Rate limit exceeded (100 requests per minute)
- `500`: Internal server error

---

[API](https://skmtc.dev/frihet/apis/frihet-api.md) · [All operations](https://skmtc.dev/frihet/apis/frihet-api/llms.txt) · [OpenAPI document](https://skmtc.dev/frihet/apis/frihet-api/revisions/3dd37f6a72d1?raw)
