Virto Commerce · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for VirtoCommerce. Inventory API

17 actions 17 updates phrasing extends openapi/virto-commerce-inventory-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 17 · first 16 shown; the file carries all of them

$.info
$.paths['/api/inventory/search'].post
$.paths['/api/inventory/product/search'].post
$.paths['/api/inventory/fulfillmentcenters/search'].post
$.paths['/api/inventory/fulfillmentcenters/{id}'].get
$.paths['/api/inventory/fulfillmentcenters/{id}'].patch
$.paths['/api/inventory/fulfillmentcenters/outer/{outerId}'].get
$.paths['/api/inventory/fulfillmentcenters/plenty'].post
$.paths['/api/inventory/fulfillmentcenters'].put
$.paths['/api/inventory/fulfillmentcenters'].delete
$.paths['/api/inventory/fulfillmentcenters/batch'].post
$.paths['/api/inventory/products/{productId}'].get
$.paths['/api/inventory/products/{productId}'].put
$.paths['/api/inventory/products'].get
$.paths['/api/inventory/products/plenty'].post
$.paths['/api/inventory/plenty'].put

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. Inventory API
  version: 1.0.0
extends: openapi/virto-commerce-inventory-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: 16
- target: $.paths['/api/inventory/search'].post
  update:
    x-apievangelist-phrasing:
      intent: Search inventory records
      effect: read
      questions:
      - How much stock do I have for some products in a given warehouse?
      - Can I search inventory records across several fulfillment centers?
      - Which inventory rows exist for a set of product IDs?
      instructions:
      - text: Search inventory records in fulfillment centers {fulfillmentCenterIds}.
        slots:
          fulfillmentCenterIds: requestBody.fulfillmentCenterIds
      - text: Find inventory rows for products {productIds} across all warehouses.
        slots:
          productIds: requestBody.productIds
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/inventory/product/search'].post
  update:
    x-apievangelist-phrasing:
      intent: Search a product's inventory by warehouse
      effect: read
      questions:
      - Which warehouses actually hold stock of a given product?
      - Can I limit a product inventory search to locations that have stock?
      instructions:
      - text: Show product {productId} inventory only where it is stocked.
        slots:
          productId: requestBody.productId
      - text: Search product-level inventory for {productId} across fulfillment centers.
        slots:
          productId: requestBody.productId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/inventory/fulfillmentcenters/search'].post
  update:
    x-apievangelist-phrasing:
      intent: Search fulfillment centers
      effect: read
      questions:
      - Which fulfillment centers are registered in Virto Commerce?
      - Can I find warehouses belonging to one organization?
      - How do I search fulfillment centers by name?
      instructions:
      - text: Search fulfillment centers matching {keyword}.
        slots:
          keyword: requestBody.keyword
      - text: List the fulfillment centers owned by organization {organizationId}.
        slots:
          organizationId: requestBody.organizationId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/inventory/fulfillmentcenters/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a fulfillment center by ID
      effect: read
      questions:
      - What address and geolocation does a specific fulfillment center have?
      - Can I fetch one warehouse's details by its internal ID?
      instructions:
      - text: Get fulfillment center {id}.
        slots:
          id: path.id
      - text: Show the address of warehouse {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/inventory/fulfillmentcenters/{id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Partially update a fulfillment center
      effect: write
      questions:
      - Can I change just one field of a fulfillment center without resending everything?
      - How do I patch a warehouse's description?
      instructions:
      - text: Patch fulfillment center {id} with only the changed fields.
        slots:
          id: path.id
      - text: Apply a partial update to warehouse {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/inventory/fulfillmentcenters/outer/{outerId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a fulfillment center by external ID
      effect: read
      questions:
      - How do I find a warehouse using the ID from my ERP system?
      - Can I look up a fulfillment center by its outer ID?
      instructions:
      - text: Get the fulfillment center with outer ID {outerId}.
        slots:
          outerId: path.outerId
      - text: Look up the warehouse my ERP calls {outerId}.
        slots:
          outerId: path.outerId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/inventory/fulfillmentcenters/plenty'].post
  update:
    x-apievangelist-phrasing:
      intent: Get several fulfillment centers by IDs
      effect: read
      questions:
      - Can I fetch a batch of fulfillment centers in one request by their IDs?
      - How do I retrieve many warehouses at once from a list of IDs?
      instructions:
      - text: Fetch these fulfillment centers by ID in one batch.
      - text: Retrieve the warehouses for the list of IDs I give you.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/inventory/fulfillmentcenters'].put
  update:
    x-apievangelist-phrasing:
      intent: Create or save a fulfillment center
      effect: write
      questions:
      - How do I add a new warehouse to Virto Commerce?
      - What details can I set when saving a single fulfillment center?
      instructions:
      - text: Create a fulfillment center named {name} with outer ID {outerId}.
        slots:
          name: requestBody.name
          outerId: requestBody.outerId
      - text: Save fulfillment center {id} with description {description}.
        slots:
          id: requestBody.id
          description: requestBody.description
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/inventory/fulfillmentcenters'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete fulfillment centers
      effect: destructive
      questions:
      - How do I remove a warehouse I closed?
      - Can I delete several fulfillment centers at once?
      instructions:
      - text: Delete fulfillment centers {ids}.
        slots:
          ids: query.ids
      - text: Remove the warehouse with ID {ids} from the system.
        slots:
          ids: query.ids
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/inventory/fulfillmentcenters/batch'].post
  update:
    x-apievangelist-phrasing:
      intent: Save fulfillment centers in bulk
      effect: write
      questions:
      - Can I create or update many fulfillment centers in a single batch?
      - How do I bulk-import warehouses?
      instructions:
      - text: Bulk save this list of fulfillment centers.
      - text: Import all these warehouses in one batch request.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/inventory/products/{productId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get one product's stock per warehouse
      effect: read
      questions:
      - How much of a single product is in stock at each fulfillment center?
      - Where is one specific product stocked right now?
      instructions:
      - text: Show stock levels of product {productId} in every fulfillment center.
        slots:
          productId: path.productId
      - text: Get the per-warehouse inventory for product {productId}.
        slots:
          productId: path.productId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/inventory/products/{productId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a product's inventory
      effect: write
      questions:
      - How do I set the in-stock quantity of a product at a warehouse?
      - Can I allow backorders for a product at one fulfillment center?
      - Can I set a preorder availability date on a product's inventory?
      instructions:
      - text: Set product {productId} stock to {inStockQuantity} at fulfillment center {fulfillmentCenterId}.
        slots:
          productId: path.productId
          inStockQuantity: requestBody.inStockQuantity
          fulfillmentCenterId: requestBody.fulfillmentCenterId
      - text: Enable backorders for product {productId} at warehouse {fulfillmentCenterId}.
        slots:
          productId: path.productId
          fulfillmentCenterId: requestBody.fulfillmentCenterId
      - text: Set reorder minimum for product {productId} to {reorderMinQuantity}.
        slots:
          productId: path.productId
          reorderMinQuantity: requestBody.reorderMinQuantity
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/inventory/products'].get
  update:
    x-apievangelist-phrasing:
      intent: Get stock for several products
      effect: read
      questions:
      - What is the stock of a list of products at each warehouse?
      - Can I narrow multi-product inventory to specific fulfillment centers?
      instructions:
      - text: Get inventory for products {ids} in each fulfillment center.
        slots:
          ids: query.ids
      - text: Show stock of products {ids} only at warehouses {fulfillmentCenterIds}.
        slots:
          ids: query.ids
          fulfillmentCenterIds: query.fulfillmentCenterIds
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/inventory/products/plenty'].post
  update:
    x-apievangelist-phrasing:
      intent: Get stock for a large list of products
      effect: read
      questions:
      - How do I fetch inventory for too many product IDs to fit in a URL?
      - Can I post a long product list and get stock per fulfillment center back?
      instructions:
      - text: Post this long product ID list and return stock at warehouses {fulfillmentCenterIds}.
        slots:
          fulfillmentCenterIds: query.fulfillmentCenterIds
      - text: Get inventories for a large batch of products sent in the request body.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/inventory/plenty'].put
  update:
    x-apievangelist-phrasing:
      intent: Add or update many inventory records
      effect: write
      questions:
      - Can I sync stock levels for many products in one upsert call?
      - How do I bulk add or update inventory rows from my warehouse system?
      instructions:
      - text: Upsert these inventory records in bulk.
      - text: Sync the stock levels from my WMS export, adding missing rows.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/inventory/{id}'].patch
  update:
    x-apievangelist-phrasing:
      intent: Partially update an inventory record
      effect: write
      questions:
      - Can I patch a single inventory record without resending all its fields?
      - How do I change one field on an inventory row by its record ID?
      instructions:
      - text: Patch inventory record {id} with only the changed fields.
        slots:
          id: path.id
      - text: Apply a partial update to inventory row {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'