Skip to navigation

Get product by handle (slug)

Returns one product looked up by its handle; the response shape depends on the product type. The handle is the stable, human-readable product identifier and is the preferred way to look up a product. For ticket products, the price here is indicative — per-slot availability and prices come from GET /api/schedules/ticket.

Path parameters

handlestringRequired

Headers

x-entriastringRequired

Identifies which store this request is for. Required on every store-scoped route. It is not authentication and not a secret — it grants no privileges and is safe to send from a browser. You receive the value once your Entria backend has been created and configured. Missing header returns 400; an unknown store returns 404.

Query parameters

localestringOptional

BCP 47 locale code (e.g. da-DK, en-US). Defaults to DEFAULT_LOCALE env binding.

Response

The product, shaped according to its type — see the Product schema. Tickets carry an indicative price (price/basePrice, or a minPrice/maxPrice range) from the schedule summary; per-slot availability and prices come from GET /api/schedules/ticket. Gift cards may include a list of preset amounts (options) and a price range (minPrice/maxPrice); other types return price and basePrice directly.

TICKETobject
OR
ATTRACTION_PACKAGEobject
OR
VOUCHERobject
OR
MEMBERSHIPobject
OR
MEMBERSHIP_RENEWobject
OR
PHYSICAL_ADDONobject
OR
COUPONobject
OR
DONATIONobject

Errors

404
Not Found Error
500
Internal Server Error