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.
View Overlay File View on GitHub Overlay Specification

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

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