---
title: "Retrieve recommendation pages"
method: GET
path: "/v1/recommendation_pages"
tags: ["Recommendation pages"]
---

# Retrieve recommendation pages

`GET /v1/recommendation_pages`

## Request

- Base URL: `https://ac.cnstrc.com`
- URL: `https://ac.cnstrc.com/v1/recommendation_pages`
- Auth: one of:
  - HTTP basic
  - HTTP bearer

**🔐 This endpoint requires [HTTP authentication](https://docs.constructor.com/reference/main-authentication) (either [Basic](https://docs.constructor.com/reference/main-authentication#basic-authentication) or [Bearer](https://docs.constructor.com/reference/main-authentication#bearer-authentication)).**
For authenticating with Bearer token, required scopes are: `recommendations(r)`.

**Beta:** This endpoint is in beta and may change. It is currently available to a small group of users. To request access, contact your Customer Success Manager.

Return the pages configured for the selected key and section, ordered by `page_id`, with the total number of matches. Pass `pod_id` to return only the pages that list that pod, such as to find the pages that block deleting it.

## Query parameters

- `key` string, required: The key of the index to use.
- `section` string: The section of the index to use. Defaults to `Products`.
- `pod_id` string: Filters the results to pages that serve the specified recommendation pod.
- `num_results_per_page` integer: The number of results per page to return.
- `page` integer: The page of results to return.
- `offset` integer: The number of results to skip from the beginning. Cannot be used together with `page`.
- `c` string: The ID of the client and version that the request is coming from, such as `cio-js-2.90`.

## Response `200`

OK

- RecommendationPageListGetResponse: A paginated list of recommendation pages and the total number of matches.
  - `pages` RecommendationPageBaseResponse[], required: Lists the configured pages in `page_id` order.
    - `page_id` string, required: The unique identifier of the page within the key and section: a lowercase slug of letters, digits, underscores and hyphens, starting with a letter or digit, at most 255 characters. Surrounding whitespace is stripped.
    - `display_name` string, required: The name of the page displayed to merchandisers, between 2 and 100 characters. Surrounding whitespace is stripped.
    - `page_type` 'pdp' | 'plp' | 'home' | 'cart' | 'atc' | 'checkout' | 'order_confirm' | 'empty_cart' | 'other', required
    - `pods` RecommendationPagePodResponse[], required: Pods to serve on this page, listed in the order a shopper sees them: top to bottom, then left to right for pods that sit side by side. Page results return the pods in this order, and a retrieval request cannot reorder them. Items are deduplicated between pods in the same page; which pod keeps an ordinary (non-slotted) item is decided by Constructor, so slot an item to guarantee it stays in a particular pod. Include at most 5 pods, or fewer where a lower limit is configured for the page; each must already be configured for this key and section, and no pod may appear twice. A page with no pods returns an empty `pods` list. A write that supplies `pods` replaces the complete list.
      - `pod_id` string, required: The ID of a recommendation pod configured for this key and section.
    - `metadata_json` RecommendationPageMetadataResponse: Settings that apply to a page as a whole rather than to one of its pods.
      - `page_config` RecommendationPageConfigResponse: Settings that govern how a page's pods are served together.
        - `deduplication_key` 'item_id' | 'item_and_variation_id'
    - `created_at` string, date-time, required: The date and time the page was created.
    - `updated_at` string, date-time, required: The date and time the page was last updated.
  - `total_count` integer, required: The total number of pages matching the request, before pagination.

## Other responses

- `400`: Validation Error
- `401`: Credentials are not passed or action is forbidden.
- `403`: The supplied token does not have the required permissions.
- `429`: Rate limit breached

---

[API](https://skmtc.dev/constructor/apis/configuration.md) - [All operations](https://skmtc.dev/constructor/apis/configuration/llms.txt) - [OpenAPI document](https://skmtc.dev/constructor/apis/configuration/revisions/205ffdb5f494?raw)
