# Update a SKU (https://docs.pulsarml.com/v1/api-reference/skus/patch-skus-sku_id)

Partially update a SKU: send only the fields that change.

Changing `unit` does not convert historical counts — production logs keep the numbers they
were written with. Archiving the SKU and creating a new one keeps its history consistent.

## `PATCH /v1/skus/{sku_id}`

Base URLs:
- `https://draco.prod.pulsarml.com` — Production
- `https://draco.dev.pulsarml.com` — Development (sandbox)

Authentication: send your API key in the `x-api-key` header.

### Path parameters

- `sku_id` (string (uuid4), required) — The SKU ID.

### Request body (`application/json`, required)

Type: object (`UpdateSkuByIdRequestV1`)

- `sku` (string, optional, nullable) — The code of the sku.
- `name` (string, optional, nullable) — The name of the sku.
- `description` (string, optional, nullable) — The description of the sku.
- `unit` (string, optional, nullable) — The unit of the sku.
- `archived` (boolean, optional, nullable, default `false`) — The archived status of the sku.

### Responses

#### 204 — Successful Response

#### 422 — Validation Error

Type: object (`HTTPValidationError`)

- `detail` (array of object, optional)
  - `loc` (array of string | integer, required)
  - `msg` (string, required)
  - `type` (string, required)

### Example request

```bash
curl -X PATCH 'https://draco.prod.pulsarml.com/v1/skus/<sku_id>' \
  -H 'x-api-key: <YOUR_API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{}'
```