# `api.catalog.update` > `PUT /Catalog/{id}` — Catalog **Python** ```python api.catalog.update(catalog_id: int, *, data: UpdateCatalogRequest | dict) -> CatalogWithSellersDto ``` **CLI** ```bash ab catalog update [--data ...] ``` PUT /Catalog/{id}. Args: catalog_id: Catalog identifier. data: Catalog update payload — same shape as :class:`AddCatalogRequest`, including required ``start_date`` and ``end_date``. Accepts an :class:`UpdateCatalogRequest` instance or a dict. Request model: :class:`UpdateCatalogRequest` ## Request body — `UpdateCatalogRequest` | Field | Type | Required | Description | |---|---|---|---| | `customerCatalogId` | `Optional[str]` | no | Customer-facing catalog ID | | `agent` | `Optional[str]` | no | Assigned agent code | | `title` | `Optional[str]` | no | Catalog title | | `startDate` | `datetime` | yes | Catalog start date-time | | `endDate` | `datetime` | yes | Catalog end date-time | | `sellerIds` | `Optional[list[int]]` | no | Seller IDs to attach | ## Response Returns `CatalogWithSellersDto`. | Field | Type | Required | Description | |---|---|---|---| | `id` | `int` | yes | Catalog ID | | `customerCatalogId` | `Optional[str]` | no | Customer-facing catalog ID | | `agent` | `Optional[str]` | no | Assigned agent code | | `title` | `Optional[str]` | no | Catalog title | | `startDate` | `datetime` | yes | Catalog start date-time | | `endDate` | `datetime` | yes | Catalog end date-time | | `isCompleted` | `bool` | yes | Whether the catalog is completed | | `sellers` | `Optional[list[SellerDto]]` | no | Attached sellers | --- [← Back to api.catalog](../catalog.md)