# updateProduct

## Overview

Updates mutable fields on an existing product, provided the product is not in a locked state.

## Modules Commands Used

- `product-management.UpdateProduct` — applies field-level changes to the product and validates that the unit of measure is not locked

## Exception Handling

| Error Code | Description |
| --- | --- |
| PRODUCT_NOT_FOUND | No product exists with the given ID |
| UOM_LOCKED | The unit of measure cannot be changed because variants or transactions reference it |
| NO_FIELDS_TO_UPDATE | No mutable fields were provided in the request |
| INVALID_UOM | The specified unit of measure does not exist |
| MISSING_REQUIRED_FIELD | A required field was provided as empty |
