> ## Documentation Index
> Fetch the complete documentation index at: https://docs.marzipan.co/llms.txt
> Use this file to discover all available pages before exploring further.

# Product

> Retrieve detailed information about a specific product by its unique identifier.



## OpenAPI

````yaml /api-reference/openapi.json get /products/{productId}
openapi: 3.0.0
info:
  title: Marzipan API
  version: 1.0.0
servers:
  - url: https://api.marzipan.co/v1
security:
  - tenantAuth: []
tags:
  - name: Account
    description: >-
      Account management endpoints including registration, login, and user
      details
  - name: Carts
    description: Shopping cart management endpoints
  - name: Products
    description: Product catalogue and search endpoints
  - name: Subscriptions
    description: Subscription management and renewal endpoints
  - name: CMS
    description: Content management system endpoints
  - name: Messaging
    description: Message and communication endpoints
  - name: Settings
    description: >-
      Storefront settings and market detection used to configure the web
      components and checkout.
  - name: Analytics
    description: Storefront visit and attribution tracking.
  - name: Rewards
    description: >-
      Loyalty and rewards programme endpoints for the authenticated customer,
      covering points balance, tier status, perks, exclusive products and
      transaction history.
  - name: Forms
    description: Render and submit dynamic storefront forms defined in the CMS.
  - name: Events
    description: >-
      Check event availability, browse occurrences and recurring dates, generate
      ticket QR codes, and manage event waitlists (join, leave, check status,
      and claim promoted spots).
paths:
  /products/{productId}:
    parameters:
      - name: productId
        in: path
        required: true
        description: The unique identifier for the product
        schema:
          type: string
          format: uuid
        example: 2e2805a1-738e-4118-8a8b-f9431f0e210c
    get:
      tags:
        - Products
      summary: Product
      description: >-
        Retrieve detailed information about a specific product by its unique
        identifier.
      parameters:
        - name: include
          in: query
          required: false
          description: >-
            Comma-separated list of related resources to include in the
            response. Available options: linkedSubscriptions (includes full
            subscription details for products with linked subscriptions).
          schema:
            type: string
            enum:
              - linkedSubscriptions
          example: linkedSubscriptions
      responses:
        '200':
          description: Product details
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Product'
              example:
                id: 2e2805a1-738e-4118-8a8b-f9431f0e210c
                name: Signature Selection
                slug: signature-selection
                url: https://api.marzipan.co/products/signature-selection
                description: >-
                  Id laboris ad aliqua exercitation dolore. Ad, aliqua
                  exercitation dolore est culpa. Dolore est culpa, nostrud.
                  Nostrud ad sed mollit, fugiat. Mollit fugiat, irure adipiscing
                  ipsum id. Adipiscing ipsum id ea cillum deserunt, ipsum lorem.
                productType: physical
                sku: CSMALBC2015
                collections:
                  - id: 885ea507-690b-4598-a8fc-095c0528be24
                    name: Store
                    slug: store
                    description: Store collection
                status: active
                images:
                  product:
                    - id: 0736c529-a33d-4b8c-8126-eb69779dcdad
                      path: 1/0736c529-a33d-4b8c-8126-eb69779dcdad.jpg
                      src: >-
                        https://marzipan-cloud-dev.b-cdn.net/1/0736c529-a33d-4b8c-8126-eb69779dcdad.jpg
                      alt: Signature Selection product photo
                      mimeType: image/jpeg
                      filename: 0736c529-a33d-4b8c-8126-eb69779dcdad.jpg
                  labels:
                    front: []
                    back: []
                primaryImage:
                  id: 0736c529-a33d-4b8c-8126-eb69779dcdad
                  path: 1/0736c529-a33d-4b8c-8126-eb69779dcdad.jpg
                  src: >-
                    https://marzipan-cloud-dev.b-cdn.net/1/0736c529-a33d-4b8c-8126-eb69779dcdad.jpg
                  alt: Signature Selection product photo
                  mimeType: image/jpeg
                  filename: 0736c529-a33d-4b8c-8126-eb69779dcdad.jpg
                price: £24.99
                salePrice: null
                subscriberPrice: null
                createdAt: '2024-02-05T23:22:56.000000Z'
                updatedAt: '2024-02-05T23:22:56.000000Z'
                storeSlug: store
                subscriptionsSlug: null
                availability: all
                upsellProducts: []
                attributes: []
                options: []
                relatedProducts: []
                awards: []
                reviews: []
                metaTitle: Signature Selection
                metaDescription: >-
                  Cupidatat quis reprehenderit, exercitation quis cillum nulla
                  do.
                metaImage: null
                storeName: Example Store
        '401':
          description: Unauthenticated
          content:
            application/json:
              schema:
                type: object
                properties:
                  message:
                    type: string
              example:
                message: string
