---
title: "Update price books"
method: PATCH
path: "/v1/catalog/price-books"
tags: ["Price Books"]
---

# Update price books

`PATCH /v1/catalog/price-books`

Update existing price books with limitations on hierarchical changes.

<h3>Updatable Fields</h3>

* **Name**: Can be updated for both base and child price books
* **Currency**: Can only be updated for base price books (affects entire hierarchy)
* **Parent ID**: Cannot be updated - use delete and recreate to change hierarchy

<h3>Update Restrictions</h3>

* **Parent Assignment**: Cannot change `parentId` via update operations
* **Hierarchy Changes**: To restructure the hierarchy, delete and recreate child price books
* **Currency Inheritance**: Child price books automatically inherit currency changes from parent
* **Validation**: System validates that `parentId` references exist and hierarchy depth is maintained

<h3>Update Strategies</h3>

* **Base Price Books**: Update name and currency as needed
* **Child Price Books**: Include correct `parentId` in request (will be ignored if different)
* **Hierarchy Restructuring**: Delete child price book and recreate with new parent reference

> **Note:** Before submitting an update request, verify that the target entity exists by checking the available price books in [Commerce Optimizer](https://experienceleague.adobe.com/en/docs/commerce/optimizer/setup/pricebooks#view-price-books-in-commerce-optimizer). Update operations do not verify that the entity exists. Requests targeting a nonexistent entity are accepted, but the update has no effect.

## Headers

- `Content-Type` 'application/json', required
- `Authorization` string, required — Authorization Bearer token.
- `Content-Encoding` 'gzip'

## Request body

- FeedPricebook[]
  - union — Price book information supporting hierarchical pricing structures. Use base price books to define currency and create child price books for specific pricing scenarios.
    - PriceBookBase
      - `priceBookId` string, required — Unique identifier for the base price book. Must be unique across all price books. Used to reference this price book in child price books and pricing data.
      - `name` string, required — Human-readable name for the price book. Used for display and identification purposes.
      - `currency` string, required — Currency code that applies to this price book and all its child price books in ISO format. Child price books inherit this currency and cannot override it.
    - PriceBookChild — Nested price book that inherits currency from its parent and can extend the pricing hierarchy. Child price books can have up to 3 levels of nesting from the base price book.
      - `priceBookId` string, required — Unique identifier for the child price book. Must be unique across all price books. Used to reference this price book in pricing data and potential child price books.
      - `name` string, required — Human-readable name for the child price book. Used for display and identification purposes.
      - `parentId` string, required — Reference to the parent price book ID. Must reference an existing price book. Determines the currency inheritance and hierarchy level.

## Response `200`

All items in the request are accepted for further processing.

## Other responses

- `400` — Request rejected. Some of the received items are invalid. Check the `invalidFeedItems` node for specific errors.
- `401` — Unauthorized request. Verify that the Bearer token provided in the `Authorization` header is still valid.
- `403` — Forbidden request. Verify that the `Authorization` header is present, and that the Bearer token is still valid.
- `429` — Too many requests. Indicates that a client has exceeded the rate limit of 300 requests per minute. Check the `retry-after` header to get the time (in seconds) to wait before sending the next request.

---

[API](https://skmtc.dev/adobe/apis/catalog-data-ingestion-api.md) · [All operations](https://skmtc.dev/adobe/apis/catalog-data-ingestion-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/adobe/catalog-data-ingestion-api/revisions/ca8c8f2680fe/schema)
