# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Optimizely Pages API version: 1.0.0 extends: openapi/optimizely-pages-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: 15 - target: $.paths['/api/v1/admin/Pages'].get update: x-apievangelist-phrasing: intent: List CMS page variants effect: read questions: - Which content page variants exist in my commerce admin? - Can I filter CMS page records by variant name or page type? - How many page variants are shared across layouts? instructions: - text: List all CMS page variants in the commerce admin. - text: Find admin page variants matching the filter {filter}. slots: filter: query.$filter - text: Show the first {top} admin page records sorted by {orderby}. slots: top: query.$top orderby: query.$orderby method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Pages'].post update: x-apievangelist-phrasing: intent: Create a CMS page variant effect: write questions: - How do I add a new variant of a content page in the commerce admin? - What page type does a new CMS page variant have to be allowed for? instructions: - text: Create a CMS page variant named {variantName} allowed for page type {allowedForPageType}. slots: variantName: requestBody.variantName allowedForPageType: requestBody.allowedForPageType - text: Add page variant {variantName} for page type {allowedForPageType} on content node {nodeId}. slots: variantName: requestBody.variantName allowedForPageType: requestBody.allowedForPageType nodeId: requestBody.nodeId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Pages({id})'].get update: x-apievangelist-phrasing: intent: Get a CMS page variant effect: read questions: - What layout and node is a particular CMS page variant attached to? - Is a given admin page record the default variant? instructions: - text: Get CMS page variant {id}. slots: id: path.id - text: Show admin page record {id} with its expanded {expand}. slots: id: path.id expand: query.$expand method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Pages({id})'].put update: x-apievangelist-phrasing: intent: Replace a CMS page variant effect: write questions: - How do I overwrite a whole CMS page variant record in one call? - Does replacing an admin page record clear fields I leave out? instructions: - text: Replace CMS page variant {id} with variant name {variantName} for page type {allowedForPageType}. slots: id: path.id variantName: requestBody.variantName allowedForPageType: requestBody.allowedForPageType - text: Overwrite every field of admin page {id}, setting layout page {layoutPageId}. slots: id: path.id layoutPageId: requestBody.layoutPageId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Pages({id})'].delete update: x-apievangelist-phrasing: intent: Delete a CMS page variant effect: destructive questions: - How do I delete one CMS page variant by its ID? - Can I make an admin page deletion conditional on its ETag? instructions: - text: Delete CMS page variant {id}. slots: id: path.id - text: Delete admin page {id} only if its ETag is {etag}. slots: id: path.id etag: header.If-Match method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Pages({id})'].patch update: x-apievangelist-phrasing: intent: Update a CMS page variant effect: write questions: - Can I rename a CMS page variant without resending the whole record? - How do I mark an existing page variant as the default one? instructions: - text: Rename CMS page variant {id} to {variantName}. slots: id: path.id variantName: requestBody.variantName - text: Set the default-variant flag on admin page {id} to {isDefaultVariant}. slots: id: path.id isDefaultVariant: requestBody.isDefaultVariant method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/Pages/Default.Default()'].get update: x-apievangelist-phrasing: intent: Get a blank CMS page template effect: read questions: - What default values does a new CMS page variant start with? - Is there a template record I can fetch before creating an admin page? instructions: - text: Fetch the default CMS page template. - text: Show the default field values for a new admin page record. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/pages/delete'].delete update: x-apievangelist-phrasing: intent: Bulk delete CMS page variants effect: destructive questions: - How do I delete several CMS page variants at once? - Can I remove a batch of admin pages by passing their IDs? instructions: - text: Bulk delete CMS page variants {ids}. slots: ids: query.ids - text: 'Remove these admin pages in one call: {ids}.' slots: ids: query.ids method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/pages({key})/customproperties({custompropertyKey})'].get update: x-apievangelist-phrasing: intent: Get a custom property on a CMS page effect: read questions: - What value does a custom property hold on a specific CMS page? - Can I read one custom property of an admin page record? instructions: - text: Get custom property {custompropertyKey} on CMS page {key}. slots: custompropertyKey: path.custompropertyKey key: path.key - text: Show admin page {key}'s custom property {custompropertyKey}. slots: key: path.key custompropertyKey: path.custompropertyKey method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/pages({key})/pageversions({pageversionKey})'].get update: x-apievangelist-phrasing: intent: Get a saved version of a CMS page effect: read questions: - How do I look at an earlier saved version of a CMS page? - Can I retrieve one specific page version from a page's history? instructions: - text: Get page version {pageversionKey} of CMS page {key}. slots: pageversionKey: path.pageversionKey key: path.key - text: Show the saved version {pageversionKey} for admin page {key}. slots: pageversionKey: path.pageversionKey key: path.key method: generated generated: '2026-09-26' - target: $.paths['/pages'].get update: x-apievangelist-phrasing: intent: List experiment pages in a project effect: read questions: - Which URL-targeting pages are defined in my experimentation project? - Can I page through a project's experiment pages 50 at a time? instructions: - text: List the experiment pages in project {project_id}. slots: project_id: query.project_id - text: Show page {page} of project {project_id}'s targeting pages, {per_page} per page. slots: page: query.page project_id: query.project_id per_page: query.per_page method: generated generated: '2026-09-26' - target: $.paths['/pages'].post update: x-apievangelist-phrasing: intent: Create an experiment targeting page effect: write questions: - How do I define a page with URL conditions for my experiments to target? - Can I set how an experiment page activates when I create it? instructions: - text: Create an experiment page named {name} in project {project_id} with edit URL {edit_url}. slots: name: requestBody.name project_id: requestBody.project_id edit_url: requestBody.edit_url - text: Add a targeting page {name} with URL conditions {conditions} and activation type {activation_type}. slots: name: requestBody.name conditions: requestBody.conditions activation_type: requestBody.activation_type method: generated generated: '2026-09-26' - target: $.paths['/pages/{page_id}'].get update: x-apievangelist-phrasing: intent: Get an experiment targeting page effect: read questions: - What URL conditions does a specific experiment page use? - How is a given targeting page configured to activate? instructions: - text: Get experiment page {page_id}. slots: page_id: path.page_id - text: Show the targeting conditions of page {page_id}. slots: page_id: path.page_id method: generated generated: '2026-09-26' - target: $.paths['/pages/{page_id}'].delete update: x-apievangelist-phrasing: intent: Delete an experiment targeting page effect: destructive questions: - How do I permanently remove an experiment page I no longer target? - Is deleting a URL-targeting page reversible? instructions: - text: Delete experiment page {page_id}. slots: page_id: path.page_id - text: Permanently remove targeting page {page_id}. slots: page_id: path.page_id method: generated generated: '2026-09-26' - target: $.paths['/pages/{page_id}'].patch update: x-apievangelist-phrasing: intent: Update an experiment targeting page effect: write questions: - Can I change the URL conditions on an existing experiment page? - How do I change the edit URL of a targeting page? instructions: - text: Update the URL conditions of experiment page {page_id} to {conditions}. slots: page_id: path.page_id conditions: requestBody.conditions - text: Rename targeting page {page_id} to {name} and set its edit URL to {edit_url}. slots: page_id: path.page_id name: requestBody.name edit_url: requestBody.edit_url method: generated generated: '2026-09-26'