# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Admin API V1 Languages API version: 1.0.0 extends: openapi/optimizely-languages-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: 10 - target: $.paths['/api/v1/admin/Languages'].get update: x-apievangelist-phrasing: intent: List storefront languages effect: read questions: - Which languages are set up in the Optimizely Configured Commerce admin? - Can I find which language is marked as the default? instructions: - text: List all configured languages. - text: List languages matching {filter}, sorted by {orderby}. slots: filter: query.$filter orderby: query.$orderby method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Languages'].post update: x-apievangelist-phrasing: intent: Add a language effect: write questions: - What codes and tags do I need to add a new language to the storefront? - Can a new language have persona-specific or device-specific content? instructions: - text: Add language {languageCode} described as {description}, culture {cultureCode}, tag {languageTag}, alternates {alternateLanguages}, flag image {imageFilePath}. slots: languageCode: requestBody.languageCode description: requestBody.description cultureCode: requestBody.cultureCode languageTag: requestBody.languageTag alternateLanguages: requestBody.alternateLanguages imageFilePath: requestBody.imageFilePath - text: 'Create language {languageCode} and make it the default: {isDefault}.' slots: languageCode: requestBody.languageCode isDefault: requestBody.isDefault method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Languages({id})'].get update: x-apievangelist-phrasing: intent: Get one language by ID effect: read questions: - How do I look up a single language's culture code by its ID? - Can I choose which language fields come back for one record? instructions: - text: Show language {id}. slots: id: path.id - text: Fetch language {id}, selecting {select}. slots: id: path.id select: query.$select method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Languages({id})'].put update: x-apievangelist-phrasing: intent: Replace a language record entirely effect: write questions: - Can I overwrite a language with a complete new set of values? - What happens to language fields I leave out on a full replace? instructions: - text: Replace language {id} with a full record using code {languageCode} and culture {cultureCode}. slots: id: path.id languageCode: requestBody.languageCode cultureCode: requestBody.cultureCode - text: Overwrite every field of language {id}, setting the description to {description}. slots: id: path.id description: requestBody.description method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Languages({id})'].delete update: x-apievangelist-phrasing: intent: Delete a single language effect: destructive questions: - How do I remove one language from the storefront by its ID? - Can I make a language delete conditional on an ETag? instructions: - text: Delete language {id}. slots: id: path.id - text: Delete language {id} only if its ETag matches {etag}. slots: id: path.id etag: header.If-Match method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Languages({id})'].patch update: x-apievangelist-phrasing: intent: Update selected fields on a language effect: write questions: - Can I change just where the currency symbol is positioned for a language? - How would I switch which language is the default? instructions: - text: Patch language {id} so currency positioning is {currencyPositioning}. slots: id: path.id currencyPositioning: requestBody.currencyPositioning - text: Update language {id} to set default to {isDefault}. slots: id: path.id isDefault: requestBody.isDefault method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Languages/Default.Default()'].get update: x-apievangelist-phrasing: intent: Get default values for a new language effect: read questions: - What defaults does the admin pre-fill for a language before I add one? - Where do I get a blank language template? instructions: - text: Get the default language template. - text: Show me the pre-filled defaults for a new language record. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/languages/delete'].delete update: x-apievangelist-phrasing: intent: Bulk delete languages by ID effect: destructive questions: - How do I delete several languages in one request? - Can I bulk-remove languages by passing their IDs? instructions: - text: Bulk delete languages {ids}. slots: ids: query.ids - text: Permanently remove the languages with IDs {ids}. slots: ids: query.ids method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/languages({key})/customproperties({custompropertyKey})'].get update: x-apievangelist-phrasing: intent: Get a custom property on a language effect: read questions: - How can I read one custom property stored on a language? - Can I expand related data on a language's custom property? instructions: - text: Show custom property {custompropertyKey} on language {key}. slots: custompropertyKey: path.custompropertyKey key: path.key - text: Fetch language {key}'s custom property {custompropertyKey} with {expand} expanded. slots: key: path.key custompropertyKey: path.custompropertyKey expand: query.$expand method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/languages({key})/websitelanguages({websitelanguageKey})'].get update: x-apievangelist-phrasing: intent: Get a website's use of a language effect: read questions: - Which website-language assignment links a language to a site? - Can I fetch one website language record through its language? instructions: - text: Show website language {websitelanguageKey} for language {key}. slots: websitelanguageKey: path.websitelanguageKey key: path.key - text: Fetch language {key}'s website assignment {websitelanguageKey}, selecting {select}. slots: key: path.key websitelanguageKey: path.websitelanguageKey select: query.$select method: generated generated: '2026-09-26'