Get a published product

Returns one PUBLISHED product for the `:siteId` in the URL, addressed by its `prod_` wire id OR its slug, served behind a required storefront publishable key. A draft, archived, deleted, cross-tenant, or absent product all return an identical 404 (no existence oracle). The response carries only the public catalogue whitelist (wire id, slug, title, description, pricing, `images`, `thumbnail`, the enriched `gallery` of `{ url, alt, caption }` per image, kind, SEO fields, SKU), never admin or internal fields. `images` stays a plain URL array; `gallery` is the additive projection carrying per-image alt text and caption for image SEO and accessibility. When the `product_variants` slice is on, the payload's `variants` array carries the closed per-variant whitelist (variant wire id, title, sku, priceCents, compareAtPriceCents, position, the per-variant `gallery` of `{ url, alt, caption }` (the variant's own image subset, or the full product gallery when it selects none), and option-value name pairs ordered by option position); per-variant stock is never surfaced. When the slice is off, or for a `bookable` product, `variants` is an empty array. The flag gates serialization ONLY: the published-only, tenant, and soft-delete filters hold on both flag states. > **Note:** This endpoint requires the e-commerce feature to be enabled on your site.

GET/products/{idOrSlug}
Base URLhttps://api.lynkow.com/storefront/{siteId}

Path parameters

idOrSlug
string
required
Feedback

Was this page helpful?