Skip to content
You are reading the unreleased documentation. No version is released yet, and these pages describe code that is not in a release.

Products (storefront API)

Storefront and customer routes of the products module. Send Accept-Language (or X-Locale from a browser) on every call; a customer route needs the session cookie.

List active products

Parameters:

  • brand in query (string, optional).
  • categoryId in query (string, optional).
  • ids in query (string, optional).
  • isFeatured in query (boolean, optional).
  • maxPrice in query (number, min 0, optional).
  • minPrice in query (number, min 0, optional).
  • page in query (number, min 1, optional).
  • pageSize in query (number, min 1, max 100, optional).
  • sortBy in query (string, optional).
  • specs in query (string, pattern /^[a-z0-9-]+:[a-z0-9-]+(,[a-z0-9-]+:[a-z0-9-]+)*$/, max length 1024, optional).
  • tags in query (string, pattern /^[a-z0-9-]+:[a-z0-9-]+(,[a-z0-9-]+:[a-z0-9-]+)*$/, max length 512, optional).

Responses:

  • 200: Products retrieved.
  • 400: Invalid query parameters.

Get product by slug

Parameters:

  • slug in path (string, required).

Responses:

  • 200: Product retrieved.
  • 404: Product not found.

List product questions

Parameters:

  • slug in path (string, required).
  • page in query (number, min 1, optional).
  • pageSize in query (number, min 1, max 100, optional).

Responses:

  • 200: Questions retrieved.
  • 404: Product not found.

Create product question

Parameters:

  • slug in path (string, required).

Request body: CreateQuestionDto.

Responses:

  • 201: Question created.
  • 400: Invalid input.
  • 401: Unauthorized.
  • 404: Product not found.

List product reviews

Parameters:

  • slug in path (string, required).
  • page in query (number, min 1, optional).
  • pageSize in query (number, min 1, max 100, optional).
  • rating in query (number, min 1, max 5, optional).

Responses:

  • 200: Reviews retrieved.
  • 404: Product not found.

Create product review

Parameters:

  • slug in path (string, required).

Request body: CreateReviewDto.

Responses:

  • 201: Review created.
  • 400: Invalid input.
  • 401: Unauthorized.
  • 404: Product not found.

GET /v1/products/{slug}/reviews/eligibility

Section titled “GET /v1/products/{slug}/reviews/eligibility”

Whether the caller may review this product

Parameters:

  • slug in path (string, required).

Responses:

  • 200: Eligibility resolved.
  • 401: Authentication required.
  • 404: Product not found.

Get the caller’s own review for a product

Parameters:

  • slug in path (string, required).

Responses:

  • 200: Own review retrieved (null when none).
  • 401: Authentication required.
  • 404: Product not found.

Get review summary

Parameters:

  • slug in path (string, required).

Responses:

  • 200: Summary retrieved.
  • 404: Product not found.

List brand facets for the catalogue

Parameters:

  • categoryId in query (string, max length 64, optional).

Responses:

  • 200: Brand facets retrieved.
  • 400: Invalid query parameters.

List filterable specification facets

Responses:

  • 200: Facets retrieved.
  • question (string, max length 1000, required).
  • rating (number, min 1, max 5, required).
  • title (string, max length 200, optional).
  • body (string, max length 5000, required).
  • assetIds (array of string, optional).