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

# Get Product

> Retrieves information about a single product given its product code.



## OpenAPI

````yaml /openapi/openapi_catalog_storefront.json get /commerce/catalog/storefront/products/{productCode}
openapi: 3.0.1
info:
  description: |-
    <div id="overview_CATALOG_STOREFRONT">
                <h2>CATALOG STOREFRONT</h2>
                <p>The Catalog Storefront APIs are a collection of resources for managing storefront categories, currencies, price lists, products, and
                    product search. This controls how the products in your catalog are organized and displayed on the
                    storefront. See the
                    <a href="/concept-guides/catalog">Catalog user guides</a>
                    for information about the related features in the Unified Commerce Admin.</p>
                <p>Use the <strong>Currencies</strong> resource to retrieve exchange rates for displaying prices on your storefront.</p>
                <p>Use the <strong>Storefront Categories</strong> resource to view the product category hierarchy as it appears to shoppers
                    who are browsing the storefront. The hierarchy can be returned as a flat list or as a category tree.</p>
                <p>Use the <strong>Pricelists</strong> resource to retrieve the details of a price list. The details may contain a hierarchy
                    of ancestor and/or descendant price lists dependening on your configuration.</p>
                <p>Use the <strong>Storefront Products</strong> resource to manage the shopper product selection process during a visit to
                    the web storefront. You can update product options as shoppers pick and choose their product choices. A
                    shopper cannot add a product to a cart until all of its required options have been selected.</p>
                <p>Use the <strong>Product Search</strong> resource to provide dynamic search results to shoppers as they browse and search
                    for products on the web storefront, and to suggest possible search terms as the shopper enters text. The related <strong>Search Redirect</strong>
                    resource allows you to retrieve any search redirect items.</p>
            </div>
  title: Catalog Storefront
  version: 0.0.1
servers:
  - description: Kibo Base URL
    url: '{baseUrl}/api'
    variables:
      baseUrl:
        default: https://t1000000.sb.usc1.gcp.kibocommerce.com
        description: Base URL
security:
  - bearerAuth: []
paths:
  /commerce/catalog/storefront/products/{productCode}:
    get:
      tags:
        - StorefrontProducts
      summary: Get Product
      description: Retrieves information about a single product given its product code.
      parameters:
        - description: >-
            Required. Merchant-created code associated with the product, for
            example, a SKU. Max length: 30.
          in: path
          name: productCode
          required: true
          schema:
            type: string
        - description: >-
            Optional. Merchant-created code associated with a specific product
            variation. Max length: #.
          in: query
          name: variationProductCode
          schema:
            type: string
        - description: Optional. Response groups to be determined.
          in: query
          name: responseGroups
          schema:
            type: string
        - description: Optional. If true, return a product if it is located but inactive.
          in: query
          name: allowInactive
          schema:
            type: boolean
        - description: >-
            Determines whether or not to check inventory on an item when
            validating
          in: query
          name: skipInventoryCheck
          schema:
            default: false
            type: boolean
        - description: >-
            Optional. If true, will still return the product, even if product is
            out of stock and the out of stock behavior is set to “Hide Product
            in Store”. If false or omitted, the same product will return a 404
            not found. Suppressing the 404 not found is useful for site SEO.
          in: query
          name: supressOutOfStock404
          schema:
            default: false
            type: boolean
        - description: >-
            Optional.  If specified, will be used for returning pricing based on
            volume if applicable.  Defaults to 1 if not specified.
          in: query
          name: quantity
          schema:
            format: int32
            type: integer
        - in: query
          name: acceptVariantProductCode
          schema:
            default: false
            type: boolean
        - in: query
          name: purchaseLocation
          schema:
            type: string
        - in: query
          name: variationProductCodeFilter
          schema:
            type: string
        - in: query
          name: sliceValue
          schema:
            type: string
        - in: query
          name: includeAllImages
          schema:
            default: false
            type: boolean
        - in: query
          name: useSubscriptionPricing
          schema:
            default: false
            type: boolean
        - in: query
          name: customerSegments
          schema:
            type: string
        - description: limits which fields are returned in the response body
          in: query
          name: responseFields
          schema:
            type: string
      responses:
        '200':
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/CatalogRuntimesProduct'
            text/json:
              schema:
                $ref: '#/components/schemas/CatalogRuntimesProduct'
            text/plain:
              schema:
                $ref: '#/components/schemas/CatalogRuntimesProduct'
          description: OK
