Optimizely Quotes API

The Quotes API from Optimizely — 4 operation(s) for quotes.

Operations 8

GET /api/v1/quotes #
POST /api/v1/quotes #
GET /api/v1/quotes/{quoteId} #
DELETE /api/v1/quotes/{quoteId} #
PATCH /api/v1/quotes/{quoteId} #
POST /api/v1/quotes/{quoteId}/messages #
GET /api/v1/quotes/{quoteId}/quotelines/{quoteLineId} #
PATCH /api/v1/quotes/{quoteId}/quotelines/{quoteLineId} #

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/optimizely-quotes-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no email required.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

optimizely-quotes-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  version: storefront-v1
  title: Storefront API V1 Quotes API
servers:
- url: https://dogfood.commerce.insitesandbox.com
security: []
tags:
- name: Quotes
paths:
  /api/v1/quotes:
    get:
      tags:
      - Quotes
      operationId: QuotesV1_GetCollectionAsync
      parameters:
      - name: quoteParameter.userId
        in: query
        required: false
        schema:
          type: string
          format: uuid
      - name: quoteParameter.salesRepNumber
        in: query
        required: false
        schema:
          type: string
      - name: quoteParameter.customerId
        in: query
        required: false
        schema:
          type: string
          format: uuid
      - name: quoteParameter.statuses
        in: query
        required: false
        explode: true
        schema:
          type: array
          items:
            type: string
      - name: quoteParameter.quoteNumber
        in: query
        required: false
        schema:
          type: string
      - name: quoteParameter.fromDate
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: quoteParameter.toDate
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: quoteParameter.expireFromDate
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: quoteParameter.expireToDate
        in: query
        required: false
        schema:
          type: string
          format: date-time
      - name: quoteParameter.startPage
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: quoteParameter.page
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: quoteParameter.pageSize
        in: query
        required: false
        schema:
          type: integer
          format: int32
      - name: quoteParameter.types
        in: query
        required: false
        explode: true
        schema:
          type: array
          items:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteCollectionModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteCollectionModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteCollectionModel'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteCollectionModel'
            text/html:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteCollectionModel'
      security:
      - access_token: []
    post:
      tags:
      - Quotes
      operationId: QuotesV1_PostAsync
      requestBody:
        $ref: '#/components/requestBodies/Insite.Rfq.WebApi.V1.ApiModels.QuoteParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteModel'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteModel'
            text/html:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteModel'
      security:
      - access_token: []
  /api/v1/quotes/{quoteId}:
    get:
      tags:
      - Quotes
      operationId: QuotesV1_GetAsync
      parameters:
      - name: quoteId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteModel'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteModel'
            text/html:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteModel'
      security:
      - access_token: []
    delete:
      tags:
      - Quotes
      operationId: QuotesV1_DeleteAsync
      parameters:
      - name: quoteId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteModel'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteModel'
            text/html:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteModel'
      security:
      - access_token: []
    patch:
      tags:
      - Quotes
      operationId: QuotesV1_PatchAsync
      parameters:
      - name: quoteId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        $ref: '#/components/requestBodies/Insite.Rfq.WebApi.V1.ApiModels.QuoteParameter'
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteModel'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteModel'
            text/html:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteModel'
      security:
      - access_token: []
  /api/v1/quotes/{quoteId}/messages:
    post:
      tags:
      - Quotes
      operationId: QuotesV1_PostMessageAsync
      parameters:
      - name: quoteId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.MessageModel'
          text/json:
            schema:
              $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.MessageModel'
          application/xml:
            schema:
              $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.MessageModel'
          text/xml:
            schema:
              $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.MessageModel'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.MessageModel'
          text/html:
            schema:
              $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.MessageModel'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.MessageModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.MessageModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.MessageModel'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.MessageModel'
            text/html:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.MessageModel'
      deprecated: true
      security:
      - access_token: []
  /api/v1/quotes/{quoteId}/quotelines/{quoteLineId}:
    get:
      tags:
      - Quotes
      operationId: QuoteLinesV1_GetAsync
      parameters:
      - name: quoteId
        in: path
        required: true
        schema:
          type: string
      - name: quoteLineId
        in: path
        required: true
        schema:
          type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteLineModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteLineModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteLineModel'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteLineModel'
            text/html:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteLineModel'
      security:
      - access_token: []
    patch:
      tags:
      - Quotes
      operationId: QuoteLinesV1_PatchAsync
      parameters:
      - name: quoteId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      - name: quoteLineId
        in: path
        required: true
        schema:
          type: string
          format: uuid
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteLineModel'
          text/json:
            schema:
              $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteLineModel'
          application/xml:
            schema:
              $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteLineModel'
          text/xml:
            schema:
              $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteLineModel'
          application/x-www-form-urlencoded:
            schema:
              $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteLineModel'
          text/html:
            schema:
              $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteLineModel'
        required: true
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteLineModel'
            text/json:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteLineModel'
            application/xml:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteLineModel'
            text/xml:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteLineModel'
            text/html:
              schema:
                $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteLineModel'
      security:
      - access_token: []
