fabric Offers - Real-time Pricing Engine API

The Real-time Pricing Engine (RTPE) evaluates list prices, sale prices, and active promotions for a set of products, SKUs, or an entire cart in a single call. Returns the calculated effective price and the promotion attribution chain used to surface live prices on storefronts.

fabric Offers - Real-time Pricing Engine API is one of 16 APIs that fabric publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

This API exposes 1 machine-runnable capability that can be deployed as REST, MCP, or Agent Skill surfaces via Naftiko.

Tagged areas include Pricing, Engine, Offers, and Cart. The published artifact set on APIs.io includes API documentation, an OpenAPI specification, and 1 Naftiko capability spec.

OpenAPI Specification

fabric-offers-pricing-openapi.yml Raw ↑
openapi: 3.0.0
x-mint:
  mcp:
    enabled: true
info:
  title: Offers - Real-time Pricing Engine
  description: >-
    fabric's Real-time Pricing Engine (RTPE) endpoints are used to calculate
    prices and evaluate discounts for individual products and carts.
  version: 3.0.0
  x-audience: external-public
  termsOfService: https://fabric.inc/terms-of-use
  contact:
    name: Offers support
    email: [email protected]
  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:
  /price-engine/actions/evaluate-products-by-id:
    post:
      tags:
        - Real-time Pricing Engine
      summary: Calculate Prices for Products by Ids
      description: >
        Use this endpoint to calculate prices for one or more products in a
        specific price list using item IDs. If you prefer to use SKUs to
        calculate product prices, use the [calculate prices for products by
        SKUs](/v3/api-reference/offers/real-time-pricing-engine/calculate-prices-for-products-by-skus)
        endpoint.
      operationId: getPricesByProductId
      security:
        - AuthorizationToken: []
      parameters:
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricDate'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/evaluateProductsByIdRequest'
        required: true
      responses:
        '200':
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/evaluateProductsByIdResponse'
              examples:
                successResponseExample:
                  $ref: '#/components/examples/evaluateProductsSuccessById'
        '207':
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          description: >-
            Partially succeeded in getting results for each item. Check status
            in the retrieved objects.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/evaluateProductsByIdResponse'
        '400':
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
        '401':
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/priceError'
              example:
                type: UNAUTHORIZED_ACCESS
                message: Unauthorized access
        '500':
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/priceError'
              example:
                type: INTERNAL_SERVER_ERROR
                message: Internal Server Error
  /price-engine/actions/evaluate-products-by-sku:
    post:
      tags:
        - Real-time Pricing Engine
      summary: Calculate Prices for Products by Skus
      description: >
        Use this endpoint to calculate prices for one or more products in a
        specific price list by product SKUs. If you prefer to use item IDs to
        calculate product prices, use the [calculate prices for products by item
        IDs](/v3/api-reference/offers/real-time-pricing-engine/calculate-prices-for-products-by-item-ids)
        endpoint.

        <Note>`itemId` is used as the default identifier for a product. If you
        want to set SKUs as product identifiers and use this endpoint, you must
        contact fabric support at [email protected].</Note>
      operationId: evaluatePricesBySku
      security:
        - AuthorizationToken: []
      parameters:
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricDate'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/evaluateProductsBySkuRequest'
        required: true
      responses:
        '200':
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/evaluateProductsBySkuResponse'
              examples:
                successResponseExample:
                  $ref: '#/components/examples/evaluateProductsSuccessBySKU'
        '207':
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          description: Partially succeeded in getting results for each item.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/evaluateProductsBySkuResponse'
        '400':
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
        '401':
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/priceError'
              example:
                type: UNAUTHORIZED_ACCESS
                message: Unauthorized access
        '500':
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/priceError'
              example:
                type: INTERNAL_SERVER_ERROR
                message: Internal server error
  /price-engine/actions/evaluate-cart:
    post:
      tags:
        - Real-time Pricing Engine
      summary: Evaluate Cart Promotions
      description: >-
        Evaluate cart's total cost instantly, after applying all applicable
        promotions and discount coupons. Using this endpoint, submit a range of
        data that will be referenced against the conditions that are set earlier
        using the promotions, coupons or prices APIs. The response includes the
        details of the promotions and discounts applied. These promotions and
        discounts can be displayed on your website to help shoppers know that
        they're getting their expected discounts.
      operationId: evaluateCart
      security:
        - AuthorizationToken: []
      parameters:
        - $ref: '#/components/parameters/xFabricTenantId'
        - $ref: '#/components/parameters/xFabricDate'
        - $ref: '#/components/parameters/xFabricRequestId'
        - $ref: '#/components/parameters/xFabricChannelId'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/evaluateCartRequest'
        required: true
      responses:
        '200':
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/evaluateCartResponse'
        '400':
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/apiError'
        '401':
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          description: Unauthorized
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/priceError'
              example:
                type: UNAUTHORIZED_ACCESS
                message: Unauthorized access
        '404':
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          description: Not found
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/priceError'
              example:
                type: NOT_FOUND
                message: Item or SKU not found
        '500':
          headers:
            x-fabric-request-id:
              $ref: '#/components/headers/xFabricRequestIdResponse'
          description: Internal server error
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/priceError'
              example:
                type: INTERNAL_SERVER_ERROR
                message: Internal server error
