Virto Commerce · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for VirtoCommerce. Store API
14 actions
14 updates
phrasing
extends
openapi/virto-commerce-store-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 14
$.info
$.paths['/api/store-authentication-schemes/{storeId}'].get
$.paths['/api/store-authentication-schemes/{storeId}'].put
$.paths['/api/stores/search'].post
$.paths['/api/stores/{id}'].get
$.paths['/api/stores/{id}'].patch
$.paths['/api/stores/outer/{outerId}'].get
$.paths['/api/stores'].put
$.paths['/api/stores'].post
$.paths['/api/stores'].delete
$.paths['/api/stores/send/dynamicnotification'].post
$.paths['/api/stores/{storeId}/accounts/{id}/loginonbehalf'].get
$.paths['/api/stores/allowed/{userId}'].get
$.paths['/api/stores/{id}/public-settings'].get
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. Store API
version: 1.0.0
extends: openapi/virto-commerce-store-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: 13
- target: $.paths['/api/store-authentication-schemes/{storeId}'].get
update:
x-apievangelist-phrasing:
intent: Get a store's authentication schemes
effect: read
questions:
- Which sign-in schemes are enabled for a particular store?
- Can I check what external login methods a storefront allows?
instructions:
- text: Show the authentication schemes for store {storeId}.
slots:
storeId: path.storeId
- text: List which login methods store {storeId} accepts.
slots:
storeId: path.storeId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/store-authentication-schemes/{storeId}'].put
update:
x-apievangelist-phrasing:
intent: Update a store's authentication schemes
effect: write
questions:
- How do I turn a login scheme on or off for one store?
- Can each store have its own set of authentication schemes?
instructions:
- text: Update the authentication schemes for store {storeId}.
slots:
storeId: path.storeId
- text: Change which sign-in methods store {storeId} allows.
slots:
storeId: path.storeId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/stores/search'].post
update:
x-apievangelist-phrasing:
intent: Search stores
effect: read
questions:
- Which stores do I have in Virto Commerce and what state are they in?
- Can I find the store that serves a particular domain?
instructions:
- text: Find the store for domain {domain}.
slots:
domain: requestBody.domain
- text: Search stores matching {keyword}.
slots:
keyword: requestBody.keyword
- text: List stores that ship from fulfillment centers {centers}.
slots:
centers: requestBody.fulfillmentCenterIds
method: generated
generated: '2026-09-26'
- target: $.paths['/api/stores/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a store by id
effect: read
questions:
- What currencies, languages and catalog is a given store set up with?
- How do I load the full settings of one store?
instructions:
- text: Get store {id}.
slots:
id: path.id
- text: Show store {id} with response group {group}.
slots:
id: path.id
group: query.responseGroup
method: generated
generated: '2026-09-26'
- target: $.paths['/api/stores/{id}'].patch
update:
x-apievangelist-phrasing:
intent: Partially update a store
effect: write
questions:
- Can I change just one field on a store without sending the whole record?
- Is there a JSON Patch way to edit a store?
instructions:
- text: Patch store {id} with only the fields I changed.
slots:
id: path.id
- text: Apply a partial update to store {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/api/stores/outer/{outerId}'].get
update:
x-apievangelist-phrasing:
intent: Get a store by its external id
effect: read
questions:
- How can I find a store using the integration key from my ERP?
- Can I look up a store by outer id instead of its Virto id?
instructions:
- text: Get the store with outer id {outerId}.
slots:
outerId: path.outerId
- text: Look up store by integration key {outerId}.
slots:
outerId: path.outerId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/stores'].put
update:
x-apievangelist-phrasing:
intent: Update a store
effect: write
questions:
- How do I change a store's default currency or time zone?
- Can I replace an existing store's full settings in one call?
instructions:
- text: Update store {id} to use default currency {currency}.
slots:
id: requestBody.id
currency: requestBody.defaultCurrency
- text: Rename existing store {id} to {name}.
slots:
id: requestBody.id
name: requestBody.name
method: generated
generated: '2026-09-26'
- target: $.paths['/api/stores'].post
update:
x-apievangelist-phrasing:
intent: Create a store
effect: write
questions:
- How do I set up a new storefront with its own catalog and currency?
- What does a new store need, like languages, email and fulfillment center?
instructions:
- text: Create a new store called {name} using catalog {catalog}.
slots:
name: requestBody.name
catalog: requestBody.catalog
- text: Set up store {name} with default language {language} and currency {currency}.
slots:
name: requestBody.name
language: requestBody.defaultLanguage
currency: requestBody.defaultCurrency
method: generated
generated: '2026-09-26'
- target: $.paths['/api/stores'].delete
update:
x-apievangelist-phrasing:
intent: Delete stores
effect: destructive
questions:
- Can I remove several stores at once?
- What do I pass to delete a store permanently?
instructions:
- text: Delete stores {ids}.
slots:
ids: query.ids
- text: Remove the store {ids} from the platform.
slots:
ids: query.ids
method: generated
generated: '2026-09-26'
- target: $.paths['/api/stores/send/dynamicnotification'].post
update:
x-apievangelist-phrasing:
intent: Send a custom notification to the store email
effect: write
questions:
- How can I email the store administrator a notification with custom fields?
- Can I send a dynamic notification in a specific language to a store's email?
instructions:
- text: Send a {type} notification to the email of store {storeId}.
slots:
type: requestBody.type
storeId: requestBody.storeId
- text: Email store {storeId} a dynamic notification with fields {fields} in {language}.
slots:
storeId: requestBody.storeId
fields: requestBody.fields
language: requestBody.language
method: generated
generated: '2026-09-26'
- target: $.paths['/api/stores/{storeId}/accounts/{id}/loginonbehalf'].get
update:
x-apievangelist-phrasing:
intent: Check a contact's login-on-behalf permission
effect: read
questions:
- Is a given account allowed to log in on behalf of customers in a store?
- Can I check whether a support agent may impersonate shoppers?
instructions:
- text: Check whether account {id} can log in on behalf of others in store {storeId}.
slots:
id: path.id
storeId: path.storeId
- text: Tell me if contact {id} has login-on-behalf rights for store {storeId}.
slots:
id: path.id
storeId: path.storeId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/stores/allowed/{userId}'].get
update:
x-apievangelist-phrasing:
intent: List stores a user may sign in to
effect: read
questions:
- Which stores is a particular user allowed to sign in to?
- What storefronts can this user account access?
instructions:
- text: List the stores user {userId} can sign in to.
slots:
userId: path.userId
- text: Show allowed stores for user {userId}.
slots:
userId: path.userId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/stores/{id}/public-settings'].get
update:
x-apievangelist-phrasing:
intent: Get a store's public settings
effect: read
questions:
- Which store settings are safe to expose to the storefront?
- How do I read only the public settings of a store?
instructions:
- text: Get the public settings of store {id}.
slots:
id: path.id
- text: Show the storefront-visible settings for store {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'