Virto Commerce VirtoCommerce Platform API
B2B Innovation Platform
Operations 124
Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay
GET
/externalsignin
Start sign-in through an external identity provider · External sign in sign in
#
Ask an LLM
“How do I send a user to sign in with an external login provider?”
“Can external sign-in return the user to a specific URL for a given store?”
Tell an agent
Start external sign-in with {AuthenticationType} and return to {ReturnUrl}.
Begin an external login for store {StoreId} using provider {AuthenticationType}.
Ask an LLM
“Can I log a user out of their external identity provider session too?”
“Where does a user land after external sign-out?”
Tell an agent
Sign out of external provider {authenticationType} and redirect to {returnUrl}.
End the user's external login session.
GET
/externalsignin/callback
Complete an external sign-in callback · External sign in sign in callback
#
Ask an LLM
“Which endpoint does the external identity provider call back after login?”
“What finishes an external login once the provider redirects back?”
Tell an agent
Complete the external sign-in callback and continue to {returnUrl}.
Finish processing the external login redirect.
GET
/externalsignin/providers
List external login providers · External sign in get external login providers
#
Ask an LLM
“Which external login providers are configured on the platform?”
“Can users sign in with an outside identity provider here, and which ones?”
Tell an agent
List the external sign-in providers available.
Show which third-party login options are enabled.
GET
/api/apps/{appId}/manifest
Get an app's plugin manifest · Returns the host app's plugin manifest.
#
Ask an LLM
“What plugins does a host app's manifest declare?”
“Is the app plugin manifest cacheable with an ETag?”
Tell an agent
Get the plugin manifest for app {appId}.
Fetch the manifest descriptor of host app {appId}.
POST
/api/apps/manifest/invalidate
Invalidate the app manifest cache · Force-invalidate the manifest cache for every `appId`.
#
Ask an LLM
“How do I make app manifests pick up newly installed plugins?”
“Can I force every app's manifest to be rebuilt from disk?”
Tell an agent
Invalidate the manifest cache for all apps.
Force app manifests to rebuild on the next request.
GET
/api/platform/apps
List available apps · Gets the list of available apps, filtered by user permissions
#
Ask an LLM
“Which apps can the signed-in user open on the platform?”
“What apps are available given my permissions?”
Tell an agent
List the apps I have permission to use.
Show the available platform apps.
Ask an LLM
“How do I invalidate the access token I'm currently using?”
“Can I revoke my own token so it stops working?”
Tell an agent destructive · confirm first
Revoke my current access token.
Invalidate the token for this session now.
Ask an LLM
“How do I obtain an access token with a password grant?”
“Which grant types does the token endpoint accept?”
Tell an agent
Get an access token with grant type {grant_type} for user {username}.
Exchange credentials for a token using grant {grant_type} and scope {scope}.
Ask an LLM
“Where do I redirect a browser to start the OAuth authorization code flow?”
“Does the authorize endpoint accept a GET redirect with query parameters?”
Tell an agent
Redirect the browser to the GET authorize endpoint.
Start the authorization code flow with a GET authorize request.
Ask an LLM
“Can the authorize request be posted as a form instead of a redirect?”
“What does a form-post to the authorize endpoint do?”
Tell an agent
Post the authorization request to the authorize endpoint as a form.
Submit the OAuth authorize form with POST.
Ask an LLM
“Which OpenID Connect claims come back for my access token?”
“Is there a GET userinfo endpoint for the token holder?”
Tell an agent
Fetch OpenID userinfo claims with a GET request.
Read the token holder's userinfo from the connect endpoint via GET.
Ask an LLM
“Can I request OpenID userinfo claims with a POST instead of GET?”
“Does the connect userinfo endpoint support POST requests?”
Tell an agent
Post to the connect userinfo endpoint to get my claims.
Retrieve OpenID userinfo using the POST variant.
Ask an LLM
“How do I log out through the OpenID Connect logout endpoint?”
“Is there an OAuth end-session endpoint on the platform?”
Tell an agent
Log out via the connect logout endpoint.
End my OpenID Connect session.
Ask an LLM
“Can I bump the last-modified date for a scope so clients refresh their caches?”
“Is there a way to signal a change manually for cache invalidation?”
Tell an agent
Force the last-modified date forward for scope {Scope}.
Mark scope {Scope} as changed so external caches refresh.
Ask an LLM
“How do I clear the whole platform cache?”
“Can I flush cached data after editing records directly in the database?”
Tell an agent
Reset the platform cache.
Flush all cached platform data now.
GET
/api/changes/lastmodifieddate
Get the last-modified date for a scope · Get last modified date for given scope Used for signal of what something…
#
Ask an LLM
“When did something in a given scope last change?”
“How can an external client tell whether its cache is stale?”
Tell an agent
Get the last modified date for scope {scope}.
Check when the platform data last changed.
POST
/api/changes/changed-entities
Check which entity types changed since a date · Change log get changed entities
#
Ask an LLM
“Which entity types have changed since my last sync?”
“Can I ask whether specific entities were modified after a timestamp?”
Tell an agent
Tell me which of {entityNames} changed since {modifiedSince}.
List entity types modified after {modifiedSince}.
POST
/api/changes/changed-entities/reset
Reset changed-entity tracking · Change log reset changed entities
#
Ask an LLM
“Can I reset the tracked list of changed entities?”
“What clears the changed-entities markers?”
Tell an agent
Reset the changed-entities tracking.
Clear the record of which entities have changed.
Ask an LLM
“Who changed a record, and when, according to the audit log?”
“Can I filter the change log by operation type and date range?”
Tell an agent
Search the change log for {objectType} changes between {startDate} and {endDate}.
Show change history entries for object IDs {objectIds}.
POST
/api/platform/changelog/v2/search
Search the change log (v2 endpoint) · Change log search changes V2
#
Ask an LLM
“Is there a newer v2 version of the change log search?”
“Can the v2 change log search filter by several object types at once?”
Tell an agent
Use the v2 change log search for object types {objectTypes}.
Run a v2 audit search of {operationTypes} operations since {startDate}.
GET
/api/platform/changelog/{type}/changes
Get change history for an object type · Change log search type change history
#
Ask an LLM
“What changes were made to all objects of one type over a period?”
“Can I pull the change history for a type between two dates?”
Tell an agent
Show the change history for type {type} from {start} to {end}.
Get all recorded changes for object type {type}.
Ask an LLM
“Which developer tools does the platform expose?”
“Are there built-in developer utilities I can open from the admin?”
Tell an agent
List the platform's developer tools.
Show available developer utilities.
GET
/api/platform/diagnostics/systeminfo
Get platform system information · Diagnostics get system info
#
Ask an LLM
“What version and runtime environment is my platform running?”
“Can I get system diagnostics for a support ticket?”
Tell an agent
Show the platform system info.
Get diagnostics about the server environment.
GET
/api/platform/diagnostics/errors
List modules that failed to load · Get installed modules with errors
#
Ask an LLM
“Which installed modules have errors?”
“Why is a module not working after install, and where do I see its errors?”
Tell an agent
List installed modules that report errors.
Show me the module loading errors.
GET
/api/platform/dynamic/types
List object types that support dynamic properties · Get object types which support dynamic properties
#
Ask an LLM
“Which entities can I add custom dynamic properties to?”
“What object types support dynamic properties?”
Tell an agent
List object types that accept dynamic properties.
Show which entities can have custom fields.
GET
/api/platform/dynamic/properties
Get all dynamic properties · Dynamic properties get all dynamic properties
#
Ask an LLM
“What custom dynamic properties are defined across the platform?”
“Can I fetch a dynamic property definition by its ID?”
Tell an agent
Get all dynamic property definitions.
Get dynamic property {id}.
Ask an LLM
“How do I add a new custom field to an object type?”
“What value types can a new dynamic property have?”
Tell an agent
Create a dynamic property {name} of type {valueType} on {objectType}.
Add a new multilingual custom field called {name}.
Ask an LLM
“Can I make an existing custom property required or multilingual?”
“How do I rename a dynamic property that already exists?”
Tell an agent
Update dynamic property {id} to be named {name}.
Change the display order of dynamic property {id} to {displayOrder}.
Ask an LLM
“Can I remove custom property definitions I no longer use?”
“What happens when I delete a dynamic property?”
Tell an agent destructive · confirm first
Delete dynamic properties {propertyIds}.
Remove the custom field definition {propertyIds}.
POST
/api/platform/dynamic/properties/search
Search dynamic properties for a type · Get dynamic properties registered for object type
#
Ask an LLM
“Which dynamic properties are registered for a given object type?”
“Can I search custom properties by keyword?”
Tell an agent
Search dynamic properties registered for type {typeName}.
Find custom properties matching {keyword}.
POST
/api/platform/dynamic
Expose the dynamic object property schema · Does nothing. Just a way to expose DynamicObjectProperty thru Swagger
#
Ask an LLM
“What is the placeholder endpoint that exposes DynamicObjectProperty in the docs?”
“Does the dynamic property schema-exposure endpoint actually do anything?”
Tell an agent
Call the no-op endpoint that exposes the DynamicObjectProperty schema.
Hit the dynamic object property schema placeholder.
GET
/api/platform/dynamic/dictionaryitems
Get dictionary values of a dynamic property · Dynamic properties get all dictionary items
#
Ask an LLM
“What allowed values does a dictionary-type dynamic property have?”
“Can I list all dictionary items for one property?”
Tell an agent
List the dictionary items for dynamic property {propertyId}.
Get every dictionary item defined for dynamic properties.
POST
/api/platform/dynamic/dictionaryitems
Add or update dynamic property dictionary items · Add or update dictionary items
#
Ask an LLM
“How do I add new allowed values to a dictionary property?”
“Can I edit an existing dictionary item by passing its ID?”
Tell an agent
Add these values to the dynamic property's dictionary.
Save the dictionary items, updating those that include an ID.
DELETE
/api/platform/dynamic/dictionaryitems
Delete dynamic property dictionary items · Delete dictionary items
#
Ask an LLM
“Can I remove values from a dynamic property's dictionary?”
“Which call deletes dynamic property dictionary entries by ID?”
Tell an agent destructive · confirm first
Delete dynamic property dictionary items {ids}.
Remove dictionary value {ids} from the custom property.
POST
/api/platform/dynamic/dictionaryitems/search
Search dynamic property dictionary items · Get dictionary items
#
Ask an LLM
“Can I search a property's dictionary values by keyword with paging?”
“Which dictionary items match a search term for one dynamic property?”
Tell an agent
Search dictionary items of property {propertyId} for {keyword}.
Page through dictionary values for dynamic property {propertyId}.
Ask an LLM
“Has my background job finished yet?”
“How can I tell whether a long-running platform job failed?”
Tell an agent
Check the status of background job {id}.
Tell me whether job {id} is done.
GET
/api/platform/localizable-settings
List localizable settings and languages · Localizable settings get settings and languages
#
Ask an LLM
“Which settings can be translated, and into which languages?”
“What languages are available for localizable settings?”
Tell an agent
List localizable settings with their languages.
Show which settings support translations.
GET
/api/platform/localizable-settings/{name}/dictionary-items/{language}/values
Get translated values of a setting · Localizable settings get dictionary values
#
Ask an LLM
“What are a setting's dictionary values in a given language?”
“Can I see the localized options for one setting?”
Tell an agent
Get the {language} values for localizable setting {name}.
Show setting {name} dictionary translations in {language}.
POST
/api/platform/localizable-settings/{name}/dictionary-items
Save translated items for a setting · Localizable settings save dictionary items
#
Ask an LLM
“How do I add translations to a localizable setting's dictionary?”
“Can I update the localized options of a setting?”
Tell an agent
Save localized dictionary items for setting {name}.
Update the translations of setting {name}.
DELETE
/api/platform/localizable-settings/{name}/dictionary-items
Delete translated items from a setting · Localizable settings delete dictionary items
#
Ask an LLM
“Can I remove options from a localizable setting's dictionary?”
“Which call deletes localized values of a setting?”
Tell an agent destructive · confirm first
Delete values {values} from localizable setting {name}.
Remove dictionary items from setting {name}.
Ask an LLM
“How do I refresh the list of available modules from the registry?”
“Can I reload modules without restarting the app?”
Tell an agent
Reload the modules catalog.
Refresh the list of available modules.
Ask an LLM
“Which modules are installed on my Virto Commerce platform?”
“What module versions am I running?”
Tell an agent
List installed modules.
Show each installed module and its version.
POST
/api/platform/modules/getdependents
Find modules that depend on a module · Get all dependent modules for a module
#
Ask an LLM
“Which modules depend on the one I want to remove?”
“What would break if I uninstalled a certain module?”
Tell an agent
Find all modules that depend on these modules.
Show dependents of the modules I pass in.
POST
/api/platform/modules/getmissingdependencies
Expand modules with their dependency list · Returns a flat expanded list of modules that depend on passed modules
#
Ask an LLM
“Which dependencies are missing for the modules I'm about to install?”
“Can I get a flat expanded dependency list before installing?”
Tell an agent
Check missing dependencies for these modules.
Expand these modules into a flat list including dependencies.
POST
/api/platform/modules/localstorage
Upload a module package · Upload module package for installation or update
#
Ask an LLM
“How do I upload a module zip to install or update it?”
“Can I install a custom module package from a file?”
Tell an agent
Upload this module package archive.
Upload a module zip for installation.
Ask an LLM
“How do I install several modules together?”
“Can I install modules from full module descriptors?”
Tell an agent
Install these module descriptors.
Install the selected modules using the original install endpoint.
POST
/api/platform/modules/install/v2
Install modules with lightweight requests · Install modules using lightweight requests
#
Ask an LLM
“Is there a v2 install call that takes just module IDs and versions?”
“Can I install modules without sending full descriptors?”
Tell an agent
Install modules using the v2 lightweight install requests.
Send slim install requests for these modules.
Ask an LLM
“How do I upgrade installed modules to newer versions?”
“Can I update several modules using full descriptors?”
Tell an agent
Update these modules using full descriptors.
Upgrade the selected installed modules.
POST
/api/platform/modules/update/v2
Update modules with lightweight requests · Update modules using lightweight requests
#
Ask an LLM
“Is there a v2 update call that accepts only module IDs and versions?”
“Can I upgrade modules without sending entire module descriptors?”
Tell an agent
Update modules with v2 lightweight requests.
Send slim update requests for these modules.
Ask an LLM
“How do I uninstall a group of modules?”
“Can I remove modules by sending their descriptors?”
Tell an agent destructive · confirm first
Uninstall these modules using full descriptors.
Remove the selected modules from the platform.
POST
/api/platform/modules/uninstall/v2
Uninstall modules with lightweight requests · Uninstall modules using lightweight requests
#
Ask an LLM
“Is there a v2 uninstall call that only needs module IDs?”
“Can I uninstall several modules with slim requests?”
Tell an agent destructive · confirm first
Uninstall modules with v2 lightweight requests.
Send slim uninstall requests for these modules.
Ask an LLM
“Do I need to restart the app after installing modules, and how?”
“Can I restart the platform web application remotely?”
Tell an agent
Restart the web application.
Restart the platform so module changes take effect.
POST
/api/platform/modules/autoinstall
Auto-install module groups · Auto-install modules with specified groups
#
Ask an LLM
“Can the platform automatically install the modules in configured groups?”
“What triggers module auto-install?”
Tell an agent
Auto-install modules for the configured groups.
Run module auto-install now.
Ask an LLM
“In what order are modules loaded at startup?”
“Which module loads first?”
Tell an agent
Show the module loading order.
List modules in the order they load.
GET
/api/platform/modules/{moduleId}/versions/{version}/validate
Check that a module version package exists · Validate that a specific module version package exists at the download URL
#
Ask an LLM
“Is a specific module version actually downloadable before I install it?”
“Can I verify a module version's package URL?”
Tell an agent
Validate that version {version} of module {moduleId} exists.
Check the download package for {moduleId} {version}.
POST
/api/platform/modules/{moduleId}/versions/{version}/install
Install a specific module version · Install a specific version of a module.
#
Ask an LLM
“How do I install an exact version of a module instead of the latest?”
“Can I pin a module to a particular version on install?”
Tell an agent
Install version {version} of module {moduleId}.
Schedule installation of {moduleId} at exactly version {version}.
POST
/api/platform/modules/{moduleId}/install
Install the latest version of a module · Install the latest available version of a module
#
Ask an LLM
“Can I install the newest available version of one module by ID?”
“What's the quickest way to install a single module?”
Tell an agent
Install the latest version of module {moduleId}.
Add module {moduleId} at its newest version.
Ask an LLM
“Can I uninstall a single module just by its ID?”
“What removes one module from the platform?”
Tell an agent destructive · confirm first
Uninstall module {moduleId}.
Remove module {moduleId} from this platform.
Ask an LLM
“Can the platform generate a blank OAuth application with a client ID and secret?”
“What does a new OAuth app template look like?”
Tell an agent
Generate a new OAuth app template.
Give me fresh client credentials for a new OAuth application.
Ask an LLM
“How do I register an OAuth client app with redirect URIs?”
“Can I change the permissions granted to an OAuth application?”
Tell an agent
Save OAuth app {displayName} with client ID {clientId}.
Set redirect URIs {redirectUris} on OAuth client {clientId}.
Ask an LLM
“How do I remove an OAuth client so it can no longer get tokens?”
“Can I delete several OAuth apps by client ID?”
Tell an agent destructive · confirm first
Delete OAuth apps with client IDs {clientIds}.
Remove OAuth client {clientIds}.
Ask an LLM
“Which OAuth client applications are registered?”
“Can I search OAuth apps by name?”
Tell an agent
List registered OAuth applications.
Search OAuth apps for {keyword}.
Ask an LLM
“What notifications have I received in the admin recently?”
“Can I show only unread push notifications?”
Tell an agent
Show my new push notifications only.
Search push notifications from {startDate} to {endDate}.
POST
/api/platform/pushnotifications/markAllAsRead
Mark all notifications as read · Mark all notifications as read
#
Ask an LLM
“Can I clear the unread badge on all my notifications?”
“Is there a way to mark every push notification read at once?”
Tell an agent
Mark all my notifications as read.
Clear every unread push notification.
POST
/api/platform/security/users/{userId}/sessions/search
List a user's active sessions · Security search user sessions
#
Ask an LLM
“Where is a user currently signed in?”
“Can I see all active sessions for one account?”
Tell an agent
List active sessions for user {userId}.
Show where user {userId} is logged in.
DELETE
/api/platform/security/users/{userId}/sessions/{id}
End one of a user's sessions · Security terminate user session
#
Ask an LLM
“Can I sign a user out of one specific session?”
“How do I kill a single suspicious login session?”
Tell an agent destructive · confirm first
Terminate session {id} for user {userId}.
End the single session {id} belonging to {userId}.
DELETE
/api/platform/security/users/{userId}/sessions
End all of a user's sessions · Security terminate all user sessions
#
Ask an LLM
“How do I sign a user out everywhere at once?”
“Can I terminate every session of a compromised account?”
Tell an agent destructive · confirm first
Terminate all sessions for user {userId}.
Sign {userId} out of every device.
POST
/api/platform/security/login
Sign in with username and password · Sign in with user name and password
#
Ask an LLM
“Can I sign in to the platform with a username and password and get user details back?”
“What happens if the login credentials are wrong?”
Tell an agent
Sign in as {userName} with password {password}.
Log in user {userName} and remember me.
Ask an LLM
“How do I sign out of the admin platform session?”
“Is there a platform security logout call?”
Tell an agent
Sign me out of the platform.
Log out the current platform user.
Ask an LLM
“Who am I logged in as, and what roles do I have?”
“Can I fetch the signed-in user's full profile?”
Tell an agent
Show my current user details.
Get the profile of the signed-in user.
Ask an LLM
“Is there a platform security userinfo endpoint separate from the OpenID one?”
“What does the security userinfo call return about me?”
Tell an agent
Get my info from the platform security userinfo endpoint.
Call security userinfo for the current caller.
GET
/api/platform/security/permissions
List all registered permissions · Get all registered permissions
#
Ask an LLM
“Which permissions can I assign to roles?”
“What permissions do installed modules register?”
Tell an agent
List every registered permission.
Show all permissions available for roles.
Ask an LLM
“Which roles exist on the platform?”
“Can I find roles by keyword?”
Tell an agent
Search roles for {keyword}.
List all security roles.
Ask an LLM
“What permissions does a particular role grant?”
“Can I view a single role's definition?”
Tell an agent
Get role {roleName} with its permissions.
Show what the {roleName} role can do.
Ask an LLM
“Can I delete roles I no longer use?”
“What removes several roles by ID?”
Tell an agent destructive · confirm first
Delete roles {ids}.
Remove security role {ids}.
PUT
/api/platform/security/roles
Create or update a security role · Update an existing role or create new
#
Ask an LLM
“How do I add permissions to an existing role?”
“Can I create a new role with a set of permissions?”
Tell an agent
Create or update role {name} with permissions {permissions}.
Change the description of role {id} to {description}.
Ask an LLM
“Which users are currently locked out?”
“Can I find users by role or store?”
Tell an agent
Search users for {keyword}.
List locked users in store {storeId}.
Ask an LLM
“Can I fetch a batch of user accounts from a list of IDs?”
“What's the call to load multiple users at once by ID?”
Tell an agent
Get the users with IDs {ids}.
Load user accounts {ids} in one request.
Ask an LLM
“How do I change a user's email or phone number?”
“Can I assign roles to an existing user?”
Tell an agent
Update user {id} email to {email}.
Assign roles {roles} to existing user {id}.
Ask an LLM
“How do I delete user accounts?”
“Can I remove several users by their usernames?”
Tell an agent destructive · confirm first
Delete users {names}.
Remove the account with username {names}.
GET
/api/platform/security/users/{userName}
Get a user by username · Get user details by user name
#
Ask an LLM
“Can I look up a user by their login name?”
“What account details exist for a given username?”
Tell an agent
Get user {userName}.
Look up the account with username {userName}.
Ask an LLM
“Can I fetch a single user's details from their user ID?”
“Which user does a given ID belong to?”
Tell an agent
Get user details for ID {id}.
Look up the account whose user ID is {id}.
GET
/api/platform/security/users/email/{email}
Get a user by email · Get user details by user email
#
Ask an LLM
“Which account is registered with a given email address?”
“Can I find a user from their email?”
Tell an agent
Find the user with email {email}.
Get account details for {email}.
GET
/api/platform/security/users/login/external/{loginProvider}/{providerKey}
Get a user by external login · Get user details by external login provider
#
Ask an LLM
“Which user is linked to a given external login provider key?”
“Can I resolve a social login back to a platform user?”
Tell an agent
Find the user linked to {loginProvider} key {providerKey}.
Look up the account for external login {providerKey} on {loginProvider}.
Ask an LLM
“How do I create a new user for my Virto Commerce admin or store?”
“Can I set roles and a password when creating a user?”
Tell an agent
Create user {userName} with email {email}.
Add a new user {userName} to store {storeId} with roles {roles}.
POST
/api/platform/security/currentuser/changepassword
Change my own password · Change password for current user
#
Ask an LLM
“How do I change the password of the account I'm signed in with?”
“Do I need my old password to change my own password?”
Tell an agent
Change my password from {oldPassword} to {newPassword}.
Update the signed-in user's password to {newPassword}.
POST
/api/platform/security/users/{userName}/changepassword
Change a named user's password · Change password
#
Ask an LLM
“Can an admin change another user's password given the old one?”
“What changes the password for a specific username?”
Tell an agent
Change the password of user {userName} to {newPassword}.
Replace {userName}'s old password {oldPassword} with a new one.
POST
/api/platform/security/users/{userName}/resetpassword
Reset a user's password as admin · Reset password confirmation
#
Ask an LLM
“Can I set a new password for a user without knowing the old one?”
“Can I force a user to change their password at next sign-in?”
Tell an agent
Reset the password for {userName} to {newPassword}.
Reset {userName}'s password and force a change on next sign-in.
POST
/api/platform/security/users/{userId}/resetpasswordconfirm
Reset a password with a reset token · Reset password confirmation
#
Ask an LLM
“How does a user complete a password reset using the emailed token?”
“What confirms a password reset with a token?”
Tell an agent
Reset user {userId}'s password to {newPassword} using token {token}.
Confirm the password reset for {userId} with token {token}.
POST
/api/platform/security/users/{userId}/validatepasswordresettoken
Check a password reset token is valid · Validate password reset token
#
Ask an LLM
“Is a password reset link still valid before I show the reset form?”
“Can I verify a reset token without changing the password?”
Tell an agent
Validate password reset token {token} for user {userId}.
Check whether {userId}'s reset token is still good.
POST
/api/platform/security/users/{loginOrEmail}/requestpasswordreset
Email password reset instructions · Send email with instructions on how to reset user password
#
Ask an LLM
“How do I send a forgot-password email to a user?”
“Can I trigger a reset email using either a login name or email?”
Tell an agent
Send password reset instructions to {loginOrEmail}.
Email a forgot-password link to user {loginOrEmail}.
POST
/api/platform/security/validatepassword
Check a password against the policy · Security validate password
#
Ask an LLM
“Does a candidate password meet the platform's password rules?”
“Can I test password strength before creating an account?”
Tell an agent
Validate this password against the password policy.
Check whether a proposed password is strong enough.
POST
/api/platform/security/validateuserpassword
Check a user's new password against policy · Security validate user password
#
Ask an LLM
“Will a user's proposed new password be accepted for their account?”
“Can I validate a password change for a specific user before submitting it?”
Tell an agent
Validate new password {newPassword} for user {userName}.
Check if {userName} can switch to the proposed password.
GET
/api/platform/security/users/{id}/locked
Check if a user is locked out · Checks if user locked
#
Ask an LLM
“Is a particular user account locked?”
“Why can't a user sign in — are they locked out?”
Tell an agent
Check whether user {id} is locked.
Tell me if account {id} is locked out.
GET
/api/platform/security/passwordchangeenabled
Check if manual password change is allowed · Checks if manual password change is enabled
#
Ask an LLM
“Are users allowed to change their passwords manually?”
“Is manual password change turned on?”
Tell an agent
Check whether manual password change is enabled.
Tell me if users can change their own passwords.
Ask an LLM
“How do I block a user from signing in?”
“Can I lock an account temporarily?”
Tell an agent destructive · confirm first
Lock user {id}.
Block account {id} from signing in.
Ask an LLM
“How do I let a locked-out user sign in again?”
“Can I unlock an account after too many failed logins?”
Tell an agent
Unlock user {id}.
Restore sign-in access for locked account {id}.
Ask an LLM
“What API keys does a user have?”
“Which of a user's API keys are active?”
Tell an agent
List API keys for user {id}.
Show the API keys issued to account {id}.
POST
/api/platform/security/users/apikeys
Create an API key for a user · Security save user api key
#
Ask an LLM
“How do I issue a new API key to a user?”
“Can a service account get an API key for integrations?”
Tell an agent
Create a new API key for user {userName}.
Save API key {apiKey} for user ID {userId}.
Ask an LLM
“Can I deactivate an existing API key without deleting it?”
“What updates an API key that's already saved?”
Tell an agent
Update API key record {id} for user {userId}.
Deactivate existing API key {id}.
Ask an LLM
“How do I revoke a user's API key permanently?”
“Can I delete several API keys at once?”
Tell an agent destructive · confirm first
Delete API keys {ids}.
Permanently revoke API key {ids}.
Ask an LLM
“Which sign-in methods are allowed on the platform?”
“Is password login enabled alongside other login types?”
Tell an agent
List the allowed login types.
Show which sign-in methods are permitted.
POST
/api/platform/security/users/{userId}/sendVerificationEmail
Send an email verification message · Verify user email
#
Ask an LLM
“How do I resend the verify-your-email message to a user?”
“Can I trigger an email confirmation for an existing account?”
Tell an agent
Send a verification email to user {userId}.
Resend the email confirmation message for {userId}.
POST
/api/platform/security/users/{userId}/confirmEmail
Confirm a user's email with a token · Security confirm email
#
Ask an LLM
“What marks a user's email as confirmed once they click the link?”
“Can I confirm an email address using the token from the verification message?”
Tell an agent
Confirm the email of user {userId} with token {token}.
Mark {userId}'s email address verified using its confirmation token.
GET
/api/platform/security/users/{userId}/generateChangeEmailToken
Generate a change-email token · Security generate change email token
#
Ask an LLM
“Can I generate a token that lets a user switch to a new email address?”
“What produces an email change token for an account?”
Tell an agent
Generate a change-email token for {userId} to move to {newEmail}.
Create an email-change token for user {userId}.
GET
/api/platform/security/users/{userId}/generateEmailConfirmationToken
Generate an email confirmation token · Security generate email confirmation token
#
Ask an LLM
“Can I get an email confirmation token to build my own verification link?”
“What returns a token for confirming a user's email?”
Tell an agent
Generate an email confirmation token for user {userId}.
Give me a verification token for {userId}'s email.
GET
/api/platform/security/users/{userId}/generatePasswordResetToken
Generate a password reset token · Security generate password reset token
#
Ask an LLM
“Can I get a password reset token to send through my own email flow?”
“What generates a reset token without emailing the user?”
Tell an agent
Generate a password reset token for user {userId}.
Get a reset token for {userId} without sending an email.
GET
/api/platform/security/users/{userId}/generateToken
Generate a user token for a purpose · Security generate user token
#
Ask an LLM
“Can I generate a one-time user token from a specific token provider?”
“Which call issues a purpose-bound token for a user?”
Tell an agent
Generate a {purpose} token for user {userId} using provider {tokenProvider}.
Issue a purpose-specific token for {userId}.
POST
/api/platform/security/users/{userId}/verifyToken
Verify a user token · Security verify user token
#
Ask an LLM
“Is a purpose-bound token a user gave me valid?”
“Can I verify a token issued by a given token provider?”
Tell an agent
Verify token {token} for user {userId} and purpose {purpose}.
Check {userId}'s token against provider {tokenProvider}.
Ask an LLM
“What are all the current platform settings?”
“Can I dump every setting with its value?”
Tell an agent
Get all platform settings.
List every global setting with its current value.
Ask an LLM
“How do I change platform setting values with the classic settings API?”
“Can I update several settings in one request?”
Tell an agent
Update these setting values.
Save the changed settings through the original settings endpoint.
GET
/api/platform/settings/modules/{id}
Get settings registered by a module · Get settings registered by specific module
#
Ask an LLM
“What settings does a particular module register?”
“Can I see only one module's configuration?”
Tell an agent
Get settings registered by module {id}.
Show the configuration for module {id}.
Ask an LLM
“What is the value of one named setting?”
“Can I read a single setting's details?”
Tell an agent
Get setting {name}.
Show the details and value of setting {name}.
GET
/api/platform/settings/ui/customization
Get the UI customization setting · Get UI customization setting
#
Ask an LLM
“How is the admin UI branded or customized?”
“Where is the UI customization setting stored?”
Tell an agent
Get the UI customization setting.
Show the admin interface customization.
GET
/api/platform/settings/v2/global/schema
Get the global settings schema · Get global settings schema (metadata only, no values)
#
Ask an LLM
“Which global settings exist, with types and defaults, without values?”
“Can I search the global settings schema by keyword?”
Tell an agent
Get the global settings schema for module {moduleId}.
Search global setting definitions for {keyword}.
GET
/api/platform/settings/v2/global/values
Get global setting values · Get global settings values as a flat { name: value } dictionary.
#
Ask an LLM
“What global setting values are in effect, as name-value pairs?”
“Can I see only the global settings that differ from defaults?”
Tell an agent
Get global setting values for module {moduleId}.
Show only modified global settings values.
POST
/api/platform/settings/v2/global/values
Save global setting values · Settings V2 save global values
#
Ask an LLM
“How do I save global setting values with the v2 settings API?”
“Can I replace all global values instead of merging them?”
Tell an agent
Save these global setting values.
Save global settings with replace-all set to {replaceAll}.
GET
/api/platform/settings/v2/tenant/{tenantType}/schema
Get the settings schema for a tenant type · Get tenant settings schema (metadata only, no values).
#
Ask an LLM
“Which settings can be configured per store or other tenant type?”
“Does the tenant settings schema vary by tenant instance?”
Tell an agent
Get the settings schema for tenant type {tenantType}.
Search {tenantType} setting definitions for {keyword}.
GET
/api/platform/settings/v2/tenant/{tenantType}/{tenantId}/values
Get setting values for a tenant · Get tenant settings values as a flat { name: value } dictionary.
#
Ask an LLM
“What settings values apply to one specific store or tenant?”
“Can I see only the settings a tenant has overridden?”
Tell an agent
Get settings values for {tenantType} {tenantId}.
Show modified settings of tenant {tenantId} of type {tenantType} for module {moduleId}.
POST
/api/platform/settings/v2/tenant/{tenantType}/{tenantId}/values
Save setting values for a tenant · Settings V2 save tenant values
#
Ask an LLM
“How do I change settings for just one store or tenant?”
“Can I overwrite all of a tenant's setting values at once?”
Tell an agent
Save settings values for {tenantType} {tenantId}.
Replace all settings of tenant {tenantId} ({tenantType}) with these values.
GET
/api/platform/settings/v2/me/schema
Get my user profile settings schema · Get the current user's UserProfile settings schema (metadata only).
#
Ask an LLM
“Which personal profile settings can I set for myself?”
“What per-user settings does a module define?”
Tell an agent
Get my user profile settings schema.
Show personal setting definitions for module {moduleId}.
GET
/api/platform/settings/v2/me/values
Get my user profile setting values · Get the current user's effective UserProfile settings values as a flat { name…
#
Ask an LLM
“What personal settings are in effect for my account?”
“Can I see only the profile settings I've changed from the defaults?”
Tell an agent
Get my effective personal settings values.
Show my changed profile settings for module {moduleId}.
POST
/api/platform/settings/v2/me/values
Save my user profile settings · Settings V2 save me values
#
Ask an LLM
“How do I save my own profile preferences?”
“Can I reset my personal settings by replacing them all?”
Tell an agent
Save my personal profile settings.
Replace all my profile settings, replace-all {replaceAll}.
Documentation
Specifications
SDKs
📦
GitHubRepository
https://github.com/VirtoCommerce/vc-module-catalog
📦
GitHubRepository
https://github.com/VirtoCommerce/vc-module-pricing
📦
GitHubRepository
https://github.com/VirtoCommerce/vc-module-inventory
📦
GitHubRepository
https://github.com/VirtoCommerce/vc-module-order
📦
GitHubRepository
https://github.com/VirtoCommerce/vc-module-x-cart
📦
GitHubRepository
https://github.com/VirtoCommerce/vc-module-customer
📦
GitHubRepository
https://github.com/VirtoCommerce/vc-module-marketing
📦
GitHubRepository
https://github.com/VirtoCommerce/vc-module-quote
📦
GitHubRepository
https://github.com/VirtoCommerce/vc-module-store
📦
GitHubRepository
https://github.com/VirtoCommerce/vc-platform