components:
  securitySchemes:
    AuthorizationToken:
      type: http
      scheme: bearer
      bearerFormat: JWT
  examples:
    evaluateProductsSuccessBySKU:
      value:
        errors: []
        data:
          - priceListId: 100275
            itemId: 11111111
            currency: USD
            channelId: '12'
            offer:
              price:
                sale: 1000.15
                cost: 900.15
                base: 2000.15
                unitPriceWithoutDiscounts: 2000.15
                lineTotalWithoutDiscounts: 2000.15
                lineTotalWithDiscounts: 2000.15
                type: BASE
              discounts:
                - amount: 100.15
                  quantity: 1
                  application: 1
                  promotion:
                    id: 6197ec46e836ff000952d668
                    value: 2000.15
                    groupId: 61a6354d0d70e30009415f16
                    level: 1
                    isStackable: true
                    isAlwaysApplied: true
                    name: 20% OFF
                    type: Coupon
                    discountType: AMOUNT_OFF
                    stackingType: STACKABLE
                    promotionMessages:
                      - promoId: 6197ec46e836ff000952c666
                        title: Get 50% off socks when buying shoes!
                        message: Buy any pair of shoes and get 50% off a pair of socks.
                        locales:
                          - en-US
                          - en-GB
                        pages:
                          - PDP
                          - CART
                        type: DISCOUNT
              suggestedProducts:
                - promotionId: 6197ec46e836ff000952c668
                  promotionName: Buy Shoes, get socks 50% off
                  skus:
                    - SOCK1
                    - SOCK2
                    - SOCKN
                  eligiblePriceLists:
                    - 10000
                  isFree: false
                  discountType: PERCENTAGE_OFF
                  amount: 50
                  quantity: 1
              additionalAttributes:
                - {}
              promotionMessages:
                - promoId: 6197ec46e836ff000952c667
                  threshold: 3
                  message: Add another pair of shoes to get free socks!
                  locales:
                    - en-US
                    - en-GB
                  type: PROXIMITY
                - promoId: 6197ec46e836ff000952c668
                  title: Get free socks!
                  message: Buy two pairs of shoes and get a pair of socks for free!
                  locales:
                    - en-US
                    - en-GB
                  pages:
                    - PDP
                    - CART
                  type: POTENTIAL_DISCOUNT
            audit:
              userId: 62f5e25ca090100009c6e0f0
              priceMethodType: SurfaceArea_Square_Increment
              quantity: 50
              priceParameters:
                additionalProperties:
                  - id: length
                    value: 10
                  - id: width
                    value: 20
              appliedAddons:
                - name: blind-motor
                  value: 100
    evaluateProductsSuccessById:
      value:
        errors: []
        data:
          - priceListId: 100275
            itemId: 11111111
            currency: USD
            channelId: '12'
            offer:
              price:
                sale: 1000.15
                cost: 900.15
                base: 2000.15
                unitPriceWithoutDiscounts: 2000.15
                lineTotalWithoutDiscounts: 2000.15
                lineTotalWithDiscounts: 2000.15
                type: BASE
              discounts:
                - amount: 100.15
                  quantity: 1
                  application: 1
                  promotion:
                    id: 6197ec46e836ff000952d668
                    value: 2000.15
                    groupId: 61a6354d0d70e30009415f16
                    level: 1
                    isStackable: true
                    isAlwaysApplied: true
                    name: 20% OFF
                    type: Coupon
                    discountType: AMOUNT_OFF
                    stackingType: STACKABLE
                    promotionMessages:
                      - promoId: 6197ec46e836ff000952c666
                        title: Get 50% off socks when buying shoes!
                        message: Buy any pair of shoes and get 50% off a pair of socks.
                        locales:
                          - en-US
                          - en-GB
                        pages:
                          - PDP
                          - CART
                        type: DISCOUNT
              suggestedProducts:
                - promotionId: 6197ec46e836ff000952c668
                  promotionName: Buy Shoes, get socks 50% off
                  itemIds:
                    - 10021
                    - 10022
                    - 10023
                  eligiblePriceLists:
                    - 10000
                  isFree: false
                  discountType: PERCENTAGE_OFF
                  amount: 50
                  quantity: 1
              promotionMessages:
                - promoId: 6197ec46e836ff000952c667
                  threshold: 3
                  message: Add another pair of shoes to get free socks!
                  locales:
                    - en-US
                    - en-GB
                  type: PROXIMITY
                - promoId: 6197ec46e836ff000952c668
                  title: Get free socks!
                  message: Buy two pairs of shoes and get a pair of socks for free!
                  locales:
                    - en-US
                    - en-GB
                  pages:
                    - PDP
                    - Cart
                  type: POTENTIAL_DISCOUNT
              additionalAttributes:
                - {}
            audit:
              userId: 62f5e25ca090100009c6e0f0
              priceMethodType: SurfaceArea_Square_Increment
              quantity: 50
              priceParameters:
                additionalProperties:
                  - id: length
                    value: 10
                  - id: width
                    value: 20
              appliedAddons:
                - name: blind-motor
                  value: 100
  schemas:
    priceAdditionalProperties:
      type: object
      description: The additional parameters for calculating the price.
      properties:
        additionalProperties:
          type: array
          description: The additional properties for calculating the price.
          example:
            - id: length
              value: 10
            - id: width
              value: 20
          items:
            type: object
            properties:
              id:
                description: The variable ID.
                type: string
                example: length
              value:
                description: The variable value.
                type: number
                example: 10
                format: double
    apiError:
      type: object
      description: The details of validation errors.
      properties:
        type:
          type: string
          description: The error code.
          example: BAD_REQUEST
        message:
          type: string
          description: An error message corresponding to the `type`.
          example: Request isn't valid
        errors:
          description: The error details.
          type: array
          items:
            $ref: '#/components/schemas/cartSubError'
    priceError:
      type: object
      description: The validation errors related to the price.
      properties:
        type:
          type: string
          description: The error code.
          example: Not found
        message:
          type: string
          description: An error message corresponding to the `type`.
          example: >-
            Price doesn't exist for product 179089, channels [12, 10], date Wed
            Nov 16 14:11:16 UYT 2022 and price lists [197090]
    cartSubError:
      type: object
      description: The validation sub errors related to the cart.
      properties:
        type:
          type: string
          description: The error code.
          example: Bad request
        message:
          type: string
          description: The error message corresponding to the `type`.
          example: >-
            -1.0 isn't a valid shipping price. Value must be greater than or
            equal to 0.
    arrayOfStrings:
      type: array
      description: A list of string values.
      example:
        - blue
        - red
      items:
        type: string
        description: The string value.
        example: blue
    evaluateCartResponse:
      type: object
      description: The response of the evaluation request of the cart promotion.
      properties:
        cartItems:
          type: array
          description: The list of items in the cart.
          items:
            allOf:
              - $ref: '#/components/schemas/lineItemReference'
              - type: object
                description: The discount details.
                properties:
                  discounts:
                    type: array
                    description: A list of applicable discounts.
                    items:
                      $ref: '#/components/schemas/promotionDiscount'
              - type: object
                description: The details of price attributes.
                properties:
                  priceAttributes:
                    $ref: '#/components/schemas/priceAttributes'
              - $ref: '#/components/schemas/productCollectionsReference'
        errors:
          type: array
          description: The error details.
          example:
            - Parameter doesn't exist
          items:
            type: string
            description: The list of errors.
            example: Parameter doesn't exist
        appliedDiscounts:
          type: array
          description: The details of the discounts applied to the cart.
          items:
            $ref: '#/components/schemas/appliedDiscount'
          example:
            - promotionId: 6197ec46e836ff000952c665
              promotionName: Buy shoes get socks for free
              couponCode: SUPERCOUPON20
              type: COUPON
              amount: 105.15
              discountScope: SKU
              discountType: AMOUNT_OFF
              value: 10
        suggestedProducts:
          type: array
          description: Suggested free products
          items:
            $ref: '#/components/schemas/suggestedProduct'
          example:
            - promotionId: 6197ec46e836ff000952c665
              promotionName: Buy shoes get socks for free
              itemId: 234343
              itemIds:
                - 1120201
                - 1120202
              sku: SHOE1234
              skus:
                - SHOE-1
                - SHOE-2
              eligiblePriceLists:
                - 10000
              quantity: 2
              promotionQuantity: 10
              isFree: true
              discountType: PERCENTAGE_OFF
              amount: 105.15
        notAppliedCoupons:
          type: array
          description: Rejected coupons
          items:
            $ref: '#/components/schemas/notAppliedCoupon'
          example:
            - couponCode: SUPERCOUPON
              promotionId: 624b5aa2a8fd12000965dfdc
              message: Invalid coupon
        promotionMessages:
          $ref: '#/components/schemas/rtpePromotionMessages'
    evaluateCartRequest:
      type: object
      required:
        - cartItems
      description: A sample cart evaluation request.
      properties:
        customer:
          $ref: '#/components/schemas/customer'
        couponCodes:
          $ref: '#/components/schemas/rtpeCouponCodes'
        cartItems:
          type: array
          required:
            - itemId
            - quantity
          description: The details of items in the cart.
          items:
            allOf:
              - $ref: '#/components/schemas/lineItemReference'
              - $ref: '#/components/schemas/productCollectionsReference'
        locale:
          type: string
          description: >-
            The language code, which is a combination of language in ISO 639
            format and country in ISO 3166 format. The default value is en-US.
          example: en-US
    evaluateProductsByIdRequest:
      type: object
      required:
        - priceListId
        - itemIds
      description: A sample request to evaluate the prices of products by item IDs.
      properties:
        priceListId:
          description: >-
            The price list ID associated with the item generated using the
            [create price
            list](/v3/api-reference/offers/price-lists/create-price-list)
            endpoint.
          type: integer
          format: int32
          example: 100275
        itemIds:
          type: array
          description: A list of 50 or fewer item IDs to retrieve prices.
          example:
            - 111111
            - 222222
          minItems: 1
          maxItems: 50
          items:
            type: integer
            description: The product ID.
            example: 11111
            format: int32
        customer:
          $ref: '#/components/schemas/customer'
        priceParameters:
          type: array
          description: The parameters for price calculation.
          items:
            $ref: '#/components/schemas/priceParameterById'
        isAudit:
          type: boolean
          description: >-
            A flag indicating whether the audit details should be included in
            the response. Set to `true` to include the audit details along with
            the price calculation details and set to `false` to exclude the
            audit details in the response.
          example: true
        locale:
          type: string
          description: >-
            The language code, which is a combination of language in ISO 639
            format and country in ISO 3166 format. The default value is en-US.
          example: en-US
    evaluateProductsBySkuRequest:
      type: object
      required:
        - priceListId
        - skus
      description: Evaluate prices for products based on their individual SKUs.
      properties:
        priceListId:
          description: Price list ID of the item.
          type: integer
          format: int32
          example: 100275
        skus:
          type: array
          description: >-
            List of product SKUs for which prices are to be retrieved. You can
            specify up to 50 SKUs.
          example:
            - '1000019501'
            - '1000019502'
          minItems: 1
          maxItems: 50
          items:
            description: Product SKU
            example: SKU10023
            type: string
        customer:
          $ref: '#/components/schemas/customer'
        priceParameters:
          type: array
          description: The parameters used to calculate the price.
          items:
            $ref: '#/components/schemas/priceParameterBySku'
        isAudit:
          type: boolean
          description: >
            Specifies whether an audit's required. The options are:

            - `true`: Response includes an audit object mentioning how the price
            is calculated.

            - `false`: Response doesn't include an audit object.
          example: true
        locale:
          type: string
          description: >-
            The language code, which is a combination of language in ISO 639
            format and country in ISO 3166 format. The default value is en-US.
          example: en-US
    priceParameterById:
      allOf:
        - $ref: '#/components/schemas/priceParameter'
        - type: object
          properties:
            quantity:
              type: integer
              description: >-
                Number of products ordered, required for the range-based pricing
                method. For more information about range-based pricing method,
                see the [discount
                type](/v3/offers/user-guides/offers/coupons/overview#defining-discounts-and-how-they’re-applied)
                section.
              format: int32
              example: 500
            itemId:
              type: integer
              description: Item ID obtained from Product Catalog.
              format: int32
              example: 12345
    priceParameter:
      allOf:
        - $ref: '#/components/schemas/priceAdditionalProperties'
        - type: object
          properties:
            selectedAddOns:
              type: array
              description: List of add-ons selected for the product.
              example:
                - blind_motor
              items:
                type: string
                example: blind_motor
                description: Add-on name
    priceParameterBySku:
      allOf:
        - $ref: '#/components/schemas/priceParameter'
        - type: object
          properties:
            sku:
              type: string
              description: Product SKU
              example: '1000019501'
            quantity:
              type: integer
              description: >-
                Number of products ordered. This value is required for the
                range-based pricing method.
              format: int32
              example: 500
    calculatedPrice:
      type: object
      description: Calculated price details
      properties:
        priceListId:
          description: >-
            The price list ID of the item generated using the [create price
            list](/v3/api-reference/offers/price-lists/create-price-list)
            endpoint.
          type: integer
          format: int32
          example: 100275
        itemId:
          type: integer
          description: Item ID
          format: int32
          example: 11111111
        currency:
          type: string
          description: The currency for the discount amount.
          example: USD
        channelId:
          type: string
          description: >-
            The sales channel used to calculate the price. The channels are 12
            corresponding to US and 13 corresponding to Canada.
          example: '12'
        offer:
          $ref: '#/components/schemas/calculatedPriceOffersByProductId'
        audit:
          $ref: '#/components/schemas/calculatedPriceAudit'
    calculatedPriceBySku:
      type: object
      description: Calculated price details
      properties:
        priceListId:
          description: The price list ID of the item.
          type: integer
          format: int32
          example: 100275
        sku:
          type: string
          description: Product SKU
          example: SKU1234
        offer:
          $ref: '#/components/schemas/calculatedPriceOffersBySKU'
        audit:
          $ref: '#/components/schemas/calculatedPriceAudit'
    pdpSuggestedSKU:
      type: array
      description: A list of suggested products.
      items:
        description: The suggested product.
        type: object
        properties:
          promotionId:
            type: string
            description: >-
              A 24-character system-generated promotion ID generated using the
              [create
              promotion](/v3/api-reference/offers/promotions/create-promotion)
              endpoint.
            example: 6197ec46e836ff000952c668
          promotionName:
            type: string
            description: The name of the promotion.
            example: Buy Shoes, get socks for free
          skus:
            type: array
            description: A list of Stock Keeping Units (SKUs).
            items:
              description: SKU
              example: SKU1
              type: string
            example:
              - SOCK1
              - SOCK2
              - SOCKN
          eligiblePriceLists:
            type: array
            description: The eligible price lists.
            items:
              description: >-
                The price list ID associated with the item generated using the
                [create price
                list](/v3/api-reference/offers/price-lists/create-price-list)
                endpoint.
              example: 10000
              type: integer
              format: int32
            example:
              - 10000
          isFree:
            type: boolean
            description: >-
              A flag indicating whether the promotion offers complimentary
              items. Set to `true` if the promotion includes one or more
              complimentary items and `false` if it doesn't.
            example: false
          discountType:
            type: string
            description: >-
              The type of discount, such as PERCENTAGE_OFF, AMOUNT_OFF, or
              FIXED_PRICE.
            enum:
              - PERCENTAGE_OFF
              - AMOUNT_OFF
              - FIXED_PRICE
            example: PERCENTAGE_OFF
          amount:
            type: number
            description: The discount amount.
            format: double
            example: 50
          quantity:
            type: number
            description: The number of complimentary items in the cart.
            format: double
            example: 50
    evaluateProductsByIdResponse:
      type: object
      description: Sample response including successful retrievals and potential errors.
      properties:
        errors:
          description: An array containing error codes and corresponding messages.
          type: array
          items:
            $ref: '#/components/schemas/priceError'
        data:
          type: array
          items:
            $ref: '#/components/schemas/calculatedPrice'
    evaluateProductsBySkuResponse:
      description: Sample response including successful retrievals and potential errors.
      type: object
      properties:
        errors:
          description: An array containing error codes and corresponding messages.
          type: array
          items:
            $ref: '#/components/schemas/priceError'
        data:
          type: array
          items:
            $ref: '#/components/schemas/calculatedPriceBySku'
      items:
        type: object
        description: Calculated price details
        properties:
          id:
            description: Price ID
            exa

# --- truncated at 32 KB (67 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/fabric-com/refs/heads/main/openapi/fabric-offers-pricing-openapi.yml