# `api.commodities.create` > `POST /commodity` — ACPortal **Python** ```python api.commodities.create(*, data: CommodityCreateRequest | dict) -> Commodity ``` **CLI** ```bash ab commodities create [--data ...] ``` POST /commodity. Args: data: Commodity creation payload with description, freight_class, nmfc_code, weight_min, weight_max. Accepts a :class:`CommodityCreateRequest` instance or a dict. Request model: :class:`CommodityCreateRequest` ## Request body — `CommodityCreateRequest` | Field | Type | Required | Description | |---|---|---|---| | `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 | ## 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)