Optimizely · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Storefront API V1 Quotes API

9 actions 9 updates phrasing extends openapi/optimizely-quotes-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for Optimizely's API. It is a proposal applied on top of the contract, not a document Optimizely publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 9

$.info
$.paths['/api/v1/quotes'].get
$.paths['/api/v1/quotes'].post
$.paths['/api/v1/quotes/{quoteId}'].get
$.paths['/api/v1/quotes/{quoteId}'].delete
$.paths['/api/v1/quotes/{quoteId}'].patch
$.paths['/api/v1/quotes/{quoteId}/messages'].post
$.paths['/api/v1/quotes/{quoteId}/quotelines/{quoteLineId}'].get
$.paths['/api/v1/quotes/{quoteId}/quotelines/{quoteLineId}'].patch

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Storefront API V1 Quotes API
  version: 1.0.0
extends: openapi/optimizely-quotes-api-openapi.yml
actions:
- target: $.info
  update:
    x-apievangelist-phrasing:
      method: generated
      generated: '2026-09-26'
      generator: build-phrasing.py
      label: Generated by API Evangelist
      operations: 8
- target: $.paths['/api/v1/quotes'].get
  update:
    x-apievangelist-phrasing:
      intent: Search quotes by customer, status or date
      effect: read
      questions:
      - Which quotes are still open for a particular customer?
      - Can I find quotes that expire within a date range?
      - How do I look up quotes handled by one sales rep?
      instructions:
      - text: List quotes for customer {customerId} with status {statuses}.
        slots:
          customerId: query.quoteParameter.customerId
          statuses: query.quoteParameter.statuses
      - text: Find quotes expiring between {expireFromDate} and {expireToDate}.
        slots:
          expireFromDate: query.quoteParameter.expireFromDate
          expireToDate: query.quoteParameter.expireToDate
      - text: Look up quote number {quoteNumber}.
        slots:
          quoteNumber: query.quoteParameter.quoteNumber
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/quotes'].post
  update:
    x-apievangelist-phrasing:
      intent: Request a quote from the cart
      effect: write
      questions:
      - How does a B2B buyer submit a request for quote?
      - Can I create a job quote with a job name instead of a regular quote?
      instructions:
      - text: Submit a quote request with the note {note}.
        slots:
          note: requestBody.note
      - text: Create a job quote named {jobName}.
        slots:
          jobName: requestBody.jobName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/quotes/{quoteId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a quote
      effect: read
      questions:
      - What is the current status and expiration date of a specific quote?
      - Can I see the full details of one quote by its id?
      instructions:
      - text: Get quote {quoteId}.
        slots:
          quoteId: path.quoteId
      - text: Show me the status and expiry of quote {quoteId}.
        slots:
          quoteId: path.quoteId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/quotes/{quoteId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a quote
      effect: destructive
      questions:
      - Can I delete a quote the customer no longer wants?
      - Is removing a quote permanent?
      instructions:
      - text: Delete quote {quoteId}.
        slots:
          quoteId: path.quoteId
      - text: Remove the abandoned quote {quoteId}.
        slots:
          quoteId: path.quoteId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/quotes/{quoteId}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update, price or accept a quote
      effect: write
      questions:
      - How does a sales rep apply a percentage discount to a quote?
      - Can I change a quote's status or extend its expiration date?
      instructions:
      - text: Set the status of quote {quoteId} to {status}.
        slots:
          quoteId: path.quoteId
          status: requestBody.status
      - text: Apply {calculationMethod} pricing of {percent} percent to quote {quoteId}.
        slots:
          calculationMethod: requestBody.calculationMethod
          percent: requestBody.percent
          quoteId: path.quoteId
      - text: Extend quote {quoteId} to expire on {expirationDate}.
        slots:
          quoteId: path.quoteId
          expirationDate: requestBody.expirationDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/quotes/{quoteId}/messages'].post
  update:
    x-apievangelist-phrasing:
      intent: Send a message on a quote
      effect: write
      questions:
      - Can the buyer and sales rep message each other about a quote?
      - How do I add a note to the conversation thread on a quote?
      instructions:
      - text: Post the message {message} on quote {quoteId}.
        slots:
          message: requestBody.message
          quoteId: path.quoteId
      - text: Reply to the customer on quote {quoteId} saying {message}.
        slots:
          quoteId: path.quoteId
          message: requestBody.message
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/quotes/{quoteId}/quotelines/{quoteLineId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a line item on a quote
      effect: read
      questions:
      - What quantity and pricing are on a specific line of a quote?
      - Can I see the price breaks for one quoted product?
      instructions:
      - text: Get line {quoteLineId} of quote {quoteId}.
        slots:
          quoteLineId: path.quoteLineId
          quoteId: path.quoteId
      - text: Show the pricing on quote {quoteId} line {quoteLineId}.
        slots:
          quoteId: path.quoteId
          quoteLineId: path.quoteLineId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/quotes/{quoteId}/quotelines/{quoteLineId}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Update quantity or pricing on a quote line
      effect: write
      questions:
      - Can I change the quantity of a product on a quote line?
      - How do I add price breaks or notes to a single quoted line?
      instructions:
      - text: Set line {quoteLineId} of quote {quoteId} for product {productId} to quantity {qtyOrdered}.
        slots:
          quoteLineId: path.quoteLineId
          quoteId: path.quoteId
          productId: requestBody.productId
          qtyOrdered: requestBody.qtyOrdered
      - text: Add the note {notes} to quote {quoteId} line {quoteLineId} for product {productId}, quantity {qtyOrdered}.
        slots:
          notes: requestBody.notes
          quoteId: path.quoteId
          quoteLineId: path.quoteLineId
          productId: requestBody.productId
          qtyOrdered: requestBody.qtyOrdered
      method: generated
      generated: '2026-09-26'