Optimizely · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Optimizely CMP Open API Documentation Library API
42 actions
42 updates
phrasing
extends
openapi/optimizely-library-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 42 · first 16 shown; the file carries all of them
$.info
$.paths['/folders'].get
$.paths['/folders'].post
$.paths['/folders/{id}'].get
$.paths['/folders/{id}'].delete
$.paths['/folders/{id}'].patch
$.paths['/folders/{id}/permissions'].get
$.paths['/folders/{id}/permissions'].post
$.paths['/folders/{id}/permissions/{accessor_id}'].delete
$.paths['/folders/{id}/permissions/{accessor_id}'].patch
$.paths['/file-urls'].post
$.paths['/assets'].get
$.paths['/assets'].post
$.paths['/assets/{asset_id}/fields'].get
$.paths['/assets/{asset_id}/fields'].put
$.paths['/assets/{asset_id}/fields/{field_id}'].put
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 Optimizely CMP Open API Documentation Library API
version: 1.0.0
extends: openapi/optimizely-library-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: 41
- target: $.paths['/folders'].get
update:
x-apievangelist-phrasing:
intent: List library folders
effect: read
questions:
- How do I see all the folders in my content marketing library?
- Can I list only the subfolders inside one parent folder?
- Which library folders were changed most recently?
instructions:
- text: List the folders in my library, newest changes first.
- text: Show the subfolders inside folder {parent_folder_id}.
slots:
parent_folder_id: query.parent_folder_id
- text: Get {page_size} library folders per page starting at offset {offset}.
slots:
page_size: query.page_size
offset: query.offset
method: generated
generated: '2026-09-26'
- target: $.paths['/folders'].post
update:
x-apievangelist-phrasing:
intent: Create a library folder
effect: write
questions:
- How do I make a new folder in the Optimizely content library?
- Can I create a folder nested inside another folder?
instructions:
- text: Create a library folder named {name}.
slots:
name: requestBody.name
- text: Create a folder called {name} inside parent folder {parent_folder_id}.
slots:
name: requestBody.name
parent_folder_id: requestBody.parent_folder_id
method: generated
generated: '2026-09-26'
- target: $.paths['/folders/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a library folder
effect: read
questions:
- What are the details of a single library folder by its ID?
- Can I look up one folder to see its name and parent?
instructions:
- text: Fetch library folder {id}.
slots:
id: path.id
- text: Show me the details of folder {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/folders/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a library folder
effect: destructive
questions:
- How do I remove a folder from my library?
- Is deleting a library folder still an experimental feature?
instructions:
- text: Delete library folder {id}.
slots:
id: path.id
- text: Remove the folder {id} from the library.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/folders/{id}'].patch
update:
x-apievangelist-phrasing:
intent: Rename or move a library folder
effect: write
questions:
- How do I rename an existing library folder?
- Can I move a folder under a different parent or back to the top level?
instructions:
- text: Rename folder {id} to {name}.
slots:
id: path.id
name: requestBody.name
- text: Move folder {id} under parent folder {parent_folder_id}.
slots:
id: path.id
parent_folder_id: requestBody.parent_folder_id
method: generated
generated: '2026-09-26'
- target: $.paths['/folders/{id}/permissions'].get
update:
x-apievangelist-phrasing:
intent: List who can access a folder
effect: read
questions:
- Who has access to a particular library folder?
- Can I filter a folder's permissions by access level?
instructions:
- text: List the users and teams with access to folder {id}.
slots:
id: path.id
- text: Show accessors on folder {id} with at least {min_access} access.
slots:
id: path.id
min_access: query.min_access
method: generated
generated: '2026-09-26'
- target: $.paths['/folders/{id}/permissions'].post
update:
x-apievangelist-phrasing:
intent: Grant folder access to users or teams
effect: write
questions:
- How do I share a library folder with a team?
- Can I give specific users permission to a folder?
instructions:
- text: Grant {type} accessors {permissions} on folder {id}.
slots:
type: requestBody.type
permissions: requestBody.permissions
id: path.id
- text: 'Share folder {id} with these accessors: {permissions}.'
slots:
id: path.id
permissions: requestBody.permissions
method: generated
generated: '2026-09-26'
- target: $.paths['/folders/{id}/permissions/{accessor_id}'].delete
update:
x-apievangelist-phrasing:
intent: Revoke someone's access to a folder
effect: destructive
questions:
- How do I take away a user's access to a library folder?
- Can I remove a team from a folder's permissions?
instructions:
- text: Remove accessor {accessor_id} from folder {id}.
slots:
accessor_id: path.accessor_id
id: path.id
- text: Revoke folder {id} access for {accessor_id}.
slots:
id: path.id
accessor_id: path.accessor_id
method: generated
generated: '2026-09-26'
- target: $.paths['/folders/{id}/permissions/{accessor_id}'].patch
update:
x-apievangelist-phrasing:
intent: Change someone's access level on a folder
effect: write
questions:
- How do I change a user's access level on a library folder?
- Can I make someone an owner of a folder?
instructions:
- text: Set accessor {accessor_id}'s access on folder {id} to {access_type}.
slots:
accessor_id: path.accessor_id
id: path.id
access_type: requestBody.access_type
- text: Make {accessor_id} an owner of folder {id}.
slots:
accessor_id: path.accessor_id
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/file-urls'].post
update:
x-apievangelist-phrasing:
intent: Generate download URLs for library files
effect: write
questions:
- How do I get download links for files stored in my library?
- Can I generate download URLs for several files at once by their GUIDs?
instructions:
- text: Generate download URLs for file GUIDs {guids}.
slots:
guids: requestBody.guids
- text: Give me download links for the library files {guids}.
slots:
guids: requestBody.guids
method: generated
generated: '2026-09-26'
- target: $.paths['/assets'].get
update:
x-apievangelist-phrasing:
intent: List and search library assets
effect: read
questions:
- How do I list the images and videos in my content library?
- Can I search library assets by title or description text?
- Which assets were modified within a given date range?
- Can I list only the assets that belong to one campaign?
instructions:
- text: List library assets of type {type}.
slots:
type: query.type
- text: Search the library for assets matching {search_text}.
slots:
search_text: query.search_text
- text: Show assets in folder {folder_id}, including subfolders.
slots:
folder_id: query.folder_id
- text: List the assets for campaign {campaign_id}.
slots:
campaign_id: query.campaign_id
method: generated
generated: '2026-09-26'
- target: $.paths['/assets'].post
update:
x-apievangelist-phrasing:
intent: Upload a new library asset
effect: write
questions:
- How do I add a new image, video or raw file to the library?
- Can I put a newly uploaded asset straight into a specific folder?
instructions:
- text: Create an asset titled {title} from upload session {key}.
slots:
title: requestBody.title
key: requestBody.key
- text: Add uploaded file {key} as asset {title} in folder {folder_id}.
slots:
key: requestBody.key
title: requestBody.title
folder_id: requestBody.folder_id
method: generated
generated: '2026-09-26'
- target: $.paths['/assets/{asset_id}/fields'].get
update:
x-apievangelist-phrasing:
intent: List an asset's custom fields
effect: read
questions:
- What custom field values are set on a library asset?
- Can I page through the fields attached to one asset?
instructions:
- text: List the fields on asset {asset_id}.
slots:
asset_id: path.asset_id
- text: Show the custom field values for asset {asset_id}.
slots:
asset_id: path.asset_id
method: generated
generated: '2026-09-26'
- target: $.paths['/assets/{asset_id}/fields'].put
update:
x-apievangelist-phrasing:
intent: Replace all fields on an asset
effect: write
questions:
- How do I overwrite every custom field on an asset in one call?
- Can I replace an asset's whole set of field values?
instructions:
- text: Replace all field values on asset {asset_id}.
slots:
asset_id: path.asset_id
- text: Overwrite the complete field set of asset {asset_id}.
slots:
asset_id: path.asset_id
method: generated
generated: '2026-09-26'
- target: $.paths['/assets/{asset_id}/fields/{field_id}'].put
update:
x-apievangelist-phrasing:
intent: Update one field value on an asset
effect: write
questions:
- How do I change a single custom field value on an asset?
- Can I edit one field without touching an asset's other fields?
instructions:
- text: Update field {field_id} on asset {asset_id}.
slots:
field_id: path.field_id
asset_id: path.asset_id
- text: Set a new value for field {field_id} of asset {asset_id}.
slots:
field_id: path.field_id
asset_id: path.asset_id
method: generated
generated: '2026-09-26'
- target: $.paths['/assets/{asset_id}/versions'].post
update:
x-apievangelist-phrasing:
intent: Add a new version to an asset
effect: write
questions:
- How do I upload a new version of an existing image or video?
- Can I keep version history when replacing a library file?
instructions:
- text: Add a new version of asset {asset_id} from upload {key} titled {title}.
slots:
asset_id: path.asset_id
key: requestBody.key
title: requestBody.title
- text: Upload upload-session {key} as the latest version of asset {asset_id}, titled {title}.
slots:
key: requestBody.key
asset_id: path.asset_id
title: requestBody.title
method: generated
generated: '2026-09-26'
- target: $.paths['/assets/{asset_id}/renditions'].get
update:
x-apievangelist-phrasing:
intent: List an asset's renditions
effect: read
questions:
- What renditions or resized versions exist for an asset?
- Can I see every rendition generated for one image?
instructions:
- text: List the renditions of asset {asset_id}.
slots:
asset_id: path.asset_id
- text: Show all renditions generated for asset {asset_id}.
slots:
asset_id: path.asset_id
method: generated
generated: '2026-09-26'
- target: $.paths['/assets/{asset_id}/permissions'].get
update:
x-apievangelist-phrasing:
intent: List who can access an asset
effect: read
questions:
- Who has permission to access a particular library asset?
- Can I filter an asset's accessors by maximum access level?
instructions:
- text: List the users and teams with access to asset {asset_id}.
slots:
asset_id: path.asset_id
- text: Show accessors on asset {asset_id} with {access} access.
slots:
asset_id: path.asset_id
access: query.access
method: generated
generated: '2026-09-26'
- target: $.paths['/assets/{asset_id}/permissions'].post
update:
x-apievangelist-phrasing:
intent: Grant asset access to users or teams
effect: write
questions:
- How do I share a single library asset with a team?
- Can I give specific users permission to one asset?
instructions:
- text: Grant {type} accessors {permissions} on asset {asset_id}.
slots:
type: requestBody.type
permissions: requestBody.permissions
asset_id: path.asset_id
- text: 'Share asset {asset_id} with these accessors: {permissions}.'
slots:
asset_id: path.asset_id
permissions: requestBody.permissions
method: generated
generated: '2026-09-26'
- target: $.paths['/assets/{asset_id}/permissions/{accessor_id}'].delete
update:
x-apievangelist-phrasing:
intent: Revoke someone's access to an asset
effect: destructive
questions:
- How do I take away a user's access to a library asset?
- Can I remove a team from an asset's permissions?
instructions:
- text: Remove accessor {accessor_id} from asset {asset_id}.
slots:
accessor_id: path.accessor_id
asset_id: path.asset_id
- text: Revoke asset {asset_id} access for {accessor_id}.
slots:
asset_id: path.asset_id
accessor_id: path.accessor_id
method: generated
generated: '2026-09-26'
- target: $.paths['/assets/{asset_id}/permissions/{accessor_id}'].patch
update:
x-apievangelist-phrasing:
intent: Change someone's access level on an asset
effect: write
questions:
- How do I change a user's access level on a single asset?
- Can I make someone an owner of an asset?
instructions:
- text: Set accessor {accessor_id}'s access on asset {asset_id} to {access_type}.
slots:
accessor_id: path.accessor_id
asset_id: path.asset_id
access_type: requestBody.access_type
- text: Make {accessor_id} an owner of asset {asset_id}.
slots:
accessor_id: path.accessor_id
asset_id: path.asset_id
method: generated
generated: '2026-09-26'
- target: $.paths['/renditions/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a rendition
effect: read
questions:
- What are the details of one rendition by its ID?
- Can I look up a single rendition directly without its asset?
instructions:
- text: Fetch rendition {id}.
slots:
id: path.id
- text: Show me the details of rendition {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/rendition-configs/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a rendition configuration
effect: read
questions:
- How is a rendition configuration for my organization set up?
- Can I inspect the settings of one rendition config by ID?
instructions:
- text: Get rendition configuration {id}.
slots:
id: path.id
- text: Show the rendition config settings for {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/assets/{asset_id}/lineages'].post
update:
x-apievangelist-phrasing:
intent: Record where an asset is used externally
effect: write
questions:
- How do I track that an asset is used on an external website?
- Can I record which rendition of an asset a page is using?
instructions:
- text: Record that asset {asset_id} is used at {uri} by source {name}.
slots:
asset_id: path.asset_id
uri: requestBody.uri
name: requestBody.name
- text: Add a lineage for asset {asset_id} pointing to {uri}, named {name}, using rendition {rendition_id}.
slots:
asset_id: path.asset_id
uri: requestBody.uri
name: requestBody.name
rendition_id: requestBody.rendition_id
method: generated
generated: '2026-09-26'
- target: $.paths['/assets/{asset_id}/lineages/{lineage_id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete an asset lineage record
effect: destructive
questions:
- How do I remove an external usage record from an asset?
- Can I delete a lineage entry once an asset is no longer used there?
instructions:
- text: Delete lineage {lineage_id} from asset {asset_id}.
slots:
lineage_id: path.lineage_id
asset_id: path.asset_id
- text: Remove the usage record {lineage_id} on asset {asset_id}.
slots:
lineage_id: path.lineage_id
asset_id: path.asset_id
method: generated
generated: '2026-09-26'
- target: $.paths['/assets/{asset_id}/related-assets'].get
update:
x-apievangelist-phrasing:
intent: List an asset's related assets
effect: read
questions:
- Which assets are linked as related to a given article or image?
- What asset types support related assets?
instructions:
- text: List the related assets of asset {asset_id}.
slots:
asset_id: path.asset_id
- text: Show assets linked as related to {asset_id}.
slots:
asset_id: path.asset_id
method: generated
generated: '2026-09-26'
- target: $.paths['/assets/{asset_id}/related-assets'].put
update:
x-apievangelist-phrasing:
intent: Replace an asset's related assets
effect: write
questions:
- How do I set the full list of related assets for an asset?
- Can I overwrite which assets are linked as related to a video?
instructions:
- text: Replace the related assets of {asset_id} with {related_assets}.
slots:
asset_id: path.asset_id
related_assets: requestBody.related_assets
- text: Set {related_assets} as the only related assets on asset {asset_id}.
slots:
related_assets: requestBody.related_assets
asset_id: path.asset_id
method: generated
generated: '2026-09-26'
- target: $.paths['/asset-lineages'].get
update:
x-apievangelist-phrasing:
intent: List asset lineage records
effect: read
questions:
- Where are my library assets being used across external sites?
- Can I filter lineage records by where an asset is used?
instructions:
- text: List all asset lineage records.
- text: Show lineage records for asset {asset_id}.
slots:
asset_id: query.asset_id
- text: Find lineages where assets are used in {used_in}.
slots:
used_in: query.used_in
method: generated
generated: '2026-09-26'
- target: $.paths['/articles/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get an article
effect: read
questions:
- How do I fetch a single article from the library?
- Can I read an article's content by its ID?
instructions:
- text: Get article {id}.
slots:
id: path.id
- text: Show me the library article {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/images/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get an image
effect: read
questions:
- How do I fetch the details of a library image?
- Can I see an image's alt text and tags by its ID?
instructions:
- text: Get image {id}.
slots:
id: path.id
- text: Show me the library image {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/images/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete an image
effect: destructive
questions:
- How do I delete an image from my content library?
- Is deleting a library image permanent rather than archiving it?
instructions:
- text: Delete image {id}.
slots:
id: path.id
- text: Remove the library image {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/images/{id}'].patch
update:
x-apievangelist-phrasing:
intent: Update an image's metadata
effect: write
questions:
- How do I change an image's title or alt text?
- Can I make a library image public or set it to expire?
- Can I archive an image or stop search engines indexing it?
instructions:
- text: Set the alt text of image {id} to {alt_text}.
slots:
id: path.id
alt_text: requestBody.alt_text
- text: Rename image {id} to {title}.
slots:
id: path.id
title: requestBody.title
- text: Make image {id} expire at {expires_at}.
slots:
id: path.id
expires_at: requestBody.expires_at
method: generated
generated: '2026-09-26'
- target: $.paths['/videos/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a video
effect: read
questions:
- How do I fetch the details of a library video?
- Can I see a video's description and tags by its ID?
instructions:
- text: Get video {id}.
slots:
id: path.id
- text: Show me the library video {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/videos/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a video
effect: destructive
questions:
- How do I delete a video from my content library?
- Can I permanently remove a video asset by ID?
instructions:
- text: Delete video {id}.
slots:
id: path.id
- text: Remove the library video {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/videos/{id}'].patch
update:
x-apievangelist-phrasing:
intent: Update a video's metadata
effect: write
questions:
- How do I change a video's title or description?
- Can I move a video into another folder or archive it?
instructions:
- text: Set the description of video {id} to {description}.
slots:
id: path.id
description: requestBody.description
- text: Move video {id} into folder {folder_id}.
slots:
id: path.id
folder_id: requestBody.folder_id
- text: Replace the tags on video {id} with {tags}.
slots:
id: path.id
tags: requestBody.tags
method: generated
generated: '2026-09-26'
- target: $.paths['/raw-files/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get a raw file
effect: read
questions:
- How do I fetch the details of a raw file in the library?
- Can I look up a PDF or other raw file asset by ID?
instructions:
- text: Get raw file {id}.
slots:
id: path.id
- text: Show me the library raw file {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/raw-files/{id}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a raw file
effect: destructive
questions:
- How do I delete a raw file from my content library?
- Can I permanently remove a raw file asset by ID?
instructions:
- text: Delete raw file {id}.
slots:
id: path.id
- text: Remove the library raw file {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/raw-files/{id}'].patch
update:
x-apievangelist-phrasing:
intent: Update a raw file's metadata
effect: write
questions:
- How do I rename a raw file or change its attribution text?
- Can I make a raw file's URL public?
instructions:
- text: Rename raw file {id} to {title}.
slots:
id: path.id
title: requestBody.title
- text: Set the attribution text of raw file {id} to {attribution_text}.
slots:
id: path.id
attribution_text: requestBody.attribution_text
- text: Archive raw file {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/structured-contents'].post
update:
x-apievangelist-phrasing:
intent: Create structured content
effect: write
questions:
- How do I create a structured content asset in the library?
- Can I put new structured content into a specific folder?
instructions:
- text: Create structured content titled {title} with body {content_body}.
slots:
title: requestBody.title
content_body: requestBody.content_body
- text: Add structured content {content_body} to folder {folder_id}.
slots:
content_body: requestBody.content_body
folder_id: requestBody.folder_id
method: generated
generated: '2026-09-26'
- target: $.paths['/structured-contents/{id}'].get
update:
x-apievangelist-phrasing:
intent: Get structured content
effect: read
questions:
- How do I read a structured content asset by ID?
- Can I fetch the body of one structured content item?
instructions:
- text: Get structured content {id}.
slots:
id: path.id
- text: Show me the structured content body for {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'
- target: $.paths['/structured-contents/{id}'].patch
update:
x-apievangelist-phrasing:
intent: Update structured content
effect: write
questions:
- How do I edit the body of a structured content asset?
- Can I archive a structured content item?
instructions:
- text: Update the body of structured content {id} to {content_body}.
slots:
id: path.id
content_body: requestBody.content_body
- text: Archive structured content {id}.
slots:
id: path.id
method: generated
generated: '2026-09-26'