# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Optimizely Websites API version: 1.0.0 extends: openapi/optimizely-websites-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: 45 - target: $.paths['/api/v1/admin/Websites'].get update: x-apievangelist-phrasing: intent: List the websites configured in the admin effect: read questions: - How do I list every website set up in the Optimizely Commerce admin? - Can I filter or sort the admin website list with OData query options? - Which websites are currently in maintenance mode? instructions: - text: List all websites in the commerce admin. - text: List admin websites matching the filter {filter}. slots: filter: query.$filter method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Websites'].post update: x-apievangelist-phrasing: intent: Create a new website effect: write questions: - How do I create a new storefront website in the commerce admin? - What fields are required when adding a website, like domain name and theme? instructions: - text: Create a website named {name} on domain {domainName} using theme {themeId}. slots: name: requestBody.name domainName: requestBody.domainName themeId: requestBody.themeId - text: Add a new website with key {key} for company {companyName}. slots: key: requestBody.key companyName: requestBody.companyName method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Websites({id})'].get update: x-apievangelist-phrasing: intent: Get one website by its id effect: read questions: - How can I look up the settings of a single website by its id? - Can I see one website's domain, theme and company details? instructions: - text: Show me the website with id {id}. slots: id: path.id - text: Get the domain and theme settings for website {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Websites({id})'].put update: x-apievangelist-phrasing: intent: Replace a website's full record effect: write questions: - How do I overwrite a website's entire configuration in one request? - Is there a full replace for a website record rather than a partial update? instructions: - text: Replace the whole record of website {id} with name {name} and domain {domainName}. slots: id: path.id name: requestBody.name domainName: requestBody.domainName - text: Overwrite website {id} completely with the new configuration. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Websites({id})'].delete update: x-apievangelist-phrasing: intent: Delete a single website effect: destructive questions: - How do I permanently delete one website by its id? - Can I delete a website only if its ETag still matches? instructions: - text: Delete website {id}. slots: id: path.id - text: Delete website {id} only if it matches ETag {etag}. slots: id: path.id etag: header.If-Match method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Websites({id})'].patch update: x-apievangelist-phrasing: intent: Update selected fields on a website effect: write questions: - How do I switch a website into maintenance mode without resending everything? - Can I patch just a website's logo or company phone? instructions: - text: Turn maintenance mode to {maintenanceMode} on website {id}. slots: maintenanceMode: requestBody.maintenanceMode id: path.id - text: Patch website {id} so its company phone is {companyPhone}. slots: id: path.id companyPhone: requestBody.companyPhone method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Websites/Default.Default()'].get update: x-apievangelist-phrasing: intent: Get the default website record effect: read questions: - What does the default website record look like in the admin API? - Can I fetch the default values a new website starts with? instructions: - text: Get the default website record. - text: Show me the default template values for a website. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Websites/Default.archive'].post update: x-apievangelist-phrasing: intent: Archive websites with the archive action effect: write questions: - How do I archive several websites at once with the OData archive action? - Can I archive websites instead of deleting them? instructions: - text: Run the archive action on websites {ids}. slots: ids: query.ids - text: Archive the websites with ids {ids} using the POST archive call. slots: ids: query.ids method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Websites({id})/Default.userProfilesWithRolesFilter()'].get update: x-apievangelist-phrasing: intent: List a website's users filtered by role effect: read questions: - Which user profiles on a website have particular roles, looked up by website id? - Can I see the role-filtered users for a website using its id? instructions: - text: List role-filtered user profiles for website id {id}. slots: id: path.id - text: Show users with roles on the website whose id is {id}. slots: id: path.id method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/websites({key})/userProfilesWithRolesFilter'].get update: x-apievangelist-phrasing: intent: List a website's role users by website key effect: read questions: - How do I get a website's role-filtered user profiles using the website key instead of its id? - Can I look up users with roles on a website by its key? instructions: - text: List role-filtered user profiles for the website with key {key}. slots: key: path.key - text: Using website key {key}, show which users have roles there. slots: key: path.key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/websites/IsMicrositeUrlInUseByContent'].get update: x-apievangelist-phrasing: intent: Check if a microsite URL is used by content effect: read questions: - How can I tell whether a microsite URL is already used by content? - Is a given microsite identifier free before I assign it to a website? instructions: - text: Check whether microsite URL {value} is already in use by content. slots: value: query.value - text: Tell me if {value} is taken as a microsite URL. slots: value: query.value method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/websites/archive'].delete update: x-apievangelist-phrasing: intent: Archive websites through the archive route effect: destructive questions: - Is there a DELETE-style archive route for websites? - How do I archive websites through the websites/archive endpoint? instructions: - text: Archive websites {ids} through the DELETE archive route. slots: ids: query.ids - text: Send websites {ids} to the archive with the archive route. slots: ids: query.ids method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/websites/delete'].delete update: x-apievangelist-phrasing: intent: Bulk delete websites by ids effect: destructive questions: - How do I delete several websites in one call? - Can I bulk remove websites by passing a list of ids? instructions: - text: Bulk delete websites {ids}. slots: ids: query.ids - text: 'Remove all of these websites at once: {ids}.' slots: ids: query.ids method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/websites({key})/adminuserprofiles({adminuserprofileKey})'].get update: x-apievangelist-phrasing: intent: Get an admin user assigned to a website effect: read questions: - How do I look up one admin user profile attached to a website? - Can I check if a specific admin user is linked to a website? instructions: - text: Get admin user profile {adminuserprofileKey} on website {key}. slots: adminuserprofileKey: path.adminuserprofileKey key: path.key - text: Show the admin user {adminuserprofileKey} assigned to website {key}. slots: adminuserprofileKey: path.adminuserprofileKey key: path.key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/websites({key})/applicationmessages({applicationmessageKey})'].get update: x-apievangelist-phrasing: intent: Get an application message for a website effect: read questions: - How do I read one application message configured for a website? - Can I see the text of a specific site message on a given website? instructions: - text: Get application message {applicationmessageKey} for website {key}. slots: applicationmessageKey: path.applicationmessageKey key: path.key - text: Show the website {key} application message {applicationmessageKey}. slots: key: path.key applicationmessageKey: path.applicationmessageKey method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/websites({key})/billtoaddressfields({billtoaddressfieldKey})'].get update: x-apievangelist-phrasing: intent: Get a bill-to address field for a website effect: read questions: - How is a particular bill-to address field configured on a website? - Can I look up one billing address field setting by website? instructions: - text: Get bill-to address field {billtoaddressfieldKey} on website {key}. slots: billtoaddressfieldKey: path.billtoaddressfieldKey key: path.key - text: Show how billing field {billtoaddressfieldKey} is set up for website {key}. slots: billtoaddressfieldKey: path.billtoaddressfieldKey key: path.key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/websites({key})/carriers({carrierKey})'].get update: x-apievangelist-phrasing: intent: Get a shipping carrier on a website effect: read questions: - How do I check whether a shipping carrier is enabled for a website? - Can I view one carrier's details for a specific website? instructions: - text: Get carrier {carrierKey} for website {key}. slots: carrierKey: path.carrierKey key: path.key - text: Show the shipping carrier {carrierKey} on website {key}. slots: carrierKey: path.carrierKey key: path.key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/websites({key})/categories({categoryKey})'].get update: x-apievangelist-phrasing: intent: Get a product category on a website effect: read questions: - How do I fetch one product category belonging to a website? - Can I see a category's details scoped to a specific website? instructions: - text: Get category {categoryKey} on website {key}. slots: categoryKey: path.categoryKey key: path.key - text: Show product category {categoryKey} for website {key}. slots: categoryKey: path.categoryKey key: path.key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/websites({key})/countries({countryKey})'].get update: x-apievangelist-phrasing: intent: Get a country enabled on a website (admin) effect: read questions: - How do I check a country's admin settings on a specific website by key? - Can the admin API show whether a country is assigned to a website? instructions: - text: Get admin country {countryKey} on website {key}. slots: countryKey: path.countryKey key: path.key - text: In the admin, show country {countryKey} for website {key}. slots: countryKey: path.countryKey key: path.key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/websites({key})/crosssells({productKey})'].get update: x-apievangelist-phrasing: intent: Get a website cross-sell product (admin) effect: read questions: - How do I look up one cross-sell product configured on a website in the admin? - Can I check whether a product is a website-level cross-sell by website key? instructions: - text: Get admin cross-sell product {productKey} on website {key}. slots: productKey: path.productKey key: path.key - text: Show whether product {productKey} is a cross-sell for website {key}. slots: productKey: path.productKey key: path.key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/websites({key})/customers({customerKey})'].get update: x-apievangelist-phrasing: intent: Get a customer assigned to a website effect: read questions: - How do I find one customer account assigned to a website? - Can I verify that a customer belongs to a particular website? instructions: - text: Get customer {customerKey} on website {key}. slots: customerKey: path.customerKey key: path.key - text: Show the customer {customerKey} linked to website {key}. slots: customerKey: path.customerKey key: path.key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/websites({key})/customproperties({custompropertyKey})'].get update: x-apievangelist-phrasing: intent: Get a custom property on a website effect: read questions: - How do I read a custom property stored on a website? - Can I fetch a single extension property value for a website? instructions: - text: Get custom property {custompropertyKey} on website {key}. slots: custompropertyKey: path.custompropertyKey key: path.key - text: Show the value of website {key} custom property {custompropertyKey}. slots: key: path.key custompropertyKey: path.custompropertyKey method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/websites({key})/dealers({dealerKey})'].get update: x-apievangelist-phrasing: intent: Get a dealer on a website effect: read questions: - How do I look up one dealer location attached to a website? - Can I see a dealer's details for a specific website? instructions: - text: Get dealer {dealerKey} on website {key}. slots: dealerKey: path.dealerKey key: path.key - text: Show dealer {dealerKey} assigned to website {key}. slots: dealerKey: path.dealerKey key: path.key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/websites({key})/experiments({experimentKey})'].get update: x-apievangelist-phrasing: intent: Get an experiment running on a website effect: read questions: - How do I look up one experiment configured on a website? - Can I see the setup of a specific website experiment? instructions: - text: Get experiment {experimentKey} on website {key}. slots: experimentKey: path.experimentKey key: path.key - text: Show the experiment {experimentKey} for website {key}. slots: experimentKey: path.experimentKey key: path.key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/websites({key})/promotions({promotionKey})'].get update: x-apievangelist-phrasing: intent: Get a promotion on a website effect: read questions: - How do I check a single promotion attached to a website? - Can I view one discount promotion scoped to a website? instructions: - text: Get promotion {promotionKey} on website {key}. slots: promotionKey: path.promotionKey key: path.key - text: Show the promotion {promotionKey} running on website {key}. slots: promotionKey: path.promotionKey key: path.key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/websites({key})/restrictiongroups({restrictiongroupKey})'].get update: x-apievangelist-phrasing: intent: Get a restriction group on a website effect: read questions: - How do I look up one product restriction group assigned to a website? - Can I see which restriction group applies on a specific website? instructions: - text: Get restriction group {restrictiongroupKey} on website {key}. slots: restrictiongroupKey: path.restrictiongroupKey key: path.key - text: Show restriction group {restrictiongroupKey} for website {key}. slots: restrictiongroupKey: path.restrictiongroupKey key: path.key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/websites({key})/shiptoaddressfields({shiptoaddressfieldKey})'].get update: x-apievangelist-phrasing: intent: Get a ship-to address field for a website effect: read questions: - How is one ship-to address field configured on a website? - Can I look up a single shipping address field setting per website? instructions: - text: Get ship-to address field {shiptoaddressfieldKey} on website {key}. slots: shiptoaddressfieldKey: path.shiptoaddressfieldKey key: path.key - text: Show how shipping field {shiptoaddressfieldKey} is set up for website {key}. slots: shiptoaddressfieldKey: path.shiptoaddressfieldKey key: path.key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/websites({key})/states({stateKey})'].get update: x-apievangelist-phrasing: intent: Get a state assigned to a website (admin) effect: read questions: - How do I check the admin settings of one state or province on a website by key? - Can the admin API show whether a state is assigned to a website? instructions: - text: Get admin state {stateKey} on website {key}. slots: stateKey: path.stateKey key: path.key - text: In the admin, show state {stateKey} for website {key}. slots: stateKey: path.stateKey key: path.key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/websites({key})/systemsettings({systemsettingKey})'].get update: x-apievangelist-phrasing: intent: Get a system setting for a website effect: read questions: - How do I read one system setting value for a specific website? - Can I see a website-level override of a system setting? instructions: - text: Get system setting {systemsettingKey} on website {key}. slots: systemsettingKey: path.systemsettingKey key: path.key - text: Show the value of system setting {systemsettingKey} for website {key}. slots: systemsettingKey: path.systemsettingKey key: path.key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/websites({key})/userprofiles({userprofileKey})'].get update: x-apievangelist-phrasing: intent: Get a storefront user profile on a website effect: read questions: - How do I look up one storefront user profile on a website? - Can I check whether a shopper account is tied to a specific website? instructions: - text: Get user profile {userprofileKey} on website {key}. slots: userprofileKey: path.userprofileKey key: path.key - text: Show the shopper profile {userprofileKey} on website {key}. slots: userprofileKey: path.userprofileKey key: path.key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/websites({key})/warehouses({warehouseKey})'].get update: x-apievangelist-phrasing: intent: Get a warehouse assigned to a website effect: read questions: - How do I check a warehouse that serves a particular website? - Can I view one warehouse's details for a website? instructions: - text: Get warehouse {warehouseKey} on website {key}. slots: warehouseKey: path.warehouseKey key: path.key - text: Show warehouse {warehouseKey} used by website {key}. slots: warehouseKey: path.warehouseKey key: path.key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/websites({key})/websitecurrencies({websitecurrencyKey})'].get update: x-apievangelist-phrasing: intent: Get a currency enabled on a website (admin) effect: read questions: - How do I check one currency configured for a website in the admin? - Can the admin API show a website currency assignment by key? instructions: - text: Get admin website currency {websitecurrencyKey} on website {key}. slots: websitecurrencyKey: path.websitecurrencyKey key: path.key - text: In the admin, show currency {websitecurrencyKey} for website {key}. slots: websitecurrencyKey: path.websitecurrencyKey key: path.key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/websites({key})/websitelanguages({websitelanguageKey})'].get update: x-apievangelist-phrasing: intent: Get a language enabled on a website (admin) effect: read questions: - Is a given translation language switched on for a particular website in the admin? - Can the admin API show a website language assignment by key? instructions: - text: Get admin website language {websitelanguageKey} on website {key}. slots: websitelanguageKey: path.websitelanguageKey key: path.key - text: In the admin, show language {websitelanguageKey} for website {key}. slots: websitelanguageKey: path.websitelanguageKey key: path.key method: generated generated: '2026-09-26' - target: $.paths['/api/v1/websites/current/countries'].get update: x-apievangelist-phrasing: intent: List countries available on the current site effect: read questions: - Which countries can shoppers choose on the current storefront? - What countries does the current website support for addresses? instructions: - text: List the countries available on the current website. - text: Show every country shoppers can pick on this storefront. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/websites/current/countries/{countryId}'].get update: x-apievangelist-phrasing: intent: Get a country on the current site effect: read questions: - How do I get the details of one country on the current storefront? - Can I fetch a single country's info for the current website by its id? instructions: - text: Get country {countryId} on the current website. slots: countryId: path.countryId - text: Show storefront details for country {countryId}. slots: countryId: path.countryId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/websites/current'].get update: x-apievangelist-phrasing: intent: Get the current website's details effect: read questions: - How do I get the settings of the website the storefront is running on? - What does the current website return about itself? instructions: - text: Get the current website. - text: Show me details of the storefront website I'm on. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/websites/current/sitemessages'].get update: x-apievangelist-phrasing: intent: Get site messages for the current website effect: read questions: - How do I fetch the storefront site messages for a given language? - Can I look up a site message by its name and page through the results? instructions: - text: Get the site message named {name} on the current website. slots: name: query.parameter.name - text: List site messages in language {languageCode}. slots: languageCode: query.parameter.languageCode method: generated generated: '2026-09-26' - target: $.paths['/api/v1/websites/current/states'].get update: x-apievangelist-phrasing: intent: List states on the current site effect: read questions: - Which states or provinces are available on the current storefront? - What regions can shoppers pick for an address on this website? instructions: - text: List the states available on the current website. - text: Show every state or province on this storefront. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/websites/current/states/{stateId}'].get update: x-apievangelist-phrasing: intent: Get a state on the current site effect: read questions: - How do I get one state's details on the current storefront? - Can I fetch a single state or province by its id for this website? instructions: - text: Get state {stateId} on the current website. slots: stateId: path.stateId - text: Show storefront details for state {stateId}. slots: stateId: path.stateId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/websites/current/languages'].get update: x-apievangelist-phrasing: intent: List languages on the current site effect: read questions: - Which languages does the current storefront offer? - What language options can shoppers switch between on this website? instructions: - text: List the languages available on the current website. - text: Show every language this storefront supports. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/websites/current/languages/{languageId}'].get update: x-apievangelist-phrasing: intent: Get a language on the current site effect: read questions: - How do I get one language's details on the current storefront? - Can I fetch a single storefront language by its id? instructions: - text: Get language {languageId} on the current website. slots: languageId: path.languageId - text: Show storefront details for language {languageId}. slots: languageId: path.languageId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/websites/current/addressfields'].get update: x-apievangelist-phrasing: intent: Get address field settings for the current site effect: read questions: - Which address fields does the current storefront show and require? - How are the billing and shipping address forms configured on this website? instructions: - text: Get the address field configuration for the current website. - text: Show which address fields this storefront uses. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/websites/current/currencies'].get update: x-apievangelist-phrasing: intent: List currencies on the current site effect: read questions: - Which currencies can shoppers use on the current storefront? - What currency options does this website offer? instructions: - text: List the currencies available on the current website. - text: Show every currency this storefront accepts. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/websites/current/currencies/{currencyId}'].get update: x-apievangelist-phrasing: intent: Get a currency on the current site effect: read questions: - How do I get one currency's details on the current storefront? - Can I fetch a single storefront currency by its id? instructions: - text: Get currency {currencyId} on the current website. slots: currencyId: path.currencyId - text: Show storefront details for currency {currencyId}. slots: currencyId: path.currencyId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/websites/current/crosssells'].get update: x-apievangelist-phrasing: intent: List the current site's cross-sell products effect: read questions: - What cross-sell products does the current storefront promote site-wide? - Can I get the website-level cross-sells to show shoppers? instructions: - text: List the cross-sell products for the current website. - text: Show the site-wide cross-sells on this storefront. method: generated generated: '2026-09-26'