+------------------+
| Back To Browsing |
+------------------+
| [](#)            |
+------------------+

+------------------------------------------------------------------------------------------------------------------------+
| Breadcrumbs                                                                                                            |
+------------------------------------------------------------------------------------------------------------------------+
| [Documentation](/en/docs)[Commerce](/en/docs/commerce)[Adobe Commerce Optimizer](/en/docs/commerce/optimizer/overview) |
+------------------------------------------------------------------------------------------------------------------------+

[\[SaaS only\]{class="badge positive" title="Applies to Adobe Commerce as a Cloud Service and Adobe Commerce Optimizer projects only (Adobe-managed SaaS infrastructure)."}](/en/docs/commerce/user-guides/product-solutions)

# Private catalog views

+------------------------------+
| Article Metadata             |
+------------------------------+
| Last update: August 18, 2026 |
+------------------------------+

+-------------------------+
| Article Metadata Topics |
+-------------------------+
| - Topics:               |
| - [Storefront](#)       |
| - [Configuration](#)    |
| - [Architecture](#)     |
+-------------------------+

+----------------------------+
| Article Metadata Createdby |
+----------------------------+
| CREATED FOR:               |
|                            |
| - Admin                    |
| - Developer                |
+----------------------------+

By default, a [catalog view](/en/docs/commerce/optimizer/setup/catalog-view) is public. Enable catalog protection on a catalog view to restrict access to requests that include a valid signed token.

Catalog protection applies to the selected catalog view only. It does not change the view’s policies or layers. It does restrict the view to a single price book—see [Price book restriction on private catalog views](#price-book-restriction-on-private-catalog-views).

See the [Restricted access key use cases](/en/docs/commerce/optimizer/setup/restricted-access-keys#restricted-access-key-use-cases) for examples of when to protect a catalog view.

## Understand the protection boundary

Catalog protection applies only to the catalog view where it is enabled. It protects catalog and search requests but does not change the view’s policies or layers, protect other catalog views, or secure cart, checkout, or order operations.

The connected commerce backend must independently enforce purchase eligibility.

## Price book restriction on private catalog views

A private catalog view can reference only one price book. This differs from a public catalog view, which can use multiple price books.

When Catalog Protection is enabled, the price book selector on the catalog view form switches from a multi-select control to a single-select (radio button) control.

![Private catalog view price book restriction][image0]

+-----------------------------------------------------------------------------------------------------------------------+
| List                                                                                                                  |
+-----------------------------------------------------------------------------------------------------------------------+
| - If you enable Catalog Protection on a catalog view that has multiple price books assigned, you cannot save the view |
|   until you remove all but one price book.                                                                            |
| - If you previously saved a private catalog view with multiple price book assignments before this restriction         |
|   existed, the catalog view configuration is not automatically changed. However, the next time you edit the view, you |
|   must remove all but one price book before you can save the updates.                                                 |
+-----------------------------------------------------------------------------------------------------------------------+

In each of these cases, Adobe Commerce Optimizer displays the following validation message: `A protected catalog view can use only one price book. Select 'Single price book only' to continue.`

Public catalog views are unaffected by this restriction and can continue to reference multiple price books.

---

## Protect a catalog view

Before you begin, [create a restricted access key](/en/docs/commerce/optimizer/setup/restricted-access-keys) from the public key your client application generates.

+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| List                                                                                                                                                                       |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| 1. On the catalog view create or edit form, toggle **Catalog Protection** to **Enabled**.                                                                                  |
|                                                                                                                                                                            |
| 2. Under **Restricted Access Keys**, select up to three [restricted access keys](/en/docs/commerce/optimizer/setup/restricted-access-keys) to assign to this catalog view. |
|                                                                                                                                                                            |
|    ![Catalog Protection enabled on the catalog view edit form, with a restricted access key assigned][image1]{width="70%" modal="regular"}                                 |
|                                                                                                                                                                            |
| 3. Click **Save catalog view**.                                                                                                                                            |
|                                                                                                                                                                            |
|    The catalog view is now protected. Only requests carrying a valid signed token from an assigned key can retrieve its data.                                              |
|                                                                                                                                                                            |
|    +---------------------------------------------------------------------------------------+                                                                               |
|    | note                                                                                  |                                                                               |
|    +=======================================================================================+                                                                               |
|    | :info: NOTE                                                                           |                                                                               |
|    +---------------------------------------------------------------------------------------+                                                                               |
|    | Allow up to five minutes for Catalog Protection configuration changes to take effect. |                                                                               |
|    +---------------------------------------------------------------------------------------+                                                                               |
+----------------------------------------------------------------------------------------------------------------------------------------------------------------------------+

## Verify access is enforced

To confirm that a private catalog view rejects unauthorized requests, call its [GraphQL endpoint](/en/docs/commerce/optimizer/get-started#get-instance-details) with and without a signed token, using these headers:

+---------------------------------------------------------------------------------------+
| Table (0 row 2, 1 row 2, 2 row 2, 3 row 2)                                            |
+--------------------------------+------------------------------------------------------+
| Header                         | Purpose                                              |
+--------------------------------+------------------------------------------------------+
| `AC-View-ID`                   | The catalog view to query.                           |
+--------------------------------+------------------------------------------------------+
| `AC-Price-Book-ID`             | The price book to apply.                             |
+--------------------------------+------------------------------------------------------+
| `AC-Catalog-View-Access-Token` | The signed JWT proving authorization for the catalog |
|                                | view.                                                |
+--------------------------------+------------------------------------------------------+

A request without a valid token returns a GraphQL error instead of catalog data, for example:

+----------------------------------------------------------------------+
| Code (language json)                                                 |
+----------------------------------------------------------------------+
| ```                                                                  |
| {                                                                    |
|   "errors": [                                                        |
|     {                                                                |
|       "message": "Access key validation failed: Missing token",      |
|       "extensions": { "x-commerce-exception": "access-key-invalid" } |
|     }                                                                |
|   ]                                                                  |
| }                                                                    |
| ```                                                                  |
+----------------------------------------------------------------------+

A request carrying a token signed by an assigned, unexpired key returns the catalog data as expected. For details on signing a JWT and calling the Merchandising API, see the [developer documentation](https://developer.adobe.com/commerce/services/optimizer/merchandising-services/using-the-api#authentication).

---

## Manage restricted access keys

If Catalog Protection is enabled and all assigned keys expire, the catalog view becomes inaccessible—storefronts that rely on this catalog view cannot serve data from it. Assign a new, unexpired key to restore access. For instructions, see [Rotate keys](/en/docs/commerce/optimizer/setup/restricted-access-keys#rotate-a-key).

+---------------------------------------------------------------------------------------------------------------------+
| Note (important)                                                                                                    |
+---------------------------------------------------------------------------------------------------------------------+
| :alert: IMPORTANT                                                                                                   |
+---------------------------------------------------------------------------------------------------------------------+
| Automatic key creation and management through Adobe Commerce and the Adobe Commerce Optimizer Connector are not yet |
| available.                                                                                                          |
+---------------------------------------------------------------------------------------------------------------------+

## More like this

+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| List                                                                                                                                                                  |
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+
| - [Catalog views](/en/docs/commerce/optimizer/setup/catalog-view)—Learn how catalog views organize your product catalog by business structure, policies, and pricing. |
| - [Restricted access keys](/en/docs/commerce/optimizer/setup/restricted-access-keys)—Create, assign, and rotate the keys used to sign tokens for Catalog Protection.  |
+-----------------------------------------------------------------------------------------------------------------------------------------------------------------------+

+-----------------------------------+
| Target Insertion                  |
+--------------------------+--------+
| recommendation-more-help |        |
+--------------------------+--------+

---

+-------------------------+
| Toc                     |
+-------------------------+
| commerce-help-optimizer |
+-------------------------+

---

+-------------+
| Doc Actions |
+-------------+
|             |
+-------------+

+----------+
| Mini Toc |
+----------+
|          |
+----------+

+---------------------------------------------------------------------------------------------------------------------------------------------------+
| Metadata                                                                                                                                          |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| last-update                   | 2026-08-18T18:58:00.000Z                                                                                          |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| git-commit-file               | b6613edbf84681a860b9c71a07f43a7df40e8784                                                                          |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| solution                      | Commerce                                                                                                          |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| usetq                         | true                                                                                                              |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| solution-title                | Commerce                                                                                                          |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| landing-page-name             | commerce                                                                                                          |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| landing-page-breadcrumb-title | Commerce                                                                                                          |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| product                       | Commerce                                                                                                          |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| type                          | Documentation                                                                                                     |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| audience                      | end-user                                                                                                          |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| mini-toc-levels               | 2                                                                                                                 |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| git-repo                      | https\://github.com/AdobeDocs/commerce.en                                                                         |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| index                         | true                                                                                                              |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| role                          | Admin, Developer                                                                                                  |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| feature-set                   | Commerce                                                                                                          |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| git-filename                  | https\://github.com/AdobeDocs/commerce.en/help/optimizer/setup/private-catalog-view\.md                           |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| user-guide-title              | Adobe Commerce Optimizer Guide                                                                                    |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| breadcrumb-title              | Adobe Commerce Optimizer                                                                                          |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| user-guide-description        | Documentation and resources for Adobe Commerce Optimizer.                                                         |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| feature                       | Storefront, Configuration, Architecture                                                                           |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| recommendations               | noCatalog                                                                                                         |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| nudge                         | true                                                                                                              |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| title                         | Private Catalog Views \| Adobe Commerce                                                                           |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| description                   | Learn how to create a private catalog view by enabling Catalog Protection so only requests with a valid signed    |
|                               | token can retrieve its product and pricing data.                                                                  |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| badgeSaas                     | label="SaaS only" type="Positive"                                                                                 |
|                               | url="https\://experienceleague.adobe.com/en/docs/commerce/user-guides/product-solutions" tooltip="Applies to      |
|                               | Adobe Commerce as a Cloud Service and Adobe Commerce Optimizer projects only (Adobe-managed SaaS                  |
|                               | infrastructure)."                                                                                                 |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| coveo-content-type            | Documentation                                                                                                     |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| landing-page-description      | Learn how to create a private catalog view by enabling Catalog Protection so only requests with a valid signed    |
|                               | token can retrieve its product and pricing data.                                                                  |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| git-commit                    | b6613edbf84681a860b9c71a07f43a7df40e8784                                                                          |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| pipeline\_filename            | help/optimizer/setup/private-catalog-view\.md                                                                     |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| git-edit                      | https\://github.com/AdobeDocs/commerce.en/blob/main/help/optimizer/setup/private-catalog-view\.md                 |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| git-issue                     | https\://github.com/AdobeDocs/commerce.en/issues/new?body=File%3A%20help/optimizer/setup/private-catalog-view\.md |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| toc                           | commerce-help-optimizer                                                                                           |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| product\_v1                   | magento                                                                                                           |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| feature\_v1                   | Personalization, Integration                                                                                      |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| role\_v1                      | Admin, Developer                                                                                                  |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| topic                         | Metadata, Optimization, Personalization                                                                           |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| coveo-solution                | Commerce                                                                                                          |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| json-ld                       | {   "@context": "https\://schema.org",   "@type": "HowTo",   "@id":                                               |
|                               | "https\://experienceleague.adobe.com/en/docs/commerce/optimizer/setup/private-catalog-view#/schema",   "url":     |
|                               | "https\://experienceleague.adobe.com/en/docs/commerce/optimizer/setup/private-catalog-view",   "headline":        |
|                               | "Private Catalog Views \| Adobe Commerce",   "description": "Learn how to create a private catalog view by        |
|                               | enabling Catalog Protection so only requests with a valid signed token can retrieve its product and pricing       |
|                               | data.",   "inLanguage": "en",   "dateCreated": "2026-08-18",   "datePublished": "2026-08-18",   "dateModified":   |
|                               | "2026-08-18",   "publisher": {     "@type": "Organization",     "name": "Adobe",     "url":                       |
|                               | "https\://experienceleague.adobe.com"   },   "audience": {     "@type": "Audience",     "audienceType": \[        |
|                               | "Admin",       "Developer"     ]   },   "about": {     "@type": "SoftwareApplication",     "name": "Commerce"     |
|                               | },   "keywords": \[     "Commerce",     "Personalization",     "Integration",     "Metadata",     "Optimization"  |
|                               |  ],   "mainEntityOfPage": {     "@type": "WebPage",     "@id":                                                    |
|                               | "https\://experienceleague.adobe.com/en/docs/commerce/optimizer/setup/private-catalog-view",     "url":           |
|                               | "https\://experienceleague.adobe.com/en/docs/commerce/optimizer/setup/private-catalog-view",     "name": "Private |
|                               | Catalog Views \| Adobe Commerce",     "description": "Learn how to create a private catalog view by enabling      |
|                               | Catalog Protection so only requests with a valid signed token can retrieve its product and pricing data."   } }   |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+
| html-lang                     | en                                                                                                                |
+-------------------------------+-------------------------------------------------------------------------------------------------------------------+

[image0]: https://main--exlm-prod--adobe-experience-league.aem.page/media_1bfdeea2f9b4579ab8a57ae6bd9cc1a91e87dc837.png#width=469&height=737

[image1]: https://main--exlm-prod--adobe-experience-league.aem.page/media_180ba411869e203a735bf04a55e3eda94509fb80f.png#width=2366&height=1126
