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.
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
# 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'