# 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 Page States API version: 1.0.0 extends: openapi/optimizely-page-states-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/PageStates'].get update: x-apievangelist-phrasing: intent: List CMS page states effect: read questions: - How can I list the page states behind the storefront's content tree? - Can I filter page states to only experiment variants? instructions: - text: List all page states. - text: List page states matching {filter}, ordered by {orderby}. slots: filter: query.$filter orderby: query.$orderby method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PageStates'].post update: x-apievangelist-phrasing: intent: Create a page state effect: write questions: - Can I add a page state for a page node on a website? - Is it possible to mark a new page state as an experiment variant? instructions: - text: Create page state {name} for page {pageId} on website {websiteId}. slots: name: requestBody.name pageId: requestBody.pageId websiteId: requestBody.websiteId - text: Add page state {name} at path {path} under parent node {parentNodeId}. slots: name: requestBody.name path: requestBody.path parentNodeId: requestBody.parentNodeId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PageStates({id})'].get update: x-apievangelist-phrasing: intent: Get a page state effect: read questions: - Can I look up one page state and see whether it has an experiment? - Which fields can I select when reading one page state? instructions: - text: Show page state {id}. slots: id: path.id - text: Get page state {id} returning only {select}. slots: id: path.id select: query.$select method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PageStates({id})'].put update: x-apievangelist-phrasing: intent: Replace a page state effect: write questions: - Can I overwrite a whole page state record? - What's the full-replace call for a page state? instructions: - text: Replace page state {id} with name {name} and path {path}. slots: id: path.id name: requestBody.name path: requestBody.path - text: Overwrite page state {id} entirely for page {pageId}. slots: id: path.id pageId: requestBody.pageId method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PageStates({id})'].delete update: x-apievangelist-phrasing: intent: Delete a page state effect: destructive questions: - How do I remove a single page state? - Can I delete a page state conditionally on its ETag? instructions: - text: Delete page state {id}. slots: id: path.id - text: Delete page state {id} if its ETag still matches {etag}. slots: id: path.id etag: header.If-Match method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PageStates({id})'].patch update: x-apievangelist-phrasing: intent: Update a page state effect: write questions: - Can I change only the sort order of a page state? - Is there a partial update to make a page state the default variant? instructions: - text: Set page state {id} sort order to {sortOrder}. slots: id: path.id sortOrder: requestBody.sortOrder - text: Patch page state {id} so default variant is {isDefaultVariant}. slots: id: path.id isDefaultVariant: requestBody.isDefaultVariant method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/PageStates/Default.Default()'].get update: x-apievangelist-phrasing: intent: Get default values for a page state effect: read questions: - What defaults are pre-filled for a new page state? - Is there a blank page state template? instructions: - text: Get the default page state template. - text: Show pre-filled values for a new page state. method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/pagestates/delete'].delete update: x-apievangelist-phrasing: intent: Delete several page states effect: destructive questions: - Can I bulk delete page states in one call? - Which call removes a list of page states by ID? instructions: - text: Bulk delete page states {ids}. slots: ids: query.ids - text: Remove the page states listed in {ids}. slots: ids: query.ids method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/pagestates({key})/customproperties({custompropertyKey})'].get update: x-apievangelist-phrasing: intent: Get a custom property on a page state effect: read questions: - Can I read a custom field stored on a page state? - Where are extra attributes of a page state kept? instructions: - text: Get custom property {custompropertyKey} on page state {key}. slots: custompropertyKey: path.custompropertyKey key: path.key - text: Show page state {key}'s custom field {custompropertyKey}. slots: key: path.key custompropertyKey: path.custompropertyKey method: generated generated: '2026-09-26' - target: $.paths['/api/v1/admin/pagestates({key})/pagestatecontexts({pagestatecontextKey})'].get update: x-apievangelist-phrasing: intent: Get a context of a page state effect: read questions: - Can I read one context record attached to a page state? - Which call returns a single page state context? instructions: - text: Get context {pagestatecontextKey} of page state {key}. slots: pagestatecontextKey: path.pagestatecontextKey key: path.key - text: Show page state {key}'s context {pagestatecontextKey}. slots: key: path.key pagestatecontextKey: path.pagestatecontextKey method: generated generated: '2026-09-26'