# `api.commodities.update` > `PUT /commodity/{id}` — ACPortal **Python** ```python api.commodities.update(commodity_id: str, *, data: CommodityUpdateRequest | dict) -> Commodity ``` **CLI** ```bash ab commodities update [--data ...] ``` PUT /commodity/{id}. Args: commodity_id: Commodity identifier. data: Commodity update payload with description, freight_class, nmfc_code. Accepts a :class:`CommodityUpdateRequest` instance or a dict. Request model: :class:`CommodityUpdateRequest` ## Request body — `CommodityUpdateRequest` | Field | Type | Required | Description | |---|---|---|---| | `description` | `Optional[str]` | no | Commodity description | | `freightClass` | `Optional[str]` | no | Freight class | | `nmfcCode` | `Optional[str]` | no | NMFC code | ## Response Returns `Commodity`. | Field | Type | Required | Description | |---|---|---|---| | `id` | `Optional[str]` | no | Commodity ID | | `description` | `Optional[str]` | no | Commodity description | | `freightClass` | `Optional[str]` | no | Freight class | | `nmfcCode` | `Optional[str]` | no | NMFC code | | `weightMin` | `Optional[float]` | no | Minimum weight | | `weightMax` | `Optional[float]` | no | Maximum weight | --- [← Back to api.commodities](../commodities.md)