components:
  schemas:
    CatalogRuntimesProduct:
      description: >-
        Details of a product, including its product code, name, description,
        options (if any), and current state--whether the product can be
        purchased given the options selected currently.
      properties:
        availableShippingDiscounts:
          description: List of potential shipping discounts available for this product.
          items:
            $ref: '#/components/schemas/CatalogRuntimesDiscount'
          nullable: true
          type: array
        bundledProducts:
          description: >-
            The list of Bundled products included in this product. This is only
            populated when ProductUsage=Bundle
          items:
            $ref: '#/components/schemas/CatalogRuntimesBundledProduct'
          nullable: true
          type: array
        catalogEndDate:
          format: date-time
          nullable: true
          type: string
        catalogStartDate:
          format: date-time
          nullable: true
          type: string
        categories:
          description: List of categories to which this product belongs.
          items:
            $ref: '#/components/schemas/CatalogRuntimesCategory'
          nullable: true
          type: array
        collectionMembersProductContent:
          description: Only used for indexing
          items:
            $ref: '#/components/schemas/ProductContent'
          nullable: true
          type: array
        content:
          $ref: '#/components/schemas/ProductContent'
        costPriceMargin:
          format: double
          nullable: true
          type: number
        createDate:
          description: When the product was created with the product admin resource.
          format: date-time
          type: string
        dateFirstAvailableInCatalog:
          format: date-time
          nullable: true
          type: string
        daysAvailableInCatalog:
          format: int32
          nullable: true
          type: integer
        fulfillmentTypesSupported:
          description: Indicates the fulfillment types the product supports.
          items:
            type: string
          nullable: true
          type: array
        goodsType:
          description: The GoodsType of the product (Physical, Digital, DigitalCredit....)
          nullable: true
          type: string
        inventoryInfo:
          $ref: '#/components/schemas/CatalogRuntimesProductInventoryInfo'
        isActive:
          description: >-
            If true, the product exists. If not, the product should not appear
            in search results.
          nullable: true
          type: boolean
        isPackagedStandAlone:
          description: Is this product shipped in its own package
          nullable: true
          type: boolean
        isRecurring:
          description: >-
            If true, the product can be purchased or fulfilled at regular
            intervals, for example, monthly billing or a subscription.
          type: boolean
        isTaxable:
          description: If true, the product is subject to tax.
          type: boolean
        locationsInStock:
          description: >-
            Any location code (eq) or array of location codes which are in
            stock.
          items:
            type: string
          nullable: true
          type: array
        measurements:
          $ref: '#/components/schemas/CatalogRuntimesPackageMeasurements'
        mfgPartNumber:
          description: Manufacturer part number.
          nullable: true
          type: string
        mfgPartNumbers:
          description: Manufacturer part numbers (populated for configurable products).
          items:
            type: string
          nullable: true
          type: array
        options:
          description: "List of the product's configurable options and extras. \r\nIncludes whether an option is configurable (for example, a T-shirt) or an Extra (for example, monogram or gift-wrapping)."
          items:
            $ref: '#/components/schemas/CatalogRuntimesProductOption'
          nullable: true
          type: array
        personalizationScore:
          format: double
          type: number
        price:
          $ref: '#/components/schemas/CatalogRuntimesProductPrice'
        priceRange:
          $ref: '#/components/schemas/ProductPriceRange'
        pricingBehavior:
          $ref: '#/components/schemas/CatalogRuntimesProductPricingBehaviorInfo'
        productCode:
          description: >-
            Merchant-created code associated with the product, for example, a
            SKU.
          nullable: true
          type: string
        productCollectionMembers:
          description: "list of member products that are part of the collection\r\nThis requires that the ProductUsage be set to Collection"
          items:
            $ref: '#/components/schemas/ProductCollectionMember'
          nullable: true
          type: array
        productCollections:
          description: >-
            List of product codes of product collections that this product is a
            member of.
          items:
            $ref: '#/components/schemas/CatalogRuntimesProductCollectionInfo'
          nullable: true
          type: array
        productImageGroups:
          description: "List of the image groups this product uses.\r\nImage groups are used to map different images to different product options.\r\nIf the product doesn't have options then all images will be in the default\r\nimage group."
          items:
            $ref: '#/components/schemas/CatalogRuntimesProductImageGroup'
          nullable: true
          type: array
        productRules:
          items:
            type: string
          nullable: true
          type: array
        productSequence:
          description: System generated monotonically increasing sequence
          format: int32
          nullable: true
          type: integer
        productType:
          nullable: true
          type: string
        productTypeId:
          format: int32
          nullable: true
          type: integer
        productUsage:
          description: >-
            The UsageType of this product (Standard, Configurable, Bundle,
            Component, Collection)
          nullable: true
          type: string
        properties:
          description: >-
            List of product properties. These are attributes that might apply to
            multiple products, for example, price, size, manufacturer. These
            attributes cannot be configured by the shopper.
          items:
            $ref: '#/components/schemas/CatalogRuntimesProductProperty'
          nullable: true
          type: array
        publishState:
          description: >-
            Represents the published state of the product returned. Valid values
            for ValueType are defined in PublishStateConst.
          nullable: true
          type: string
        purchasableState:
          $ref: '#/components/schemas/ProductPurchasableState'
        purchaseLocation:
          description: "The location where the product is being purchased.. default is null. Products can have different prices\r\nby purchaseLocation via custom priceListResolution...."
          nullable: true
          type: string
        score:
          description: The item's search engine relevancy score.
          format: double
          type: number
        sliceValue:
          description: >-
            Readonly value of the selected value of the option corresponding to
            the Mozu.ProductRuntime.Contracts.Product.SlicingAttributeFQN
          nullable: true
          type: string
        slicingAttributeFQN:
          nullable: true
          type: string
        upCs:
          description: UPC code of the products (populated for configurable products).
          items:
            type: string
          nullable: true
          type: array
        upc:
          description: UPC code of the product.
          nullable: true
          type: string
        updateDate:
          description: When the product was last modified with the product admin resource.
          format: date-time
          type: string
        validPriceLists:
          description: List of valid pricelists for the product
          items:
            type: string
          nullable: true
          type: array
        variationProductCode:
          description: >-
            When a configurable product has IsPurchasable=true on a GetProduct,
            this property will be populated for submission to cart.
          nullable: true
          type: string
        variations:
          items:
            $ref: '#/components/schemas/VariationSummary'
          nullable: true
          type: array
        volumePriceBands:
          description: >-
            For products with bulk pricing... this will be populated with
            pricebands, depending on what options have been selected...
          items:
            $ref: '#/components/schemas/ProductVolumePrice'
          nullable: true
          type: array
        volumePriceRange:
          $ref: '#/components/schemas/ProductPriceRange'
      type: object
    CatalogRuntimesDiscount:
      description: Discount name and expiration date.
      properties:
        discountId:
          description: Unique identifier of the discount.
          format: int32
          type: integer
        expirationDate:
          description: Date when the discount expires.
          format: date-time
          nullable: true
          type: string
        friendlyDescription:
          description: Description of the discount.
          nullable: true
          type: string
        impact:
          description: The Impact of the individual Discount
          format: double
          type: number
        name:
          description: Name of the discount.
          nullable: true
          type: string
      type: object
    CatalogRuntimesBundledProduct:
      properties:
        content:
          $ref: '#/components/schemas/ProductContent'
        creditValue:
          description: >-
            Credit Value applicable to this product. Should only be present on
            DigitalCredit goodsType....
          format: double
          nullable: true
          type: number
        goodsType:
          description: The GoodsType of this product (Physical, Digital, DigitalCredit)
          nullable: true
          type: string
        inventoryInfo:
          $ref: '#/components/schemas/CatalogRuntimesProductInventoryInfo'
        isPackagedStandAlone:
          description: Is this product shipped in its own package
          nullable: true
          type: boolean
        measurements:
          $ref: '#/components/schemas/CatalogRuntimesPackageMeasurements'
        optionAttributeFQN:
          description: >-
            Fully Qualified Name of the selected option's attribute (only
            applies to Products as extras)
          nullable: true
          type: string
        optionValue:
          description: Value of the selected option (only applies to Products as extras)
          nullable: true
        productCode:
          description: >-
            Merchant-created code associated with the product, for example, a
            SKU.
          nullable: true
          type: string
        productType:
          nullable: true
          type: string
        quantity:
          description: The quantity of the bundled product
          format: int32
          type: integer
      type: object
    CatalogRuntimesCategory:
      description: >-
        The category hierarchy of your store as it appears on the storefront.
        This is the category heirarchy defined with the admin/category resource
        except for any categories with an IsDisplayed value set to false.
      properties:
        attributes:
          items:
            $ref: '#/components/schemas/CatalogRuntimesCategoryAttribute'
          nullable: true
          type: array
        categoryCode:
          description: External unique identifier of the category.
          nullable: true
          type: string
        categoryId:
          description: >-
            Internal unique identifier of the category. System-supplied and
            read-only.
          format: int32
          type: integer
        childrenCategories:
          description: List of subcategories that belong to this category.
          items:
            type: object
          nullable: true
          type: array
        content:
          $ref: '#/components/schemas/CategoryContent'
        count:
          description: Indicates whether the category should be displayed.
          format: int32
          nullable: true
          type: integer
        isDisplayed:
          description: Indicates whether the category should be displayed.
          type: boolean
        parentCategory:
          type: object
        sequence:
          description: >-
            Order in which categories appear when they are at the same level
            (siblings). For example, categories can be sequenced so that a
            specific category always appears first (or last).
          format: int32
          nullable: true
          type: integer
        shouldSlice:
          description: Indicates whether the category should be sliced
          type: boolean
        updateDate:
          description: Last Modified Date Time
          format: date-time
          type: string
      type: object
    ProductContent:
      description: >-
        Name of the product and, if supplied, description, metatags, friendly
        URL, and associated images.
      properties:
        metaTagDescription:
          description: Metadata description used to manage information internally.
          nullable: true
          type: string
        metaTagKeywords:
          description: Metadata keywords used to manage information internally.
          nullable: true
          type: string
        metaTagTitle:
          description: Metadata title used to manage information internally.
          nullable: true
          type: string
        productFullDescription:
          description: >-
            Detailed description of the product typically used for a product
            details page.
          nullable: true
          type: string
        productImages:
          description: Images associated with the product.
          items:
            $ref: '#/components/schemas/ProductImage'
          nullable: true
          type: array
        productName:
          description: Name of the product.
          nullable: true
          type: string
        productShortDescription:
          description: >-
            Brief description of the product typically used when the product is
            displayed in a list or search results.
          nullable: true
          type: string
        seoFriendlyUrl:
          description: >-
            Human-readable identifier defined for the product to create friendly
            URLs.
          nullable: true
          type: string
      type: object
    CatalogRuntimesProductInventoryInfo:
      description: >-
        Use the Products resource to create and manage products for your store.
        You can create products with options that a shopper configures (such as
        a T-shirt color and size). The system can manage inventory for all
        combinations of your product options, and can calculate tax and shipping
        costs.
      properties:
        availableDate:
          description: Date the item will become available for back order if out of stock
          format: date-time
          nullable: true
          type: string
        isSubstitutable:
          description: ReadOnly flag indicates is the product has substitutions defined
          type: boolean
        manageStock:
          description: If true, the Products service manages inventory for this product.
          nullable: true
          type: boolean
        onlineLocationCode:
          description: Directship location code for OnlineStockAvailable
          nullable: true
          type: string
        onlineSoftStockAvailable:
          description: Number of product items currently available for purchase.
          format: int32
          nullable: true
          type: integer
        onlineStockAvailable:
          description: Number of product items currently available for purchase.
          format: int32
          nullable: true
          type: integer
        outOfStockBehavior:
          description: >-
            The behvior when the ManageStock is true and the product is not in
            stock.
          nullable: true
          type: string
      type: object
    CatalogRuntimesPackageMeasurements:
      description: >-
        Physical dimensions of the package required to ship the product and its
        weight.
      properties:
        packageHeight:
          $ref: '#/components/schemas/CommerceRuntimeMeasurement'
        packageLength:
          $ref: '#/components/schemas/CommerceRuntimeMeasurement'
        packageWeight:
          $ref: '#/components/schemas/CommerceRuntimeMeasurement'
        packageWidth:
          $ref: '#/components/schemas/CommerceRuntimeMeasurement'
      type: object
    CatalogRuntimesProductOption:
      description: >-
        An option for a product and its list of values, if any. Also includes
        whether the option is configurable or stand-alone, whether it is
        required, whether it can have mulitple values and whether the shopper
        can supply its value (for example, engraved initials).
      properties:
        attributeDetail:
          $ref: '#/components/schemas/AttributeDetail'
        attributeFQN:
          description: Attribute fully qualified name
          nullable: true
          type: string
        isMultiValue:
          description: >-
            If true, more than one value can be assigned to an option. Only
            possible with stand-alone options.
          nullable: true
          type: boolean
        isProductImageGroupSelector:
          type: boolean
        isRequired:
          description: >-
            If true, the shopper must provide a value for the option before it
            can be purchased.
          nullable: true
          type: boolean
        values:
          description: >-
            Possible choices for an option, for example, values of the option
            "Color" can be "red," "white," and "blue."
          items:
            $ref: '#/components/schemas/CatalogRuntimesProductOptionValue'
          nullable: true
          type: array
      type: object
    CatalogRuntimesProductPrice:
      description: Price of the product with any sale and discounts applied.
      properties:
        catalogListPrice:
          description: Current Price Listed in the catalog.
          format: double
          nullable: true
          type: number
        catalogSalePrice:
          description: >-
            Current sale price of the product listed in the catalog. This is not
            typically dispalyed directly to the user as it will be listed in
            SalePrice if applicable.
          format: double
          nullable: true
          type: number
        creditValue:
          description: >-
            Credit Value applicable to this product. Should only be present on
            DigitalCredit goodsType....
          format: double
          nullable: true
          type: number
        discount:
          $ref: '#/components/schemas/CatalogRuntimesAppliedDiscount'
        effectivePricelistCode:
          description: The priceList that was applied to this product
          nullable: true
          type: string
        msrp:
          description: >-
            Manufacturer suggested Retail price, this may be null if one is not
            set in the catalog.
          format: double
          nullable: true
          type: number
        price:
          description: >-
            Listed Price of the product. This is the price that the merchant
            intends to sell the product for if no sale is active.
          format: double
          nullable: true
          type: number
        priceListEntryCode:
          description: The specific PriceListCode that was applied (includes inheritence
          nullable: true
          type: string
        priceListEntryEndDate:
          description: EndDate if PriceListEntry present.
          format: date-time
          nullable: true
          type: string
        priceListEntryMode:
          description: >-
            IF a PriceList Entry was applied to this price it will be (simple,
            bulk...)
          nullable: true
          type: string
        priceType:
          description: >-
            Futher clarification of what value is being returned in the Price
            field
          nullable: true
          type: string
        salePrice:
          description: >-
            Current sale price of the product. This can be either a specific
            numerical amount or it can be calculated based on an active
            discount. Optional.
          format: double
          nullable: true
          type: number
        salePriceType:
          nullable: true
          type: string
      type: object
    ProductPriceRange:
      description: >-
        For products with options that vary the cost of the product, the range
        between lowest and highest possible price of the product based on the
        current selection of options.
      properties:
        lower:
          $ref: '#/components/schemas/CatalogRuntimesProductPrice'
        upper:
          $ref: '#/components/schemas/CatalogRuntimesProductPrice'
      type: object
    CatalogRuntimesProductPricingBehaviorInfo:
      properties:
        discountsRestricted:
          nullable: true
          type: boolean
        discountsRestrictedEndDate:
          format: date-time
          nullable: true
          type: string
        discountsRestrictedStartDate:
          format: date-time
          nullable: true
          type: string
      type: object
    ProductCollectionMember:
      description: List of products that belong to a product collection product.
      properties:
        memberKey:
          $ref: '#/components/schemas/CatalogRuntimesProductCollectionMemberKey'
      type: object
    CatalogRuntimesProductCollectionInfo:
      properties:
        isPrimary:
          description: >-
            True if the collection is the primary collection for the containing
            product.
          type: boolean
        productCode:
          description: Product Code of the collection
          nullable: true
          type: string
      type: object
    CatalogRuntimesProductImageGroup:
      properties:
        productImageGroupId:
          minLength: 1
          type: string
        productImageGroupTags:
          items:
            $ref: '#/components/schemas/CatalogRuntimesProductImageGroupTag'
          nullable: true
          type: array
      required:
        - productImageGroupId
      type: object
    CatalogRuntimesProductProperty:
      description: An attribute used as a property of a product
      properties:
        attributeDetail:
          $ref: '#/components/schemas/AttributeDetail'
        attributeFQN:
          description: Attribute fully qualified name
          nullable: true
          type: string
        isHidden:
          description: >-
            Indicates whether the product property should be hidden from the
            customer
          nullable: true
          type: boolean
        isMultiValue:
          description: >-
            Indicates whether it's possible for there to be more than one value
            in the Values field
          nullable: true
          type: boolean
        propertyType:
          description: Property Type of the Property
          nullable: true
          type: string
        values:
          description: Value(s) of the product property
          items:
            $ref: '#/components/schemas/CatalogRuntimesProductPropertyValue'
          nullable: true
          type: array
      type: object
    ProductPurchasableState:
      description: >-
        Current state of the product purchase, that is, whether it is ready to
        be purchased. For products with configurable options,     /// the
        product is purchaseable if the shopper has selected all required
        options. If not, a message lists which required options are missing.
      properties:
        isPurchasable:
          description: >-
            If true, this product is currently available for purchase. For
            products with options, this is false until the shopper selects all
            required options.
          type: boolean
        messages:
          description: >-
            Message associated with this product if it is not ready to be
            purchased. For products with options, message contains which
            required options are missing.
          items:
            $ref: '#/components/schemas/ValidationMessage'
          nullable: true
          type: array
      type: object
    VariationSummary:
      description: >-
        Details of a product, including its product code, name, description,
        options (if any), and current state--whether the product can be
        purchased given the options selected currently.
      properties:
        inventoryInfo:
          $ref: '#/components/schemas/CatalogRuntimesProductInventoryInfo'
        options:
          description: The combination of options that resolve to this variation product
          items:
            $ref: '#/components/schemas/VariationOption'
          nullable: true
          type: array
        productCode:
          description: >-
            Merchant-created code associated with the variation product, for
            example, a SKU.
          nullable: true
          type: string
        upc:
          description: UPC code of the variant product
          nullable: true
          type: string
      type: object
    ProductVolumePrice:
      properties:
        isCurrent:
          type: boolean
        maxQty:
          format: int32
          nullable: true
          type: integer
        minQty:
          format: int32
          type: integer
        price:
          $ref: '#/components/schemas/CatalogRuntimesProductPrice'
        priceRange:
          $ref: '#/components/schemas/ProductPriceRange'
      type: object
    CatalogRuntimesCategoryAttribute:
      properties:
        dataType:
          format: int32
          type: integer
        fullyQualifiedName:
          nullable: true
          type: string
        values:
          items: {}
          nullable: true
          type: array
      type: object
    CategoryContent:
      description: >-
        Name of the category and optionally, a description, page title, friendly
        URL, associated images, and any metadata.
      properties:
        categoryImages:
          description: Images associated with the category.
          items:
            $ref: '#/components/schemas/CategoryImage'
          nullable: true
          type: array
        description:
          description: Description of the category as it appears on the storefront.
          nullable: true
          type: string
        metaTagDescription:
          description: >-
            Metadata description. Metadata can be used to manage information
            internally.
          nullable: true
          type: string
        metaTagKeywords:
          description: >-
            Metadata keywords. Metadata can be used to manage information
            internally.
          nullable: true
          type: string
        metaTagTitle:
          description: >-
            Metadata title. Metadata can be used to manage information
            internally.
          nullable: true
          type: string
        name:
          description: Name of the category as it appears on the storefront.
          nullable: true
          type: string
        pageTitle:
          description: Title that appears at the top of new pages.
          nullable: true
          type: string
        slug:
          description: >-
            Human-readable identifier given to the category to create friendly
            URLs.
          nullable: true
          type: string
      type: object
    ProductImage:
      description: Image or video associated with a product.
      properties:
        altText:
          description: >-
            Descriptive text associated with the image. Unicode data with a
            maximum length of 200 characters.
          nullable: true
          type: string
        cmsId:
          description: Id of the image in the CMS.
          nullable: true
          type: string
        imageLabel:
          description: Image title.  Unicode data with a maximum length of 50 characters.
          nullable: true
          type: string
        imageUrl:
          description: Image URL. Unicode data with a maximum length of 4000 characters.
          nullable: true
          type: string
        mediaType:
          description: >-
            Type of media. Used by the client to determine how to render the
            image or video or what have you.
          nullable: true
          type: string
        productImageGroupId:
          nullable: true
          type: string
        sequence:
          description: >-
            For products with multiple images, the sequence is the order in
            which this image appears. Whole number data. Required.
          format: int32
          nullable: true
          type: integer
        videoUrl:
          description: >-
            URL of the video. Unicode data with a maximum length of 4000
            characters.
          nullable: true
          type: string
      type: object
    CommerceRuntimeMeasurement:
      properties:
        unit:
          nullable: true
          type: string
        value:
          format: double
          nullable: true
          type: number
      type: object
    AttributeDetail:
      description: >-
        Product Attribute properties common between a Product Propery, Option,
        and Extra
      properties:
        allowFilteringAndSortingInStorefront:
          description: >-
            Indicates whether the attribute should be able to be used in
            filters, facets, and sorting on the public storefront.
          type: boolean
        availableForOrderRouting:
          description: Indicates whether the attribute is available for order routing
          type: boolean
        customWeightInStorefrontSearch:
          description: >-
            Indicates whether the attribtue value is indexed so that it can have
            a custom relevency weight compared to other attributes in a
            tokenized text search
          nullable: true
          type: boolean
        dataType:
          description: >-
            The DataType of the attribute. Valid values for DataType are defined
            in DataTypeTypeConst.
          nullable: true
          type: string
        dataTypeSequence:
          description: >-
            A unique sequence of the attribute By dataType (used for common
            naming of fields in search index)
          format: int32
          type: integer
        description:
          description: >-
            Description of the attribute in the language specified by
            LocaleCode.
          nullable: true
          type: string
        displayIntention:
          description: >-
            Am optional hint to the theme about how this attribute should be
            displayed (what control to use)
          nullable: true
          type: string
        indexValueWithCase:
          description: Indicates whether the attribtue value is indexed with case or not
          nullable: true
          type: boolean
        inputType:
          description: >-
            The InputType type of the attribute. Valid values for InputType are
            defined in InputTypeConst.
          nullable: true
          type: string
        name:
          description: Name of the attribute in the language specified by LocaleCode.
          nullable: true
          type: string
        searchDisplayValue:
          description: "If true, the system will index the display value of string attributes instead of the canonical value for searching. \r\nThe canonical value will always be used for filtering. Does not apply for for non-string attributes."
          type: boolean
        searchableInStorefront:
          description: Indicates whether the attribute value is searchable.
          type: boolean
        usageType:
          description: >-
            The UsageType of the attribute. Valid values for the usageType are
            defined in UsageTypeConst .
          nullable: true
          type: string
        validation:
          $ref: '#/components/schemas/CatalogAdminsAttributeValidation'
        valueType:
          description: >-
            The ValueType of the attribute. Valid values for ValueType are
            defined in ValueTypeTypeConst.
          nullable: true
          type: string
      type: object
    CatalogRuntimesProductOptionValue:
      description: Value of product option..."red," "white," "blue."
      properties:
        attributeValueId:
          description: Unique Id for the Value
          format: int32
          type: integer
        bundledProduct:
          $ref: '#/components/schemas/CatalogRuntimesBundledProduct'
        deltaPrice:
          description: How much this option costs above the cost of the product.
          format: double
          nullable: true
          type: number
        deltaWeight:
          description: How much this option weighs above the weight of the product.
          format: double
          nullable: true
          type: number
        displayInfo:
          $ref: >-
            #/components/schemas/CatalogRuntimesAttributeVocabularyValueDisplayInfo
        isDefault:
          description: If true, this is the default value that the merchant supplied.
          nullable: true
          type: boolean
        isEnabled:
          description: >-
            If true, this option is enabled and can be selected. During
            configuration, this returns false of this option value is invalid
            with other current selected options.
          nullable: true
          type: boolean
        isSelected:
          description: >-
            If true, this is the option that is currently selected. It can be
            either the default value or one that the shopper has selected.
          nullable: true
          type: boolean
        shopperEnteredValue:
          description: How much this option costs above the cost of the product.
          nullable: true
        stringValue:
          description: >-
            Localized Value in the language of the locale code only available
            for dataType string
          nullable: true
          type: string
        value:
          nullable: true
      type: object
    CatalogRuntimesAppliedDiscount:
      description: Discount applied to the product.
      properties:
        couponCode:
          description: If the discount is a coupon, code associated with the coupon.
          nullable: true
          type: string
        discount:
          $ref: '#/components/schemas/CatalogRuntimesDiscount'
        discounts:
          description: Discount name and expiration date.
          items:
            $ref: '#/components/schemas/CatalogRuntimesDiscount'
          nullable: true
          type: array
        impact:
          description: >-
            The new calculated price of the product. That is, the product price
            minus the discount amount.
          format: double
          type: number
      type: object
    CatalogRuntimesProductCollectionMemberKey:
      description: >-
        This is the key of the product collection member.  For now, it's just
        product code, but may expand in future
      properties:
        value:
          nullable: true
          type: string
      type: object
    CatalogRuntimesProductImageGroupTag:
      properties:
        attributeFqn:
          nullable: true
          type: string
        value:
          nullable: true
          type: string
      type: object
    CatalogRuntimesProductPropertyValue:
      description: Value of product property
      properties:
        displayInfo:
          $ref: >-
            #/components/schemas/CatalogRuntimesAttributeVocabularyValueDisplayInfo
        stringValue:
          description: Localized Value in the language of the locale code
          nullable: true
          type: string
        value:
          nullable: true
      type: object
    ValidationMessage:
      properties:
        message:
          description: Message displayed to the user when this validation failure occurred.
          nullable: true
          type: string
        severity:
          description: "Severity level of the validation failure.\r\n Must be one of the values in SeverityConst."
          nullable: true
          type: string
        source:
          description: >-
            What invoked the validation.  Must be one of the values in
            SourceTypeConst.
          nullable: true
          type: string
        sourceId:
          description: Unique identifier of the source that invoked the validation failure.
          nullable: true
          type: string
        validationType:
          description: "Type of validation error that occurred. This can be checked programatically. \r\n Must be one of the values in ValidationTypeConst."
          nullable: true
          type: string
      type: object
    VariationOption:
      properties:
        attributeFQN:
          nullable: true
          type: string
        value:
          nullable: true
        valueSequence:
          format: int32
          type: integer
      type: object
    CategoryImage:
      description: Image or video associated with a category.
      properties:
        altText:
          description: >-
            Descriptive text associated with the image. Unicode data with a
            maximum length of 200 characters.
          nullable: true
          type: string
        cmsId:
          description: Id of the image in the CMS.
          nullable: true
          type: string
        imageLabel:
          description: Image title.  Unicode data with a maximum length of 50 characters.
          nullable: true
          type: string
        imageUrl:
          description: Image URL. Unicode data with a maximum length of 4000 characters.
          nullable: true
          type: string
        mediaType:
          description: >-
            Type of media. Used by the client to determine how to render the
            image or video or what have you.
          nullable: true
          type: string
        sequence:
          description: >-
            For categories with multiple images, the sequence is the order in
            which this image appears. Whole number data. Required.
          format: int32
          nullable: true
          type: integer
        videoUrl:
          description: >-
            URL of the video. Unicode data with a maximum length of 4000
            characters.
          nullable: true
          type: string
      type: object
    CatalogAdminsAttributeValidation:
      description: Used to validate attributes.
      properties:
        maxDateValue:
          description: For validating a DateTime attribute value, maximum datetime allowed.
          format: date-time
          nullable: true
          type: string
        maxNumericValue:
          description: For validating Number attribute value, maximum number allowed.
          format: double
          nullable: true
          type: number
        maxStringLength:
          description: For validating strings, maximum length allowed for a string.
          format: int32
          nullable: true
          type: integer
        minDateValue:
          description: For validating a DateTime attribute value, minimum datetime allowed.
          format: date-time
          nullable: true
          type: string
        minNumericValue:
          description: For validating Number attribute value, minimum number allowed.
          format: double
          nullable: true
          type: number
        minStringLength:
          description: For validating strings, minimum length allowed for a string.
          format: int32
          nullable: true
          type: integer
        regularExpression:
          description: >-
            Regular expression to run against the attribute value. This should
            follow JavaScript/EMCA's Regular Expression syntax.
          nullable: true
          type: string
      type: object
    CatalogRuntimesAttributeVocabularyValueDisplayInfo:
      description: >-
        Product Attribute properties common between a Product Propery, Option,
        and Extra
      properties:
        cmsId:
          description: Id of the image in the CMS.
          nullable: true
          type: string
        colorValue:
          description: Hex Color value to display in a color picker
          nullable: true
          type: string
        imageUrl:
          description: URL of the image.
          nullable: true
          type: string
      type: object
  securitySchemes:
    bearerAuth:
      bearerFormat: JWT
      description: JWT Authorization header using the Bearer scheme.
      scheme: bearer
      type: http

````