---
title: "Get a product by slug"
method: GET
path: "/v1/products/{slug}"
tags: ["headless_products"]
---

# Get a product by slug

`GET /v1/products/{slug}`

## Path parameters

- `slug` string, required

## Query parameters

- `storefront_token` string, required
- `currency` 'USD' | 'EUR' | 'CAD' | 'GBP' | 'AUD' | 'NZD' | 'SEK' | 'NOK' | 'DKK' | 'PLN' | 'INR' | 'JPY' | 'MYR' | 'SGD' | 'MXN' | 'BRL' | 'CHF'

## Response `200`

OK

- union
  - ComFourthwallAppHeadlessModelBundleV1
    - `type` 'BUNDLE', required — Discriminator, always `BUNDLE` for a bundle.
    - `id` string, required
    - `name` string, required
    - `slug` string, required
    - `description` string, required
    - `state` union, required
      - ComFourthwallOpenapiModelOfferAbstractV1OfferStateV1Available
        - `type` 'AVAILABLE', required
      - ComFourthwallOpenapiModelOfferAbstractV1OfferStateV1SoldOut
        - `type` 'SOLD_OUT', required
    - `access` union, required
      - ComFourthwallOpenapiModelOfferAbstractV1OfferAccessV1Archived
        - `type` 'ARCHIVED', required
      - ComFourthwallOpenapiModelOfferAbstractV1OfferAccessV1Hidden
        - `type` 'HIDDEN', required
      - ComFourthwallOpenapiModelOfferAbstractV1OfferAccessV1Private
        - `type` 'PRIVATE', required
      - ComFourthwallOpenapiModelOfferAbstractV1OfferAccessV1Public
        - `type` 'PUBLIC', required
    - `images` ComFourthwallOpenapiModelImage[], required
      - `id` string, required
      - `url` string, required
      - `width` integer, required — The original width of the image in pixels.
      - `height` integer, required — The original height of the image in pixels.
      - `transformedUrl` string, required — Transformed URL with applied image processing (e.g., resizing, optimization)
    - `price` Money, required
      - `value` number, required
      - `currency` string, required
    - `compareAtPrice` Money
      - `value` number, required
      - `currency` string, required
    - `pricingStrategy` union, required
      - ComFourthwallAppHeadlessModelBundlePricingStrategyV1DiscountBased — The sum of the product prices reduced by `discountPercentage`.
        - `type` 'DISCOUNT_BASED', required
        - `discountPercentage` number, required
      - ComFourthwallAppHeadlessModelBundlePricingStrategyV1FixedPrice — The bundle has a fixed price regardless of the selected variants.
        - `type` 'FIXED_PRICE', required
        - `price` Money, required
          - `value` number, required
          - `currency` string, required
      - ComFourthwallAppHeadlessModelBundlePricingStrategyV1SameAsIndividual — The bundle costs the sum of its products.
        - `type` 'SAME_AS_INDIVIDUAL', required
    - `offers` ComFourthwallAppHeadlessModelProductV1[], required — Offers (products) the bundle consists of, in bundle order. One variant of each must be selected to buy the bundle.
      - `type` 'PRODUCT', required — Discriminator, always `PRODUCT` for a regular product.
      - `id` string, required
      - `name` string, required
      - `slug` string, required
      - `description` string, required
      - `state` union, required
        - ComFourthwallOpenapiModelOfferAbstractV1OfferStateV1Available
          - `type` 'AVAILABLE', required
        - ComFourthwallOpenapiModelOfferAbstractV1OfferStateV1SoldOut
          - `type` 'SOLD_OUT', required
      - `access` union, required
        - ComFourthwallOpenapiModelOfferAbstractV1OfferAccessV1Archived
          - `type` 'ARCHIVED', required
        - ComFourthwallOpenapiModelOfferAbstractV1OfferAccessV1Hidden
          - `type` 'HIDDEN', required
        - ComFourthwallOpenapiModelOfferAbstractV1OfferAccessV1Private
          - `type` 'PRIVATE', required
        - ComFourthwallOpenapiModelOfferAbstractV1OfferAccessV1Public
          - `type` 'PUBLIC', required
      - `images` ComFourthwallOpenapiModelImage[], required
        - `id` string, required
        - `url` string, required
        - `width` integer, required — The original width of the image in pixels.
        - `height` integer, required — The original height of the image in pixels.
        - `transformedUrl` string, required — Transformed URL with applied image processing (e.g., resizing, optimization)
      - `variants` ComFourthwallAppHeadlessModelProductVariantV1[], required
        - `id` string, required
        - `name` string, required
        - `sku` string, required
        - `unitPrice` Money, required
          - `value` number, required
          - `currency` string, required
        - `compareAtPrice` Money
          - `value` number, required
          - `currency` string, required
        - `attributes` ComFourthwallOpenapiModelOfferAbstractV1OfferVariantAbstractV1Attributes, required
          - `description` string, required
          - `color` ComFourthwallOpenapiModelOfferAbstractV1OfferVariantAbstractV1AttributesColor
            - `name` string, required
            - `swatch` string, required
          - `size` ComFourthwallOpenapiModelOfferAbstractV1OfferVariantAbstractV1AttributesSize
            - `name` string, required
        - `stock` union, required
          - ComFourthwallOpenapiModelOfferAbstractV1OfferVariantAbstractV1StockLimited
            - `type` 'LIMITED', required
            - `inStock` integer, required
          - ComFourthwallOpenapiModelOfferAbstractV1OfferVariantAbstractV1StockUnlimited
            - `type` 'UNLIMITED', required
        - `weight` ComFourthwallOpenapiModelOfferAbstractV1OfferVariantAbstractV1Weight, required
          - `value` number, required
          - `unit` string, required
        - `dimensions` ComFourthwallOpenapiModelOfferAbstractV1OfferVariantAbstractV1Dimensions, required
          - `length` number, required
          - `width` number, required
          - `height` number, required
          - `unit` string, required
        - `images` ComFourthwallOpenapiModelImage[], required
          - `id` string, required
          - `url` string, required
          - `width` integer, required — The original width of the image in pixels.
          - `height` integer, required — The original height of the image in pixels.
          - `transformedUrl` string, required — Transformed URL with applied image processing (e.g., resizing, optimization)
      - `additionalInformation` ComFourthwallAppHeadlessModelProductAdditionalInformationV1[]
        - `type` 'MORE_DETAILS' | 'SIZE_AND_FIT' | 'GUARANTEE_AND_RETURNS', required
        - `title` string, required
        - `bodyHtml` string, required
      - `sizeGuide` ComFourthwallAppHeadlessModelProductSizeGuideV1
        - `previewUrl` string
        - `fileUrl` string
        - `description` string
        - `fitGuideDescription` string
        - `fitGuideUrls` string[], required
      - `createdAt` string, date-time, required
      - `updatedAt` string, date-time, required
    - `additionalInformation` ComFourthwallAppHeadlessModelProductAdditionalInformationV1[]
      - `type` 'MORE_DETAILS' | 'SIZE_AND_FIT' | 'GUARANTEE_AND_RETURNS', required
      - `title` string, required
      - `bodyHtml` string, required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required
  - ComFourthwallAppHeadlessModelProductV1
    - `type` 'PRODUCT', required — Discriminator, always `PRODUCT` for a regular product.
    - `id` string, required
    - `name` string, required
    - `slug` string, required
    - `description` string, required
    - `state` union, required
      - ComFourthwallOpenapiModelOfferAbstractV1OfferStateV1Available
        - `type` 'AVAILABLE', required
      - ComFourthwallOpenapiModelOfferAbstractV1OfferStateV1SoldOut
        - `type` 'SOLD_OUT', required
    - `access` union, required
      - ComFourthwallOpenapiModelOfferAbstractV1OfferAccessV1Archived
        - `type` 'ARCHIVED', required
      - ComFourthwallOpenapiModelOfferAbstractV1OfferAccessV1Hidden
        - `type` 'HIDDEN', required
      - ComFourthwallOpenapiModelOfferAbstractV1OfferAccessV1Private
        - `type` 'PRIVATE', required
      - ComFourthwallOpenapiModelOfferAbstractV1OfferAccessV1Public
        - `type` 'PUBLIC', required
    - `images` ComFourthwallOpenapiModelImage[], required
      - `id` string, required
      - `url` string, required
      - `width` integer, required — The original width of the image in pixels.
      - `height` integer, required — The original height of the image in pixels.
      - `transformedUrl` string, required — Transformed URL with applied image processing (e.g., resizing, optimization)
    - `variants` ComFourthwallAppHeadlessModelProductVariantV1[], required
      - `id` string, required
      - `name` string, required
      - `sku` string, required
      - `unitPrice` Money, required
        - `value` number, required
        - `currency` string, required
      - `compareAtPrice` Money
        - `value` number, required
        - `currency` string, required
      - `attributes` ComFourthwallOpenapiModelOfferAbstractV1OfferVariantAbstractV1Attributes, required
        - `description` string, required
        - `color` ComFourthwallOpenapiModelOfferAbstractV1OfferVariantAbstractV1AttributesColor
          - `name` string, required
          - `swatch` string, required
        - `size` ComFourthwallOpenapiModelOfferAbstractV1OfferVariantAbstractV1AttributesSize
          - `name` string, required
      - `stock` union, required
        - ComFourthwallOpenapiModelOfferAbstractV1OfferVariantAbstractV1StockLimited
          - `type` 'LIMITED', required
          - `inStock` integer, required
        - ComFourthwallOpenapiModelOfferAbstractV1OfferVariantAbstractV1StockUnlimited
          - `type` 'UNLIMITED', required
      - `weight` ComFourthwallOpenapiModelOfferAbstractV1OfferVariantAbstractV1Weight, required
        - `value` number, required
        - `unit` string, required
      - `dimensions` ComFourthwallOpenapiModelOfferAbstractV1OfferVariantAbstractV1Dimensions, required
        - `length` number, required
        - `width` number, required
        - `height` number, required
        - `unit` string, required
      - `images` ComFourthwallOpenapiModelImage[], required
        - `id` string, required
        - `url` string, required
        - `width` integer, required — The original width of the image in pixels.
        - `height` integer, required — The original height of the image in pixels.
        - `transformedUrl` string, required — Transformed URL with applied image processing (e.g., resizing, optimization)
    - `additionalInformation` ComFourthwallAppHeadlessModelProductAdditionalInformationV1[]
      - `type` 'MORE_DETAILS' | 'SIZE_AND_FIT' | 'GUARANTEE_AND_RETURNS', required
      - `title` string, required
      - `bodyHtml` string, required
    - `sizeGuide` ComFourthwallAppHeadlessModelProductSizeGuideV1
      - `previewUrl` string
      - `fileUrl` string
      - `description` string
      - `fitGuideDescription` string
      - `fitGuideUrls` string[], required
    - `createdAt` string, date-time, required
    - `updatedAt` string, date-time, required

## Other responses

- `404` — Possible errors: `OFFER_SLUG_NOT_FOUND_ERROR`, `OFFER_VARIANT_NOT_FOUND_ERROR`

## Changes

- **2026-09-01** `c31b4d6c63bc` — 12 breaking, 2 warning
  - added `#/components/schemas/com.fourthwall.app.headless.model.BundleV1, #/components/schemas/com.fourthwall.app.headless.model.ProductV1` to the response body `oneOf` list for the response status `200`
  - the response's body type/format changed from `object`/`` to ``/`` for status `200`
  - removed the required property `access` from the response with the `200` status
  - removed the required property `createdAt` from the response with the `200` status
  - …10 more

[Change history](https://skmtc.dev/fourthwall/apis/fourthwall-apis/changes/v1/products/:slug/get.md)

---

[API](https://skmtc.dev/fourthwall/apis/fourthwall-apis.md) · [All operations](https://skmtc.dev/fourthwall/apis/fourthwall-apis/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/fourthwall/fourthwall-apis/revisions/c31b4d6c63bc/schema)
