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