Optimizely · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Admin API V1 Page States API
11 actions
11 updates
phrasing
extends
openapi/optimizely-page-states-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Optimizely's API. It is a proposal applied on top of the contract, not a document Optimizely publishes.
What the actions change
x-apievangelist-phrasing
Targets 11
$.info
$.paths['/api/v1/admin/PageStates'].get
$.paths['/api/v1/admin/PageStates'].post
$.paths['/api/v1/admin/PageStates({id})'].get
$.paths['/api/v1/admin/PageStates({id})'].put
$.paths['/api/v1/admin/PageStates({id})'].delete
$.paths['/api/v1/admin/PageStates({id})'].patch
$.paths['/api/v1/admin/PageStates/Default.Default()'].get
$.paths['/api/v1/admin/pagestates/delete'].delete
$.paths['/api/v1/admin/pagestates({key})/customproperties({custompropertyKey})'].get
$.paths['/api/v1/admin/pagestates({key})/pagestatecontexts({pagestatecontextKey})'].get
OpenAPI Overlay
# 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'
Work with this as data
Every overlay here is available over the APIs.io API and to AI agents over MCP.
MCP server
One button, every client — Claude, Cursor, VS Code and the rest.
https://apis.io/mcp
Tools for openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.resolveTurn a domain, URL or GitHub org into the provider it belongs to.find_cohortsEvery scored population of providers in the catalog.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/optimizely-page-states-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
Get an API key
Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.
A second provider on the same verified email joins the account you already have.