openapi: 3.0.0
x-mint:
  mcp:
    enabled: true
info:
  title: Offers - Priced products
  description: >-
    fabric Offers is a holistic e-commerce solution enabling Merchants to
    execute a range of pricing strategies to increase their competitiveness in
    the market and set the right promotion, to the right customer through the
    most effective channel. Offers is a cornerstone capability that can be sold
    as part of the integrated suite or stand on its own as an industry leading
    Pricing and Promotion system for B2B and B2C. The controls and automation
    provided will drastically reduce operational overhead and ensure merchants
    can quickly react to their fast-changing environment.<p>fabric e-commerce
    Offers endpoints allow you to set up and manage stock keeping unit (SKU)
    prices. Its wide range of coupon and promotion features let you design deals
    ranging from single-use, customer-specific coupons to site-wide promotions.
  version: 3.0.0
  x-audience: external-public
  termsOfService: https://fabric.inc/terms-of-use
  contact:
    name: Offers support
    email: support@fabric.inc
  license:
    name: fabric API License
    url: https://fabric.inc/api-license
externalDocs:
  description: Find out more about Offers
  url: https://developer.fabric.inc/docs/offers-overview
servers:
  - url: https://api.fabric.inc/v3
    description: Production environment
paths:
  /priced-products:
    get:
      tags:
        - Priced Products
      summary: Get priced products
      description: >-
        Get a paginated list of products and prices for the specified price list
        ID.
      operationId: getPricedProducts
      security:
        - AuthorizationToken: []
      parameters:
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xClientId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/queryParameterSize'
        - $ref: '#/components/parameters/queryParameterOffset'
        - $ref: '#/components/parameters/queryParameterPriceListId'
        - name: isListView
          in: query
          required: false
          description: >-
            Specifies the response format. <br>true: Returns the response in a
            list view format.<br>false: Returns the response in a tile view
            format.
          schema:
            type: boolean
            example: false
        - name: sku
          in: query
          required: false
          description: Search parameter to filter the response by SKU.
          schema:
            type: string
            example: COFFEE
        - name: name
          in: query
          required: false
          description: Search parameter to filter the response by product name.
          schema:
            type: string
            example: COFFEE MACHINE
      responses:
        '200':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/pricedProductListViewResponse'
                  - $ref: '#/components/schemas/pricedProductTileViewResponse'
        '400':
          description: Bad Request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/badLimitError'
                  - $ref: '#/components/schemas/badOffsetError'
                  - $ref: '#/components/schemas/missingTenantHeader'
                  - $ref: '#/components/schemas/error400'
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error401'
        '404':
          description: Not Found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/priceListNotFound'
        '500':
          description: Internal Server Error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error500'
  /priced-products/{itemId}:
    get:
      tags:
        - Priced Products
      summary: Get product and price details by product item ID
      description: Get product and price details by product item ID
      operationId: getPricedProductByItemId
      security:
        - AuthorizationToken: []
      parameters:
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xClientId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/queryParameterOffset'
        - $ref: '#/components/parameters/queryParameterSize'
        - in: path
          name: itemId
          schema:
            type: integer
            format: int32
            example: 1000079809
          required: true
          description: Specifies the item ID to retrieve the corresponding product details.
        - $ref: '#/components/parameters/queryParameterPriceListId'
      responses:
        '200':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pricedProduct'
        '400':
          description: Bad Request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/missingTenantHeader'
                  - $ref: '#/components/schemas/error400'
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error401'
        '404':
          description: Not Found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/pricedProductNotFound'
                  - $ref: '#/components/schemas/priceListNotFound'
        '500':
          description: Internal Server Error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error500'
  /priced-products/sku/{sku}:
    get:
      tags:
        - Priced Products
      summary: Get product and price details by SKU
      description: >-
        Retrieves the details of a product and its associated prices using the
        SKU, including the details for the variants of the product, if any.
      operationId: getPricedProductBySku
      x-eov-operation-handler: /v3/priced-products
      security:
        - AuthorizationToken: []
      parameters:
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xClientId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/queryParameterOffset'
        - $ref: '#/components/parameters/queryParameterSize'
        - in: path
          name: sku
          description: Product SKU to get the details for
          schema:
            type: string
            example: COFFEE
          required: true
        - $ref: '#/components/parameters/queryParameterPriceListId'
      responses:
        '200':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/pricedProductWithVariants'
                  - $ref: '#/components/schemas/pricedProductWithoutVariants'
        '400':
          description: Bad Request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/missingTenantHeader'
                  - $ref: '#/components/schemas/error400'
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error401'
        '404':
          description: Not Found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/pricedProductNotFound'
                  - $ref: '#/components/schemas/priceListNotFound'
        '500':
          description: Internal Server Error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error500'
  /priced-products-identifiers:
    get:
      tags:
        - Priced Products
      summary: Get SKUs in price list
      description: >-
        Retrieve SKUs and product item IDs that have a price entry in the given
        price list.
      operationId: getPricedProductIdentifiers
      x-eov-operation-handler: /v3/priced-products
      security:
        - AuthorizationToken: []
      parameters:
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricChannelId'
        - $ref: '#/components/parameters/xClientId'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/queryParameterPriceListId'
        - $ref: '#/components/parameters/queryParameterSize'
        - $ref: '#/components/parameters/queryParameterOffset'
        - name: sort
          in: query
          description: >-
            The criteria to sort the results. Use the format {sort order}{field
            name}, where `-` refers to a descending order and `+` refers to an
            ascending order.
          required: false
          schema:
            type: string
            default: '-itemId'
            example: '-itemId'
            enum:
              - '-itemId'
              - +itemId
              - '-itemSku'
              - +itemSku
      responses:
        '200':
          description: OK
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/pricesByPriceListResponse'
        '400':
          description: Bad Request
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          content:
            application/json:
              schema:
                anyOf:
                  - $ref: '#/components/schemas/badSizeError'
                  - $ref: '#/components/schemas/badSortingError'
                  - $ref: '#/components/schemas/missingTenantHeader'
                  - $ref: '#/components/schemas/error400'
        '401':
          description: Unauthorized
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error401'
        '404':
          description: Not Found
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/priceListNotFound'
        '500':
          description: Internal Server Error
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/error500'
components:
  securitySchemes:
    AuthorizationToken:
      type: http
      scheme: bearer
      bearerFormat: JWT
  schemas:
    missingTenantHeader:
      type: object
      description: Tenant header is missing
      properties:
        type:
          description: The error code.
          type: string
          example: TENANT_HEADER_REQUIRED
        message:
          description: An error message corresponding to the `type`.
          type: string
          example: x-fabric-tenant-id header is required
    error400:
      type: object
      description: Bad request error
      properties:
        type:
          description: The error code.
          type: string
          example: BAD_REQUEST
        message:
          description: An error message corresponding to the `type`.
          type: string
          example: Bad request
    error401:
      type: object
      description: Unauthorized error
      properties:
        type:
          description: The error code.
          type: string
          example: UNAUTHORIZED
        message:
          description: An error message corresponding to the `type`.
          type: string
          example: Invalid credentials
    error500:
      type: object
      description: Internal server error
      properties:
        type:
          description: The error code.
          type: string
          example: INTERNAL_SERVER_ERROR
        message:
          description: An error message corresponding to the `type`.
          type: string
          example: Internal server error
    priceListNotFound:
      type: object
      description: Price list not found error
      properties:
        type:
          description: The error code.
          type: string
          example: PRICE_LIST_NOT_FOUND
        message:
          description: An error message corresponding to the `type`.
          type: string
          example: No price list found with this ID
    createdAt:
      type: string
      format: date-time
      description: Record's creation time
      example: 2019-08-20T14:15:22.000Z
    updatedAt:
      type: string
      format: date-time
      description: Record's last updated time
      example: 2019-08-20T14:15:22.000Z
    isDeleted:
      type: boolean
      description: 'true: Record is deleted<br>false: Record isn''t deleted'
      example: false
    offsetQuery:
      type: object
      description: Provides pagination data.
      properties:
        size:
          type: integer
          format: int32
          example: 10
          minimum: 1
          maximum: 100
          default: 10
          description: The maximum number of records per page.
        offset:
          type: integer
          format: int32
          example: 10
          minimum: 0
          default: 0
          description: >-
            The number of records to skip before returning records. For example,
            with an offset of 20 and limit of 10, you will get records from 21
            to 30.
        count:
          type: integer
          format: int32
          example: 50
          description: The total number of available records.
    badSizeError:
      type: object
      description: Pagination size error, an invalid value was sent
      properties:
        type:
          description: The error code.
          type: string
          example: REQUEST_VALIDATION
        message:
          description: An error message corresponding to the `type`.
          type: string
          example: Size should be a valid number
    badSortingError:
      type: object
      description: Invalid sorting values sent
      properties:
        type:
          description: The error code.
          type: string
          example: REQUEST_VALIDATION
        message:
          description: >-
            An error message corresponding to the `type`. In this case. an
            invalid sorting value was sent.
          type: string
          example: Sorting value must be one of the allowed values
    badLimitError:
      type: object
      description: An error indicating that an invalid pagination limit value was provided.
      properties:
        type:
          description: The error code.
          type: string
          example: REQUEST_VALIDATION
        message:
          description: An error message corresponding to the `type`.
          type: string
          example: Limit must be an integer less than 100
    badOffsetError:
      type: object
      description: >-
        An error indicating that an invalid pagination offset value was
        provided.
      properties:
        type:
          description: The error code.
          type: string
          example: REQUEST_VALIDATION
        message:
          description: An error message corresponding to the `type`.
          type: string
          example: Offset must be an integer
    price:
      type: object
      required:
        - priceListId
        - channelId
        - currency
        - offers
      properties:
        itemId:
          type: integer
          format: int32
          example: 1000000051
          description: Product item ID whose price is created or updated
        itemSku:
          type: string
          example: SKU123456
          description: Item SKU
        priceListId:
          type: integer
          format: int32
          description: ID of the price list for which price details are created or updated
          example: 100000
        isDeleted:
          $ref: '#/components/schemas/isDeleted'
        channelId:
          description: Channel ID
          type: string
          example: '12'
        currency:
          description: Price list currency type
          type: string
          example: USD
        offers:
          type: array
          description: Item prices
          items:
            allOf:
              - $ref: '#/components/schemas/priceWithOffersMetaData'
              - type: object
        createdAt:
          $ref: '#/components/schemas/createdAt'
        updatedAt:
          $ref: '#/components/schemas/updatedAt'
    priceWithOffersMetaData:
      type: object
      description: Price details including offer price
      required:
        - startAt
        - endAt
        - price
      properties:
        startAt:
          type: string
          description: Price start time
          format: date-time
          example: 2020-02-02T17:22:48.570Z
        endAt:
          type: string
          description: Price end time
          format: date-time
          example: 2020-02-02T17:22:48.570Z
        price:
          type: object
          description: Price details
          required:
            - base
          properties:
            base:
              description: >-
                Item base price. It's the minimum fixed price of the item before
                any taxes or other charges added.
              type: number
              nullable: true
              format: double
              example: 2.99
            sale:
              description: >-
                Item sale price. It's the discounted price at which the item is
                sold to clear inventory.
              type: number
              nullable: true
              format: double
              example: 99.99
            cost:
              description: >-
                Cost of the item set by the manufacturer. It's the amount that
                costs the manufacturer to produce or acquire the product.
              type: number
              nullable: true
              format: double
              example: 149
    productAttribute:
      type: object
      required:
        - id
        - value
      description: The details of product attributes.
      properties:
        id:
          description: The attribute ID.
          type: string
          example: CAZZX1234567DDDDD
        type:
          description: The attribute type.
          type: string
          example: string
        value:
          description: Represents the attribute value.
          oneOf:
            - type: boolean
              description: Boolean type value.
              example: true
            - type: integer
              format: int32
              description: Integer type value.
              example: 188
            - type: number
              format: float
              description: Number type value.
              example: 45.99
            - type: string
              description: String type value.
              example: Blue
            - type: array
              description: Array type value.
            - type: object
              description: Object type value.
          example: Blue
    product:
      description: The product details.
      type: object
      required:
        - sku
        - id
      properties:
        id:
          description: The product ID.
          type: string
          example: AASSBCC12334FCD12334V
        attributes:
          description: Product attributes list
          type: array
          items:
            $ref: '#/components/schemas/productAttribute'
        sku:
          description: Product SKU
          type: string
          example: CAASSBCC12334FCD12334V
        status:
          example: ACTIVE
          description: The status of the product.
          type: string
        parentProductId:
          oneOf:
            - type: string
              description: The ID of the parent product.
              example: WWQQSCD123456III
              nullable: true
            - type: object
              description: Parent product ID
              example: {}
        type:
          description: The type of product.
          type: string
          example: PRODUCT
        title:
          description: The title of the product.
          type: string
          example: wall posters
        images:
          description: The images of the product.
          type: array
          items:
            $ref: '#/components/schemas/productImages'
        priceLastUpdatedAt:
          type: string
          format: date-time
          example: '2099-12-31T18:59:00+00:00'
          description: >-
            The date and time when the price was last updated, formatted
            according to the ISO 8601 standard.
          nullable: true
    productMetadata:
      description: The product details.
      type: object
      required:
        - sku
        - id
      properties:
        id:
          description: A 24-character system-generated product ID.
          type: string
          example: AASSBCC12334FCD12334V
        attributes:
          description: The details of product attributes
          type: array
          items:
            $ref: '#/components/schemas/productAttribute'
        sku:
          description: The Stock Keeping Unit (SKU) of the product.
          type: string
          example: CAASSBCC12334FCD12334V
        status:
          example: ACTIVE
          description: The status of the product.
          type: string
          enum:
            - ACTIVE
            - INACTIVE
            - DELETED
        variantsCount:
          type: integer
          format: int32
          example: 2
          description: The number of variants of the product.
        type:
          description: The type of product.
          type: string
          example: PRODUCT
          enum:
            - PRODUCT
            - VARIANT
            - BUNDLE
        title:
          description: The title of the product.
          type: string
          example: wall posters
        images:
          description: The details of the product images.
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                example: 5fd7577251a93f0007e48383
                description: >-
                  A 24-character system-generated ID of the product image from
                  fabric Product Catalog.
              order:
                type: number
                example: 0
                description: >-
                  The order of appearance of the image. If the order is set to
                  0, that image will appear first.
              label:
                type: string
                description: The label of the image.
                example: >-
                  https://abchome-xpm-images.s3.amazonaws.com/12.01.20+Giving+Tuesday/Homepage/HP_HolidaySix_GI_1.jpg?w=1067
              source:
                type: array
                items:
                  type: object
                  properties:
                    id:
                      type: string
                      example: 5fd7577251a93f0007e48383
                      description: A 24-character system-generated ID of the source.
                    url:
                      type: string
                      description: The URL of the image in the source.
                      example: >-
                        https://abchome-xpm-images.s3.amazonaws.com/12.01.20+Giving+Tuesday/Homepage/HP_HolidaySix_GI_1.jpg?w=1067
        priceLastUpdatedAt:
          type: string
          format: date-time
          example: '2099-12-31T18:59:00+00:00'
          description: >-
            The date and time when the price was last updated, formatted
            according to the ISO 8601 standard.
          nullable: true
    productVariants:
      description: The details of item variants.
      type: object
      properties:
        variants:
          type: array
          description: The list of item variants.
          items:
            properties:
              id:
                description: The item ID.
                type: string
                example: AASSBCC12334FCD12334V
              attributes:
                description: The item attributes.
                type: array
                items:
                  $ref: '#/components/schemas/productAttribute'
              sku:
                description: The Stock Keeping Unit (SKU) of the item.
                type: string
                example: CAASSBCC12334FCD12334V
              status:
                description: The status of the item.
                type: string
                example: ACTIVE
              price:
                $ref: '#/components/schemas/productPrice'
    productPrice:
      anyOf:
        - $ref: '#/components/schemas/price'
        - type: object
    pricedProductRange:
      type: object
      description: The price range information.
      properties:
        minimum:
          anyOf:
            - type: number
              format: double
              description: >-
                The minimum price at which the product can be sold in the
                smallest denomination. For example, 3500 represents $35 if the
                smallest denomination is cents.
              example: 3500
              nullable: true
            - type: string
              nullable: true
        maximum:
          anyOf:
            - type: number
              format: double
              description: >-
                The maximum price the product can be sold in the smallest
                denomination, for example, 12000 to represent $120 if the
                smallest denomination is cents.
              example: 12000
              nullable: true
            - type: string
              nullable: true
    promotionDates:
      type: object
      description: >-
        Dates of any ongoing promotions applicable to the product. Provided only
        when there is an active promotion.
      properties:
        startAt:
          description: Promotion start time.
          type: string
          format: date-time
          example: 2099-12-31T10:51:00.000Z
        endAt:
          description: Promotion end time.
          type: string
          format: date-time
          example: 2099-12-31T10:51:00.000Z
    pricedProduct:
      type: object
      description: The products list.
      properties:
        query:
          $ref: '#/components/schemas/offsetQuery'
        data:
          allOf:
            - $ref: '#/components/schemas/product'
            - type: object
              properties:
                price:
                  $ref: '#/components/schemas/productPrice'
            - type: object
              properties:
                priceRange:
                  $ref: '#/components/schemas/pricedProductRange'
            - type: object
              properties:
                promotionDates:
                  $ref: '#/components/schemas/promotionDates'
            - type: object
              description: Priced product detail
    pricedProductWithVariants:
      type: object
      description: The products list.
      properties:
        query:
          $ref: '#/components/schemas/offsetQuery'
        data:
          allOf:
            - $ref: '#/components/schemas/product'
            - $ref: '#/components/schemas/productVariants'
            - type: object
              properties:
                priceRange:
                  $ref: '#/components/schemas/pricedProductRange'
            - type: object
              properties:
                promotionDates:
                  $ref: '#/components/schemas/promotionDates'
            - type: object
              description: Priced product detail
    pricedProductWithoutVariants:
      type: object
      description: Products list
      properties:
        query:
          $ref: '#/components/schemas/offsetQuery'
        data:
          allOf:
            - $ref: '#/components/schemas/product'
            - type: object
              properties:
                price:
                  $ref: '#/components/schemas/productPrice'
            - type: object
              properties:
                priceRange:
                  $ref: '#/components/schemas/pricedProductRange'
            - type: object
              properties:
                promotionDates:
                  $ref: '#/components/schemas/promotionDates'
            - type: object
              description: Priced product detail
    pricedProductListViewResponse:
      type: object
      description: List format priced products list
      properties:
        query:
          $ref: '#/components/schemas/offsetQuery'
        data:
          type: array
          description: Products list
          items:
            $ref: '#/components/schemas/pricedProductWithVariants'
    pricedProductTileView:
      allOf:
        - $ref: '#/components/schemas/productMetadata'
        - type: object
          properties:
            price:
              $ref: '#/components/schemas/productPrice'
        - type: object
          properties:
            priceRange:
              $ref: '#/components/schemas/pricedProductRange'
        - type: object
          properties:
            promotionDates:
              $ref: '#/components/schemas/promotionDates'
        - type: object
          description: Priced product detail
    pricedProductTileViewResponse:
      type: object
      description: The list of priced products to be displayed in a tile view.
      properties:
        query:
          $ref: '#/components/schemas/offsetQuery'
        data:
          type: array
          description: Products list
          items:
            $ref: '#/components/schemas/pricedProductTileView'
    productImages:
      type: object
      description: The details of product images displayed on the Copilot UI.
      properties:
        id:
          type: string
          example: 5fd7577251a93f0007e48383
          description: A 24-character system-generated ID of the product image.
        order:
          type: number
          example: 0
          description: >-
            The order of appearance of the image of a product. A value of 0
            indicates the image will appear first.
        label:
          type: string
          description: The label of the image.
          example: >-
            https://abchome-xpm-images.s3.amazonaws.com/12.01.20+Giving+Tuesday/Homepage/HP_HolidaySix_GI_1.jpg?w=1067
        source:
          type: array
          items:
            type: object
            properties:
              id:
                type: string
                example: 5fd7577251a93f0007e48383
                description: >-
                  A 24-character system-generated ID of the source from which
                  the image is generated.
              url:
                type: string
                description: The URL of the image.
                example: >-
                  https://abchome-xpm-images.s3.amazonaws.com/12.01.20+Giving+Tuesday/Homepage/HP_HolidaySix_GI_1.jpg?w=1067
    pricesByPriceListResponse:
      type: object
      description: Products list
      properties:
        query:
          $ref: '#/components/schemas/offsetQuery'
        data:
          description: A list item identifiers for the given price list.
          type: array
          items:
            description: The identifiers of an item.
            type: object
            required:
              - itemId
            properties:
              itemId:
                description: The item ID.
                type: integer
                format: int32
                example: 1000000011
              itemSku:
                description: The Stock Keeping Unit (SKU) of an item.
                type: string
                example: SHELF001
    pricedProductNotFound:
      type: object
      description: Product not found error
      properties:
        type:
          description: The error code.
          type: string
          example: PRODUCT_NOT_FOUND
        message:
          description: An error message corresponding to the `type`.
          type: string
          example: Product not found
    priceListId:
      description: The price list ID of the item.
      type: integer
      format: int32
      example: 100275
    sku:
      description: >-
        The Stock Keeping Unit (SKU) of the item. Either `sku` or `itemId` must
        be provided. If both are provided, `sku` overrides `itemId`.
      type: string
      example: '1111111'
    itemId:
      description: >-
        The item ID. Either `sku` or `itemId` must be provided. If both are
        provided, `sku` overrides `itemId`.
      type: integer
      format: int32
      example: 1111111
    quantity:
      description: The quantity of the given item.
      type: integer
      format: int32
      example: 5
    groups:
      type: array
      description: >-
        List of Group IDs for groups the promotions belong to. When a group of
        promotions is non-stackable, it will be compared to other promotion
        groups and the highest discount providing group will be applied as
        promotion.
      example:
        - 5e2cfb9b45570b000863c4b5
      items:
        type: string
        description: The group ID.
        example: 5e2cfb9b45570b000863c4b5
  parameters:
    xFabricTenantId:
      in: header
      name: x-fabric-tenant-id
      schema:
        type: string
        minLength: 24
        maxLength: 24
      required: true
      example: 5f328bf0b5f328bf0b5f328b
      description: >-
        A header used by fabric to identify the tenant making the request. You
        must include tenant id in the authentication header for an API request
        to access any of fabric’s endpoints. You can retrieve the tenant id ,
        which is also called account id, from
        [Copilot](/v3/platform/settings/account-details/getting-the-account-id).
        This header is required.
    xFabricChannelId:
      in: header
      name: x-fabric-channel-id
      schema:
        type: string
        example: '12'
      description: >-
        x-fabric-channel-id identifies the sales channel where the API request
        is being made; primarily for multichannel use cases. The channel ids are
        12 corresponding to US and 13 corresponding to Canada. The default
        channel id is 12. This field is required.
    xFabricRequiredChannelId:
      in: header
      name: x-fabric-channel-id
      schema:
        type: string
        example: '12'
      description: >-
        x-fabric-channel-id identifies the sales channel where the API request
        is being made; primarily for multichannel use cases. The channel ids are
        12 corresponding to US and 13 corresponding to Canada. The default
        channel id is 12. This field is required.
      required: false
    xClientId:
      in: header
      name: x-client-id
      schema:
        type: string
      required: false
      example: copilot
      description: >-
        A unique identifier obtained from
        [Copilot](/v3/platform/settings/api-apps/getting-system-app-credentials)
        for the System app in the fabric ecosystem, essential for OpenID Connect
        authentication flows.
    xFabricRequestId:
      in: header
      name: x-fabric-request-id
      description: A unique request ID.
      required: false
      schema:
        type: string
        example: 263e731c-45c8-11ed-b878-0242ac120002
    xFabricDate:
      name: x-fabric-date
      in: header
      description: >-
        The Date and time, in ISO 8601 format, for which the evaluation should
        be done. The prices and promotions that are active on this date will be
        considered for evaluation.
      required: false
      schema:
        type: string
        example: 2022-09-06T14:07:17.000Z
    queryParameterSize:
      name: size
      in: query
      description: The maximum number of records per page.
      required: false
      schema:
        type: integer
        format: int32
        minimum: 1
        default: 10
        maximum: 100
    queryParameterSizeImportJobs:
      name: size
      in: query
      description: The number of records to be returned on a single page.
      schema:
        type: integer
        format: int32
        minimum: 1
        default: 10
        maximum: 10
    queryParameterStartCursor:
      name: startCursor
      in: query
      description: >-
        Specifies the record from which the search will start, effectively
        skipping all records before this point.
      required: false
      schema:
        type: string
        maxLength: 1000
        example: H796HJHGANLSADS
    queryParameterOffset:
      name: offset
      in: query
      description: >-
        The number of records to skip before returning records. For example,
        with an offset of 20 and limit of 10, you will get records from 21 to
        30.
      required: false
      schema:
        type: integer
        format: int32
        minimum: 0
        example: 0
        default: 0
    queryParameterPriceListId:
      name: priceListId
      in: query
      description: >-
        Price list ID to which the item belongs. If not sent, the default price
        list is considered.
      required: false
      schema:
        type: integer
        format: int32
        example: 100000
  headers:
    xFabricRequestIdResponse:
      description: Unique request ID
      schema:
        type: string
        example: 263e731c-45c8-11ed-b878-0242ac120002
