Skip to main content
The Platform Catalog API uses two product shapes depending on the endpoint. MerchantProductListItem is the compact shape returned in search and More Like This results — it carries the fields needed to render a product card. MerchantProductView extends the list item with full detail fields and is returned only by the POST /products/lookup endpoint. Every field present on a list item is also present on a view.

MerchantProductListItem

Returned as elements of the items array in POST /products/search and POST /products/more-like-this responses.
string
required
Stable unique identifier for this product record. Use this to deduplicate items across pages.
string | null
Catalog that supplied this product. Present for search and More Like This results so cross-catalog responses can link back to the correct catalog.
string
required
Canonical product page URL on the merchant’s site. You can pass this directly to POST /products/lookup to retrieve the full view.
string | null
Product title as indexed from the merchant.
object | null
Brand information associated with this product.
number | null
Current sale or listing price. Used as the basis for price_min and price_max filter comparisons.
number | null
Pre-discount price. null when no markdown or promotion applies.
string | null
Primary product image URL.
string[]
All product image URLs, including the primary image. May be empty if no images are indexed.
object | null
Aggregated customer rating data.
boolean
Whether the product is active in the current index.
integer | null
Optional user-facing match score from 0 to 100, when the search strategy returns one. It is intended for display only.
datetime | null
ISO 8601 UTC timestamp of the last update to this product record in the index.

Example — MerchantProductListItem


MerchantProductView

Returned as the product field in POST /products/lookup responses. Contains all fields from MerchantProductListItem plus the following additional fields.
string | null
Full product description text as indexed from the merchant.
boolean | null
true if at least one variant is currently available to purchase. null if stock status is not available.
CategoryView[]
Categories the product is assigned to on the merchant site. Each item has name (string, required) and optional url (string).
string[]
Available size labels as strings, e.g. ["xs", "s", "m", "l", "xl"]. Empty array if the product has no size options.
ColorView[]
Available color options for this product.
string[]
Free-form tags associated with the product, e.g. ["hoodie", "graphic", "streetwear"].
MerchantVariantView[]
Individual SKU-level variants of the product.
ProductDetailsView
Structured product attribute details.
AudienceView | null
Intended target audience for the product.
IdentifiersView
External product identifiers for cross-referencing with other systems.
BreadcrumbView[]
Navigation breadcrumb trail from the merchant’s site. Each item has name (string, required) and optional url (string).
PromotionView[]
Active promotions for this product. Each item has optional description (string) and code (string).
ReviewView[]
Customer reviews. Each item has optional author (string), rating (number), body (string), and publishedAt (datetime).
VideoView[]
Associated product videos. Each item has optional url (string), thumbnailUrl (string), and name (string).
ProductEnrichment | null
Octogen-generated enrichment metadata. Includes classification fields like type, gender, age_groups, color, color_family, category_path, and attributes, plus canonical_brand with brand-level intelligence data.

Example — MerchantProductView

SDK types