---
uuid: 5d9d9a14-f832-465b-89ff-fd2ef365d11a
date_created: 2025-12-08T15:46:26.974Z
date_updated: 2026-04-03T17:59:11.307Z
seo_url: simple-product-consultation
category: Prebooking
tags: 
  - Product Information
routes: 
  - GET /v2/products
  - GET /v2/products/{product_id}
---

# Browse and inspect Club Med products

This feature allows users to retrieve the list of available Club Med products and then access the detailed information of a specific product in order to plan a trip.

It generally relies on two steps:
•	retrieving the list of available products with their main information (destination, category, price, availability, etc.)
•	requesting the details of a specific product using its identifier (product\_id)

The returned information may include:
•	General product information (title, category, destination)
•	Resort characteristics (comfort, areas, capacity\_max)
•	Available services (available\_services)
•	Pricing information (price, currency, terms\_and\_conditions)
•	Media and descriptive content (media, description\_title)
•	Location information (countries, geographical\_area, region)

This workflow allows users to browse available destinations, compare offers, and select a product that matches their travel plans.

## Flow

```mermaid
flowchart LR
    step0["List all products"]
    step1["Get product details"]
    step0 --> step1
```

## Overview

Use this scenario to browse the Club Med product catalog and inspect one product in detail before moving to search, pricing, or booking flows.

## Prerequisites

* Have a valid `x-api-key`.
* Send an `accept-language` aligned with the target market.
* Keep the selected `product_id` to request the detailed product payload.

## Expected result

The application can list available products, select one resort or cruise product, and reuse its detailed data to feed a product page or a trip-planning experience.

## 1 - List all products

This route lists Club Med catalog products with optional filtering and pagination.

#### Prerequisites

Use `filter`, `limit`, and `page` to scope the search. The Swagger contract does not require a `timestamp` on this route.

#### Calling CURL

```bash
curl -X GET \
  -H "x-api-key: $API_KEY" \
  -H "accept-language: en-US" \
  "https://api.clubmed.com/v2/products?limit=20&page=1&filter[type][_eq]=RESORT"
```

#### Example answer

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

> **info:** Start with this route to collect product identifiers, then call the detail route to enrich the product page.

***

**Response codes**

* `200 OK`: the product list is returned.
* `206 Partial Content`: the list is paginated.
* `400 Bad Request`: invalid parameters.
* `416 Range Not Satisfiable`: invalid pagination range.

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

## 2 - Get product details

This route returns the full detail of a Club Med product from its identifier.

#### Prerequisites

Use the `product_id` returned by the list step. No additional parameter is required.

#### Calling CURL

```bash
curl -X GET \
  -H "x-api-key: $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",
  "pictures": [
    "https://example.com/product.jpg"
  ]
}
```

> **info:** Use this detailed payload to feed a product page, a PDP, or a richer preview.

***

**Response codes**

* `200 OK`: the product detail is returned.
* `400 Bad Request`: invalid parameters.
* `404 Not Found`: unknown product.

**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)