components:
  schemas:
    Product:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the product
        name:
          type: string
          description: Product name
        slug:
          type: string
          description: URL-friendly product identifier
        url:
          type: string
          description: Full URL to the product page
        description:
          type: string
          description: Product description
        productType:
          type: string
          enum:
            - physical
            - event
            - subscription
            - bundle
          description: Type of product
        subscriptionType:
          type: string
          enum:
            - picknmix
            - variable
          description: Type of subscription. Only present for subscription products
        sku:
          type: string
          description: Stock Keeping Unit
        collections:
          type: array
          items:
            $ref: '#/components/schemas/Collection'
          description: Collections this product belongs to
        status:
          type: string
          enum:
            - active
            - inactive
            - out_of_stock
          description: >-
            Product status - automatically set to out_of_stock when quantity is
            0
        images:
          type: object
          properties:
            product:
              type: array
              items:
                $ref: '#/components/schemas/ProductImage'
              description: Main product images
            labels:
              type: object
              properties:
                front:
                  type: array
                  items:
                    $ref: '#/components/schemas/ProductImage'
                  description: Front label images
                back:
                  type: array
                  items:
                    $ref: '#/components/schemas/ProductImage'
                  description: Back label images
          description: Product images organised by type
        primaryImage:
          $ref: '#/components/schemas/ProductImage'
          description: Primary product image
        price:
          type: string
          description: >-
            Formatted price (e.g., £10.00). For pick-and-mix subscriptions with
            per-item pricing, may show 'from £X.XX'
        salePrice:
          type: string
          nullable: true
          description: Formatted sale price if on sale
        subscriberPrice:
          type: string
          nullable: true
          description: Special price for subscribers. Not shown for subscription products
        createdAt:
          type: string
          format: date-time
          description: Creation timestamp
        updatedAt:
          type: string
          format: date-time
          description: Last update timestamp
        storeSlug:
          type: string
          description: Store URL slug
        subscriptionsSlug:
          type: string
          description: Subscriptions URL slug
        availability:
          type: string
          enum:
            - all
            - subscribers
          description: Product availability
        upsellProducts:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                description: Product ID
              name:
                type: string
                description: Product name
              sku:
                type: string
                description: Product SKU
              price:
                type: string
                description: Formatted price
              salePrice:
                type: string
                nullable: true
                description: Formatted sale price
              subscriberPrice:
                type: string
                nullable: true
                description: Formatted subscriber price
          description: Upsell products with simplified data
        linkedSubscriptions:
          type: array
          items:
            $ref: '#/components/schemas/LinkedSubscription'
          description: >-
            Full details of linked subscriptions. Only included when requested
            via the include query parameter.
        billingFrequency:
          type: integer
          description: Billing frequency in months. Only present for subscription products
        billingFrequencies:
          type: array
          items:
            type: integer
          description: >-
            Available billing frequencies. Only present for subscription
            products
        pricingType:
          type: string
          enum:
            - fixed
            - per_item
          description: >-
            Pricing type for subscriptions. Only present for subscription
            products
        bundleItems:
          type: array
          items:
            type: object
          description: Items included in bundle. Only present for bundle products
        attributes:
          type: array
          items:
            type: object
          description: Product attributes like colour, size, etc.
        options:
          type: array
          items:
            type: object
          description: Product options with their possible values
        relatedProducts:
          type: array
          items:
            type: object
          description: Related products
        awards:
          type: array
          items:
            type: object
          description: Product awards
        reviews:
          type: array
          items:
            type: object
          description: Product reviews
        metaTitle:
          type: string
          description: SEO meta title
        metaDescription:
          type: string
          description: SEO meta description
        metaImage:
          type: string
          nullable: true
          description: SEO meta image URL (1200x630)
        linkedSubscription:
          type: boolean
          description: >-
            Whether product has linked subscriptions. Only present if product
            has linked subscriptions
        storeName:
          type: string
          description: Store name
    Collection:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the collection
        name:
          type: string
          description: Collection name
        description:
          type: string
          description: Collection description
        slug:
          type: string
          description: URL-friendly collection identifier
        attributes:
          type: array
          items:
            type: object
          description: Collection attributes
    ProductImage:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Unique identifier for the image
        path:
          type: string
          description: Relative path to the image file
        src:
          type: string
          format: uri
          description: Full URL to access the image
        alt:
          type: string
          nullable: true
          description: Alternative text for accessibility
        mimeType:
          type: string
          description: MIME type of the image (e.g., image/jpeg, image/png)
        filename:
          type: string
          description: Original filename of the uploaded image
    LinkedSubscription:
      type: object
      properties:
        id:
          type: string
          format: uuid
          description: Subscription ID
        name:
          type: string
          description: Subscription name
        options:
          type: object
          description: Subscription options
        status:
          type: string
          description: Subscription status
        startDate:
          type: string
          format: date
          description: Subscription start date
        endDate:
          type: string
          format: date
          description: Subscription end date
        nextBillingDate:
          type: string
          format: date
          description: Next billing date
        billingInterval:
          type: integer
          description: Billing interval in months
        createdAt:
          type: string
          format: date-time
          description: Creation timestamp
  securitySchemes:
    tenantAuth:
      type: http
      scheme: bearer
      description: >-
        Bearer authentication header of the form `Bearer <token>`, where
        `<token>` is your API token.
      bearerFormat: JWT

````