---
title: "Updates a catalog"
method: PUT
path: "/catalogs/{catalog_id}"
tags: ["Catalogs"]
---

# Updates a catalog

`PUT /catalogs/{catalog_id}`

## Request

- Base URL: `https://euwest.api.elasticpath.com`
- URL: `https://euwest.api.elasticpath.com/catalogs/{catalog_id}`
- Auth: HTTP bearer
- TypeScript: <https://skmtc.dev/elasticpath/apis/catalogs-introduction/docs/catalogs/:catalog_id/put.ts> (a function with typed inputs; its response is checked against the schema)

Specify whichever attributes you want to change. The values of the other attributes remain the same. If the attributes section is empty, the catalog is not updated.

## Path parameters

- `catalog_id` string, required

## Request body

- CatalogUpdateData: A catalog combines price books, product lists, and hierarchies.
  - `data` object, required
    - `attributes` object, required
      - `name` string, nullable: The name of the catalog.
      - `description` string, nullable: A brief description of the catalog.
      - `hierarchy_ids` string[], nullable: The unique identifiers of the hierarchies to associate with a catalog.
      - `pricebook_id` string, nullable: The unique identifier of a price book to associate with a catalog. You can specify a `pricebook_id` or a `pricebook_ids` but not both. If you specify both, a `422 unprocessable entity` error is displayed.
      - `pricebook_ids` object[]: If you want multiple price books for different scenarios, such as seasonal sales, business versus retail pricing, and reward programs, when creating a catalog, you can specify up to five price books. You must configure a priority for your price books. Product prices are displayed in the catalog according to the priority of the price books.
        - `id` string, uuid, required: A unique identifier of a price book.
        - `priority` integer, required: Priority is a number and the price book with the highest number has the highest priority.
      - `locales` object: Product Experience Manager supports localization of products and hierarchies. If you store supports multiple languages, you can localize product names and descriptions.
      - `enable_price_segmentation` boolean: This indicates whether the catalog will support price segmentation using catalog rules to define which pricebook(s) to use for pricing
      - `include_draft_products` boolean: When `true`, publishing this catalog includes products in `draft` status in the catalog release. When `false` or omitted, only `live` products are included in the release (default).
      - `max_published_releases` integer, nullable: The maximum number of published releases to keep for this catalog. Must be 1, 2, or 3; any other value returns 400 Bad Request. When omitted or null, the stored maximum is unchanged.
      - `allow_search_overrides` boolean, nullable: When `true`, search overrides are allowed for this catalog. When omitted or null, the stored value is unchanged.
    - `id` string, required: The unique identifier of the catalog to be updated.
    - `type` 'catalog', required: This represents the type of object being returned. Always `catalog`.

## Response `200`

An updated catalog with the following attributes.

- CatalogData: Container for a single catalog.
  - `data` Catalog, required: Creates a catalog with the following attributes.
    - `id` string, required: A unique identifier of a catalog.
    - `attributes` object, required
      - `name` string, required: The name of a catalog.
      - `description` string: A brief description of the catalog, such as the purpose of the catalog.
      - `hierarchy_ids` string[], required: The unique identifiers of the hierarchies associated with a catalog.
      - `pricebook_id` string: The unique identifier of a price book associated with a catalog. If no price book is selected, the catalog is displayed without prices.
      - `pricebook_ids` object[]: If you want multiple price books for different scenarios, such as seasonal sales, business versus retail pricing, and reward programs, when creating a catalog, you can specify up to five price books. You must configure a priority for your price books. Product prices are displayed in the catalog according to the priority of the price books.
        - `id` string, uuid, required: A unique identifier of a price book.
        - `priority` integer, required: Priority is a number and the price book with the highest number has the highest priority.
      - `locales` object: Product Experience Manager supports localization of products and hierarchies. If you store supports multiple languages, you can localize product names and descriptions.
      - `created_at` string, date-time, required: The date and time a catalog is created.
      - `updated_at` string, date-time, required: The date and time a catalog was updated.
      - `owner` 'store' | 'organization', nullable: The owner of this resource, can be either `organization` or `store`.
      - `enable_price_segmentation` boolean: This indicates whether the catalog will support price segmentation using catalog rules to define which pricebook(s) to use for pricing
      - `include_draft_products` boolean: When `true`, publishing this catalog includes products in `draft` status in the catalog release. When `false` or omitted, only `live` products are included in the release (default).
      - `max_published_releases` integer, nullable: The maximum number of published releases kept for this catalog. Omitted when the catalog has never stored a maximum.
      - `allow_search_overrides` boolean: When `true`, search overrides are allowed for this catalog. Defaults to `false`.
    - `relationships` object: Relationships are established between different catalog entities. For example, a catalog rule and a price book are related to a catalog, as both are associated with it.
      - `rules` object: The catalog rules related to a catalog.
        - `links` RelatedLink: A URL to a related object, for example, catalog rules, hierarchies, price books, products and deltas.
          - `related` string, required: A URL to a related object, for example, catalog rules, hierarchies, price books, products and deltas.
      - `releases` object: When a catalog is published, a catalog release is created. This is a URL to all catalog published releases available for this catalog.
        - `links` RelatedLink: A URL to a related object, for example, catalog rules, hierarchies, price books, products and deltas.
          - `related` string, required: A URL to a related object, for example, catalog rules, hierarchies, price books, products and deltas.
        - `meta` object
          - `count` integer: The number releases available for a catalog.
    - `type` 'catalog', required
  - `links` Links: Links allow you to move between requests.
    - `self` string, uri-reference, nullable: Single entities use a `self` parameter with a link the specific resource.
    - `first` string, uri-reference, nullable: Always the first page.
    - `last` string, uri-reference, nullable: This is `null` if there is only one page.
    - `prev` string, uri-reference, nullable: This is `null` if there is only one page.
    - `next` string, uri-reference, nullable: This is `null` if there is only one page.

## Other responses

- `default`: Unexpected error.

---

[API](https://skmtc.dev/elasticpath/apis/catalogs-introduction.md) - [All operations](https://skmtc.dev/elasticpath/apis/catalogs-introduction/llms.txt) - [OpenAPI document](https://skmtc.dev/elasticpath/apis/catalogs-introduction/revisions/eb541d5dea51?raw)
