---
uuid: 483e357d-0e23-4c39-aa09-03a4698c62cd
date_created: 2026-02-10T14:53:50.541Z
date_updated: 2026-04-03T17:59:11.028Z
seo_url: browse-products-product-detail
category: Prebooking
tags: 
  - Product Information
  - Product information
routes: 
  - GET /v2/products
  - GET /v2/products/{product_id}
---

# Browse products and inspect a product detail

This scenario covers the catalog consultation journey: list available products first, then retrieve the detailed information of a selected product.

It is useful for discovery interfaces, search results, and product pages shown before booking.

## Flow

```mermaid
flowchart LR
    step0["List available products"]
    step1["Retrieve a product detail"]
    step0 --> step1
```

## Overview

The journey starts by retrieving the product catalog, then uses a `product_id` to load the detailed product sheet.

## Prerequisites

* No functional prerequisite is required to list products.
* Keep the `product_id` returned by the listing step to request the detailed view.

## 1 - List available products

Use `GET /v2/products` to list available products.

#### Prerequisites

Prepare the parameters required by the call. Keep `x-api-key` and, when the route is customer-scoped, a valid bearer token.

#### Calling CURL

```bash
curl -X GET \
  -H "x-api-key: YOUR_API_KEY" \
  -H "accept-language: en-US" \
  "https://api.clubmed.com/v2/products?limit=20&page=1"
```

#### Example answer

```json
[
  {
    "id": "product-1",
    "label": "Club Med Valmorel",
    "country_code": "FR",
    "type": "RESORT"
  }
]
```

> **info:** Select a `product_id` from this list before calling the product detail route.

***

**Response codes**

* `200 OK`: the expected data is returned.
* `400 Bad Request`: the request is invalid or incomplete.
* `404 Not Found`: the requested resource cannot be found.

**Related route**: [GET https://api.clubmed.com//v2/products](https://api.clubmed.com/doc?search=GET%20%2Fv2%2Fproducts)

## 2 - Retrieve a product detail

Use `GET /v2/products/{product_id}` to retrieve a product detail.

#### Prerequisites

Prepare `product_id`. Keep `x-api-key` and, when the route is customer-scoped, a valid bearer token.

#### Calling CURL

```bash
curl -X GET \
  -H "x-api-key: YOUR_API_KEY" \
  -H "accept-language: en-US" \
  "https://api.clubmed.com/v2/products/{product_id}"
```

#### Example answer

```json
{
  "id": "product-1",
  "label": "Club Med Valmorel",
  "country_code": "FR",
  "type": "RESORT",
  "description": "Family resort in the Alps"
}
```

> **info:** Reuse this response to enrich the product page with detailed content, services, and location data.

***

**Response codes**

* `200 OK`: the expected data is returned.
* `400 Bad Request`: the request is invalid or incomplete.
* `404 Not Found`: the requested resource cannot be found.

**Related route**: [GET https://api.clubmed.com//v2/products/{product\_id}](https://api.clubmed.com/doc?search=GET%20%2Fv2%2Fproducts%2F%7Bproduct_id%7D)
