Virto Commerce · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for VirtoCommerce.Quote Quotes API

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

What the actions change

x-apievangelist-phrasing

Targets 11

$.info
$.paths['/api/quote/requests/search'].post
$.paths['/api/quote/requests/{id}'].get
$.paths['/api/quote/requests'].put
$.paths['/api/quote/requests'].post
$.paths['/api/quote/requests'].delete
$.paths['/api/quote/requests/recalculate'].put
$.paths['/api/quote/requests/{id}/shipmentmethods'].get
$.paths['/api/quote/requests/{id}/order'].post
$.paths['/api/quote/requests/{id}/status'].put
$.paths['/api/quote/requests/attachments/options'].get

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 VirtoCommerce.Quote Quotes API
  version: 1.0.0
extends: openapi/virto-commerce-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: 10
- target: $.paths['/api/quote/requests/search'].post
  update:
    x-apievangelist-phrasing:
      intent: Search quote requests
      effect: read
      questions:
      - Which quote requests has a given B2B customer submitted?
      - Can I filter quote requests by status or date range?
      - Can I find a quote request by its number?
      instructions:
      - text: Search quote requests from customer {customerId}.
        slots:
          customerId: requestBody.customerId
      - text: Find quote requests with status {status} in store {storeId}.
        slots:
          status: requestBody.status
          storeId: requestBody.storeId
      - text: Find the quote request numbered {number}.
        slots:
          number: requestBody.number
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/quote/requests/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a quote request
      effect: read
      questions:
      - What items and prices are on one quote request?
      - Where do I read a single quote request by ID?
      instructions:
      - text: Get quote request {id}.
        slots:
          id: path.id
      - text: Show the details of quote {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/quote/requests'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a quote request
      effect: write
      questions:
      - How do I change the expiration date on an existing quote?
      - Can I lock a quote so the customer can't edit it?
      instructions:
      - text: Set the expiration of quote {number} to {expirationDate}.
        slots:
          number: requestBody.number
          expirationDate: requestBody.expirationDate
      - text: Lock existing quote {number} by setting isLocked to {isLocked}.
        slots:
          number: requestBody.number
          isLocked: requestBody.isLocked
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/quote/requests'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a quote request
      effect: write
      questions:
      - How does a B2B buyer submit a new request for quote?
      - Can a new quote request include a reminder date and notifications?
      instructions:
      - text: Create a quote request for customer {customerId} in store {storeId}.
        slots:
          customerId: requestBody.customerId
          storeId: requestBody.storeId
      - text: Open a new quote for organization {organizationId} expiring on {expirationDate}.
        slots:
          organizationId: requestBody.organizationId
          expirationDate: requestBody.expirationDate
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/quote/requests'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete quote requests
      effect: destructive
      questions:
      - How do I delete quote requests that are no longer needed?
      - Can I remove several quotes at once?
      instructions:
      - text: Delete quote requests {ids}.
        slots:
          ids: query.ids
      - text: Remove the quotes with IDs {ids}.
        slots:
          ids: query.ids
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/quote/requests/recalculate'].put
  update:
    x-apievangelist-phrasing:
      intent: Recalculate quote totals
      effect: read
      questions:
      - What would a quote's totals be after I change its prices or items?
      - Can I preview recalculated quote totals before saving?
      instructions:
      - text: Recalculate totals for quote {number}.
        slots:
          number: requestBody.number
      - text: Return this quote with its totals recalculated.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/quote/requests/{id}/shipmentmethods'].get
  update:
    x-apievangelist-phrasing:
      intent: List shipping methods for a quote
      effect: read
      questions:
      - Which shipping methods can be offered on a quote?
      - What delivery options are available for a quote request?
      instructions:
      - text: List shipping methods for quote {id}.
        slots:
          id: path.id
      - text: Show the delivery options available to quote request {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/quote/requests/{id}/order'].post
  update:
    x-apievangelist-phrasing:
      intent: Convert a quote into an order
      effect: write
      questions:
      - How do I turn an accepted quote into a customer order?
      - Can a quote request be converted to an order directly?
      instructions:
      - text: Create an order from quote {id}.
        slots:
          id: path.id
      - text: Convert accepted quote request {id} into an order.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/quote/requests/{id}/status'].put
  update:
    x-apievangelist-phrasing:
      intent: Change a quote's status
      effect: write
      questions:
      - How do I mark a quote as approved or declined?
      - Can I change only the status of a quote without resending it?
      instructions:
      - text: Set the status of quote {id} to {status}.
        slots:
          id: path.id
          status: query.status
      - text: Move quote request {id} to status {status}.
        slots:
          id: path.id
          status: query.status
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/quote/requests/attachments/options'].get
  update:
    x-apievangelist-phrasing:
      intent: Get quote attachment options
      effect: read
      questions:
      - What file types and sizes are allowed for quote attachments?
      - Are there limits on files attached to a quote request?
      instructions:
      - text: Get the attachment options for quote requests.
      - text: Show the allowed attachment settings for quotes.
      method: generated
      generated: '2026-09-26'