Skip to main content
The Category Merchandising API powers category listing pages (PLPs) on your ecommerce site. It matches the current page URL against patterns you’ve configured in the Admin Panel, applies the corresponding product filter, and returns a paginated, faceted result set — with your merchandising rules (pinning, boosting, hiding, sort order) already applied. Version: 1.0

Base URL

Supported zones: eu1, us1, ap1

Authentication

The token is validated against the account owning the search engine identified by hashid. A missing, invalid, or unauthorized token returns 401 Unauthorized.

How It Works

1

Configure URL patterns in Admin Panel

Go to Category Merchandising → Pages and create URL patterns for your category pages (e.g. https://shop.example.com/categories/shoes*). Assign a product filter to each pattern (e.g. category = shoes).
2

Call the API on page load

Send GET /category_merchandising/{hashid}?url={current_page_url}. The API matches the URL against your patterns and applies the correct filter automatically.
3

Render the product grid

The response contains a paginated results array, facets for filter UI, the base_filter showing which rule matched, and an optional promotional banner.

Endpoint

Required parameters

Optional parameters


Example Request

Example Response


Key Concepts

URL pattern matching

The API evaluates the provided url against all active patterns for the search engine, ordered by priority (lowest number = highest priority). The first match determines:
  • The base filter applied to all results (e.g. category = shoes)
  • The configured facets to return
  • The default sort order
If no pattern matches, or the matched category page is inactive, the API returns 404 Not Found.

Base filter vs. client filter

Fields used by base_filter are excluded from the facets response. This prevents the UI from offering a filter that can’t be changed (e.g. showing a “category” facet on a category page).

Facet types

If a promotional banner is configured for the matched category in the Admin Panel, it appears in the banner field. Use html_code when present (takes precedence over image); fall back to image / mobile_image otherwise.

Error Responses