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

# Retrieve recommendation page

`GET /v1/recommendation_pages/{page_id}`

## Request

- Base URL: `https://ac.cnstrc.com`
- URL: `https://ac.cnstrc.com/v1/recommendation_pages/{page_id}`
- 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 page configured under `page_id` for the selected key and section. Answers `404` if there is none.

## Path parameters

- `page_id` string, required

## Query parameters

- `key` string, required: The key of the index to use.
- `section` string: The section of the index to use. Defaults to `Products`.
- `c` string: The ID of the client and version that the request is coming from, such as `cio-js-2.90`.

## Response `200`

OK

- RecommendationPageGetResponse: The configuration of a recommendation page.
  - `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.

## Other responses

- `400`: Validation Error
- `401`: Credentials are not passed or action is forbidden.
- `403`: The supplied token does not have the required permissions.
- `404`: Not Found
- `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)