components:
  schemas:
    Insite.Websites.WebApi.V1.ApiModels.CountryModel:
      type: object
      properties:
        uri:
          type: string
        id:
          type: string
        name:
          type: string
        abbreviation:
          type: string
        states:
          type: array
          items:
            $ref: '#/components/schemas/Insite.Websites.WebApi.V1.ApiModels.StateModel'
        properties:
          type: object
          additionalProperties:
            type: string
    Insite.Rfq.WebApi.V1.ApiModels.CalculationMethod:
      type: object
      properties:
        value:
          type: string
        name:
          type: string
        displayName:
          type: string
        maximumDiscount:
          type: string
        minimumMargin:
          type: string
    Insite.Catalog.Services.Dtos.ConfigSectionOptionDto:
      type: object
      properties:
        sectionOptionId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        sectionName:
          type: string
        productName:
          type: string
        productId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        description:
          type: string
        price:
          format: decimal
          type: number
        userProductPrice:
          type: boolean
        selected:
          type: boolean
        sortOrder:
          format: int32
          type: integer
        quantity:
          format: decimal
          type: number
        cantBuy:
          type: boolean
    Insite.Core.WebApi.PaginationModel:
      type: object
      properties:
        currentPage:
          format: int32
          type: integer
        page:
          format: int32
          type: integer
        pageSize:
          format: int32
          type: integer
        defaultPageSize:
          format: int32
          type: integer
        totalItemCount:
          format: int32
          type: integer
        numberOfPages:
          format: int32
          type: integer
        pageSizeOptions:
          type: array
          items:
            format: int32
            type: integer
        sortOptions:
          type: array
          items:
            $ref: '#/components/schemas/Insite.Core.WebApi.SortOptionModel'
        sortType:
          type: string
        nextPageUri:
          type: string
        prevPageUri:
          type: string
        nextPageToken:
          type: string
    Insite.Customers.Services.Dtos.AgingBucketDto:
      type: object
      properties:
        amount:
          format: decimal
          type: number
        amountDisplay:
          type: string
        label:
          type: string
    Insite.Cart.Services.Dtos.WarehouseDto:
      type: object
      properties:
        id:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        address1:
          type: string
        address2:
          type: string
        city:
          type: string
        countryId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        description:
          type: string
        isDefault:
          type: boolean
        name:
          type: string
        phone:
          type: string
        postalCode:
          type: string
        shipSite:
          type: string
        state:
          type: string
    Insite.Catalog.Services.Dtos.ConfigSectionDto:
      type: object
      properties:
        sectionName:
          type: string
        label:
          type: string
        options:
          type: array
          items:
            $ref: '#/components/schemas/Insite.Catalog.Services.Dtos.ConfigSectionOptionDto'
    Insite.Cart.Services.Dtos.CarrierDto:
      type: object
      properties:
        id:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        description:
          type: string
        shipVias:
          type: array
          items:
            $ref: '#/components/schemas/Insite.Cart.Services.Dtos.ShipViaDto'
    Insite.Catalog.WebApi.V1.ApiModels.WarehouseModel:
      type: object
      properties:
        uri:
          type: string
        id:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        name:
          type: string
        address1:
          type: string
        address2:
          type: string
        city:
          type: string
        contactName:
          type: string
        countryId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        deactivateOn:
          format: date-time
          type: string
        description:
          type: string
        phone:
          type: string
        postalCode:
          type: string
        shipSite:
          type: string
        state:
          type: string
        isDefault:
          type: boolean
        alternateWarehouses:
          type: array
          items:
            $ref: '#/components/schemas/Insite.Catalog.WebApi.V1.ApiModels.WarehouseModel'
        latitude:
          format: decimal
          type: number
        longitude:
          format: decimal
          type: number
        hours:
          type: string
        distance:
          format: double
          type: number
        allowPickup:
          type: boolean
        pickupShipViaId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        properties:
          type: object
          additionalProperties:
            type: string
    Insite.Customers.Services.Dtos.AccountsReceivableDto:
      type: object
      properties:
        agingBuckets:
          type: array
          items:
            $ref: '#/components/schemas/Insite.Customers.Services.Dtos.AgingBucketDto'
        agingBucketTotal:
          $ref: '#/components/schemas/Insite.Customers.Services.Dtos.AgingBucketDto'
        agingBucketFuture:
          $ref: '#/components/schemas/Insite.Customers.Services.Dtos.AgingBucketDto'
    Insite.Catalog.Services.Dtos.BadgeDto:
      type: object
      properties:
        id:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        name:
          type: string
        tagName:
          type: string
        badgeStyle:
          type: string
        sortOrder:
          format: int32
          type: integer
        badgeType:
          type: string
        displayOnProductImages:
          type: boolean
        displayOnBadgeWidget:
          type: boolean
        displayText:
          type: string
        textColorHexCode:
          type: string
        badgeColorHexCode:
          type: string
        largeImageBadgePath:
          type: string
        largeImageTextSize:
          type: string
        largeImagePlacement:
          type: string
        otherImageBadgePath:
          type: string
        otherImageTextSize:
          type: string
        otherImagePlacement:
          type: string
        imageAltText:
          type: string
        detailWidgetBadgeSize:
          type: string
    Insite.Catalog.Services.Dtos.BrandDto:
      type: object
      properties:
        id:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        name:
          type: string
        urlSegment:
          type: string
        logoSmallImagePath:
          type: string
        logoLargeImagePath:
          type: string
        logoImageAltText:
          type: string
        detailPagePath:
          type: string
    Insite.Cart.WebApi.V1.ApiModels.CartLineModel:
      required:
      - productId
      - qtyOrdered
      type: object
      properties:
        uri:
          type: string
        productUri:
          type: string
        id:
          type: string
        line:
          format: int32
          type: integer
        productId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        requisitionId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        smallImagePath:
          type: string
        altText:
          type: string
        productName:
          type: string
        manufacturerItem:
          type: string
        customerName:
          type: string
        shortDescription:
          type: string
        erpNumber:
          type: string
        unitOfMeasure:
          type: string
        unitOfMeasureDisplay:
          type: string
        unitOfMeasureDescription:
          type: string
        baseUnitOfMeasure:
          type: string
        baseUnitOfMeasureDisplay:
          type: string
        qtyPerBaseUnitOfMeasure:
          format: decimal
          type: number
        costCode:
          type: string
        notes:
          type: string
        qtyOrdered:
          format: double
          type: number
        qtyLeft:
          format: decimal
          type: number
        pricing:
          $ref: '#/components/schemas/Insite.Core.Plugins.Pricing.ProductPriceDto'
        isPromotionItem:
          type: boolean
        isDiscounted:
          type: boolean
        isConfigured:
          type: boolean
        isFixedConfiguration:
          type: boolean
        quoteRequired:
          type: boolean
        breakPrices:
          type: array
          items:
            $ref: '#/components/schemas/Insite.Core.Plugins.Pricing.BreakPriceDto'
        sectionOptions:
          type: array
          items:
            $ref: '#/components/schemas/Insite.Cart.Services.Dtos.SectionOptionDto'
        availability:
          $ref: '#/components/schemas/Insite.Catalog.Services.Dtos.AvailabilityDto'
        qtyOnHand:
          format: decimal
          type: number
        canAddToCart:
          type: boolean
        isQtyAdjusted:
          type: boolean
        hasInsufficientInventory:
          type: boolean
        canBackOrder:
          type: boolean
        trackInventory:
          type: boolean
        salePriceLabel:
          type: string
        cantBuy:
          type: boolean
        isSubscription:
          type: boolean
        productSubscription:
          $ref: '#/components/schemas/Insite.Catalog.Services.Dtos.ProductSubscriptionDto'
        isRestricted:
          type: boolean
        canAddToWishlist:
          type: boolean
        isActive:
          type: boolean
        brand:
          $ref: '#/components/schemas/Insite.Catalog.Services.Dtos.BrandDto'
        vmiBinId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        isDiscontinued:
          type: boolean
        allowZeroPricing:
          type: boolean
        parentProductErpNumber:
          type: string
        properties:
          type: object
          additionalProperties:
            type: string
    Insite.Catalog.Services.Dtos.RelatedProductDto:
      type: object
      properties:
        relatedProductType:
          type: string
        productDto:
          $ref: '#/components/schemas/Insite.Catalog.Services.Dtos.ProductDto'
    Insite.Cart.Services.Dtos.PaymentOptionsDto:
      type: object
      properties:
        paymentMethods:
          type: array
          items:
            $ref: '#/components/schemas/Insite.Cart.Services.Dtos.PaymentMethodDto'
        cardTypes:
          type: array
          items:
            type: string
        expirationMonths:
          type: array
          items:
            type: string
        expirationYears:
          type: array
          items:
            type: string
        creditCard:
          $ref: '#/components/schemas/Insite.Core.Plugins.PaymentGateway.Dtos.CreditCardDto'
        eCheck:
          $ref: '#/components/schemas/Insite.Core.Plugins.PaymentGateway.Dtos.ECheckDto'
        canStorePaymentProfile:
          type: boolean
        storePaymentProfile:
          type: boolean
        isPayPal:
          type: boolean
        isAdyenDropIn:
          type: boolean
        payPalPayerId:
          type: string
        payPalToken:
          type: string
        payerId:
          type: string
        payPalPaymentUrl:
          type: string
        threeDs:
          $ref: '#/components/schemas/Insite.Core.Plugins.PaymentGateway.Dtos.ThreeDsDto'
        adyenPspReference:
          type: string
        isBnpl:
          type: boolean
        bnplTransactionToken:
          type: string
        bnplClientSecret:
          type: string
    Insite.Core.Plugins.Search.Dtos.ScoreExplanationDto:
      type: object
      properties:
        totalBoost:
          format: float
          type: number
        aggregateFieldScores:
          type: array
          items:
            $ref: '#/components/schemas/Insite.Core.Plugins.Search.Dtos.FieldScoreDto'
        detailedFieldScores:
          type: array
          items:
            $ref: '#/components/schemas/Insite.Core.Plugins.Search.Dtos.FieldScoreDetailedDto'
    Insite.Rfq.WebApi.V1.ApiModels.QuoteCollectionModel:
      type: object
      properties:
        uri:
          type: string
        quotes:
          type: array
          items:
            $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.QuoteModel'
        pagination:
          $ref: '#/components/schemas/Insite.Core.WebApi.PaginationModel'
        salespersonList:
          type: array
          items:
            $ref: '#/components/schemas/Insite.Rfq.WebApi.V1.ApiModels.SalespersonModel'
        properties:
          type: object
          additionalProperties:
            type: string
    Insite.Catalog.Services.Dtos.ProductSubscriptionDto:
      type: object
      properties:
        subscriptionAddToInitialOrder:
          type: boolean
        subscriptionAllMonths:
          type: boolean
        subscriptionApril:
          type: boolean
        subscriptionAugust:
          type: boolean
        subscriptionCyclePeriod:
          type: string
        subscriptionDecember:
          type: boolean
        subscriptionFebruary:
          type: boolean
        subscriptionFixedPrice:
          type: boolean
        subscriptionJanuary:
          type: boolean
        subscriptionJuly:
          type: boolean
        subscriptionJune:
          type: boolean
        subscriptionMarch:
          type: boolean
        subscriptionMay:
          type: boolean
        subscriptionNovember:
          type: boolean
        subscriptionOctober:
          type: boolean
        subscriptionPeriodsPerCycle:
          format: int32
          type: integer
        subscriptionSeptember:
          type: boolean
        subscriptionShipViaId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        subscriptionTotalCycles:
          format: int32
          type: integer
    Insite.Core.WebApi.SortOptionModel:
      type: object
      properties:
        displayName:
          type: string
        sortType:
          type: string
    Insite.Catalog.Services.Dtos.StyleTraitDto:
      type: object
      properties:
        styleTraitId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        name:
          type: string
        nameDisplay:
          type: string
        unselectedValue:
          type: string
        sortOrder:
          format: int32
          type: integer
        styleValues:
          type: array
          items:
            $ref: '#/components/schemas/Insite.Catalog.Services.Dtos.StyleValueDto'
        displayType:
          type: string
        numberOfSwatchesVisible:
          format: int32
          type: integer
        displayTextWithSwatch:
          type: boolean
    Insite.Core.Plugins.Search.Dtos.FieldScoreDetailedDto:
      type: object
      properties:
        name:
          type: string
        score:
          format: float
          type: number
        boost:
          format: float
          type: number
        matchText:
          type: string
        termFrequencyNormalized:
          format: float
          type: number
        inverseDocumentFrequency:
          format: float
          type: number
        scoreUsed:
          type: boolean
    Insite.Customers.WebApi.V1.ApiModels.ShipToModel:
      type: object
      properties:
        uri:
          type: string
        isNew:
          type: boolean
        oneTimeAddress:
          type: boolean
        label:
          type: string
        validation:
          $ref: '#/components/schemas/Insite.Customers.Services.Dtos.CustomerValidationDto'
        isDefault:
          type: boolean
        id:
          type: string
        customerNumber:
          type: string
        customerSequence:
          type: string
        customerName:
          type: string
        firstName:
          type: string
        lastName:
          type: string
        contactFullName:
          type: string
        companyName:
          type: string
        attention:
          type: string
        address1:
          type: string
        address2:
          type: string
        address3:
          type: string
        address4:
          type: string
        city:
          type: string
        postalCode:
          type: string
        state:
          $ref: '#/components/schemas/Insite.Websites.WebApi.V1.ApiModels.StateModel'
        country:
          $ref: '#/components/schemas/Insite.Websites.WebApi.V1.ApiModels.CountryModel'
        phone:
          type: string
        fullAddress:
          type: string
        email:
          type: string
        fax:
          type: string
        isVmiLocation:
          type: boolean
        properties:
          type: object
          additionalProperties:
            type: string
    Insite.Catalog.Services.Dtos.LegacyConfigurationDto:
      type: object
      properties:
        sections:
          type: array
          items:
            $ref: '#/components/schemas/Insite.Catalog.Services.Dtos.ConfigSectionDto'
        hasDefaults:
          type: boolean
        isKit:
          type: boolean
    Insite.Cart.Services.Dtos.CustomerOrderTaxDto:
      type: object
      properties:
        taxCode:
          type: string
        taxDescription:
          type: string
        taxRate:
          format: decimal
          type: number
        taxAmount:
          format: decimal
          type: number
        taxAmountDisplay:
          type: string
        sortOrder:
          format: int32
          type: integer
    Insite.Cart.Services.Dtos.ShipViaDto:
      type: object
      properties:
        id:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        description:
          type: string
        isDefault:
          type: boolean
    Insite.Catalog.Services.Dtos.DocumentDto:
      type: object
      properties:
        id:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        name:
          type: string
        description:
          type: string
        createdOn:
          format: date-time
          type: string
        filePath:
          type: string
        fileUrl:
          type: string
        documentType:
          type: string
        languageId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        fileTypeString:
          type: string
    Insite.Cart.Services.Dtos.CostCodeDto:
      type: object
      properties:
        costCode:
          type: string
        description:
          type: string
    Insite.Core.Plugins.Pricing.ProductPriceDto:
      type: object
      properties:
        productId:
          format: uuid
          type: string
          example: 00000000-0000-0000-0000-000000000000
        isOnSale:
          type: boolean
        requiresRealTimePrice:
          type: boolean
        additionalResults:
          type: object
          additionalProperties:
            type: string
        unitCost:
          format: decimal
          type: number
        unitCostDisplay:
          type: string
        unitListPrice:
          format: decimal
          type: number
        unitLis

# --- truncated at 32 KB (74 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/optimizely/refs/heads/main/openapi/optimizely-quotes-api-openapi.yml