Appearance
Get a single product based on filters (storefront callers see active, non-deleted products only)
GET
/rest/v1/product/product/item
Storefront callers — guest (no token) and customer — match only against active, non-deleted products (active = 1 AND soft_delete = 0) by default: filter[active] and filter[softDelete] are server-forced to those values for them, so a supplied value is ignored rather than combined. This is the route a storefront uses to resolve a product page by slug, so it — not the id-addressed show() — sets what an inactive product looks like to a visitor. Backend callers are unaffected and may filter freely.
Parameters
Query Parameters
filter[id]
Filter by product IDs
Type
string
filter[vatId]
Filter by VAT ID
Type
string
filter[vendorId]
Filter by vendor ID
Type
string
filter[badgeId]
Filter by badge ID
Type
string
filter[priceGte]
INCLUSIVE minimum price — matches shop_product.price >= value, so a product priced exactly at the value IS returned. Bounds the RAW price column, NOT a post-discount final price. Products whose price is NULL are EXCLUDED as soon as any of the four bounds is supplied. A non-numeric value is ignored for THIS key only.
Type
number
Format
"float"filter[priceGt]
EXCLUSIVE minimum price — matches shop_product.price > value, so a product priced exactly at the value is NOT returned. filter[priceGt]=0 is the supported way to request only non-zero-priced products. Otherwise the same semantics as filter[priceGte].
Type
number
Format
"float"filter[priceLte]
INCLUSIVE maximum price — matches shop_product.price <= value, so a product priced exactly at the value IS returned.
Type
number
Format
"float"filter[priceLt]
EXCLUSIVE maximum price — matches shop_product.price < value, so a product priced exactly at the value is NOT returned.
Type
number
Format
"float"filter[barcode]
Filter by barcode
Type
string
filter[tagId]
Filter by tag id, PLAIN OR: a product matches when it carries ANY of the comma-separated ids. Independent of admin configuration — the per-tag-category AND/OR flags are not read for this key. See the same parameter on GET /rest/product/product for the full contract.
Type
string
filter[tagFacetId]
Filter by tag id with LEGACY STOREFRONT FACET semantics: the ids are grouped by tag category and the AND/OR combination is resolved from per-tag-category ADMIN CONFIGURATION, so the same request can return a different row as that configuration changes. Prefer filter[tagId] unless you are reproducing the legacy storefront. See the same parameter on GET /rest/product/product for the full contract.
Type
string
filter[active]
Filter by active status
Type
boolean
filter[name.el]
Filter by product name (Greek)
Type
string
filter[name.en]
Filter by product name (English)
Type
string
filter[slug.el]
Filter by product slug (Greek)
Type
string
filter[slug.en]
Filter by product slug (English)
Type
string
with
With relations
Type
string
Responses
Successful operation
application/json
JSON
"string"