Optimizely · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Optimizely Assets API

15 actions 15 updates phrasing extends openapi/optimizely-assets-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.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 15

$.info
$.paths['/{clientId}/assets'].get
$.paths['/{clientId}/assets'].post
$.paths['/{clientId}/assets/images/count'].get
$.paths['/{clientId}/assets/images'].get
$.paths['/{clientId}/assets/images'].post
$.paths['/{clientId}/assets/images/{imageId}'].get
$.paths['/{clientId}/assets/images/{imageId}'].post
$.paths['/{clientId}/assets/images/{imageId}'].delete
$.paths['/assets'].get
$.paths['/assets'].post
$.paths['/assets/{assetId}'].get
$.paths['/assets/{assetId}'].put
$.paths['/assets/{assetId}'].delete
$.paths['/asset-urls/{asset_id}'].get

OpenAPI Overlay

Raw ↑
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
  title: API Evangelist conversational phrasing for Optimizely Assets API
  version: 1.0.0
extends: openapi/optimizely-assets-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: 14
- target: $.paths['/{clientId}/assets'].get
  update:
    x-apievangelist-phrasing:
      intent: List campaign assets for a Campaign client
      effect: read
      questions:
      - Which images and media files are stored for my Optimizely Campaign client?
      - Can I see all the campaign assets available to a client ID?
      instructions:
      - text: List the campaign assets for client {clientId}.
        slots:
          clientId: path.clientId
      - text: Show all media files stored under Campaign client {clientId}.
        slots:
          clientId: path.clientId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/assets'].post
  update:
    x-apievangelist-phrasing:
      intent: Upload a campaign asset
      effect: write
      questions:
      - How do I upload a media file to use in my campaigns?
      - Can I give a campaign asset a name when I upload it?
      instructions:
      - text: Upload a campaign asset named {name} to client {clientId}.
        slots:
          name: requestBody.name
          clientId: path.clientId
      - text: Add this file {file} as a campaign asset for client {clientId}.
        slots:
          file: requestBody.file
          clientId: path.clientId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/assets/images/count'].get
  update:
    x-apievangelist-phrasing:
      intent: Count the images in a Campaign client
      effect: read
      questions:
      - How many images are stored in my campaign image library?
      - What is the total image count for a client?
      instructions:
      - text: Count the images stored for client {clientId}.
        slots:
          clientId: path.clientId
      - text: Tell me the total number of images in client {clientId}.
        slots:
          clientId: path.clientId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/assets/images'].get
  update:
    x-apievangelist-phrasing:
      intent: List campaign images with dimensions
      effect: read
      questions:
      - Can I get every campaign image with its URL, width and height?
      - Is there a way to page through my images a batch at a time?
      instructions:
      - text: List the images for client {clientId}.
        slots:
          clientId: path.clientId
      - text: Show {limit} images for client {clientId} starting at offset {offset}.
        slots:
          limit: query.limit
          clientId: path.clientId
          offset: query.offset
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/assets/images'].post
  update:
    x-apievangelist-phrasing:
      intent: Upload an image to a Campaign client
      effect: write
      questions:
      - How do I upload an image file for use in mailings?
      - Can I add a campaign image from a file and give it a name?
      instructions:
      - text: Upload image {file} to client {clientId}.
        slots:
          file: requestBody.file
          clientId: path.clientId
      - text: Upload image {file} named {name} to the image library of client {clientId}.
        slots:
          file: requestBody.file
          name: requestBody.name
          clientId: path.clientId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/assets/images/{imageId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get details of one campaign image
      effect: read
      questions:
      - What is the URL and pixel size of a specific campaign image?
      - How can I look up a single image by its ID?
      instructions:
      - text: Get image {imageId} for client {clientId}.
        slots:
          imageId: path.imageId
          clientId: path.clientId
      - text: Show the name, URL and dimensions of image {imageId}.
        slots:
          imageId: path.imageId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/assets/images/{imageId}'].post
  update:
    x-apievangelist-phrasing:
      intent: Rename a campaign image
      effect: write
      questions:
      - Can I rename an image that is already uploaded?
      - How do I change a campaign image's name?
      instructions:
      - text: Rename image {imageId} in client {clientId} to {name}.
        slots:
          imageId: path.imageId
          clientId: path.clientId
          name: requestBody.name
      - text: Change the name of image {imageId} to {name}.
        slots:
          imageId: path.imageId
          name: requestBody.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/{clientId}/assets/images/{imageId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a campaign image
      effect: destructive
      questions:
      - How do I remove an image from my campaign image library?
      - Can I delete an image I uploaded by mistake?
      instructions:
      - text: Delete image {imageId} from client {clientId}.
        slots:
          imageId: path.imageId
          clientId: path.clientId
      - text: Remove campaign image {imageId}.
        slots:
          imageId: path.imageId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/assets'].get
  update:
    x-apievangelist-phrasing:
      intent: List assets in the CMP library
      effect: read
      questions:
      - What images, videos and raw files are in my Content Marketing Platform library?
      - Can I page through CMP library assets with a limit and offset?
      instructions:
      - text: List the assets in my CMP library.
      - text: Show {limit} CMP library assets, skipping the first {offset}.
        slots:
          limit: query.limit
          offset: query.offset
      method: generated
      generated: '2026-09-26'
- target: $.paths['/assets'].post
  update:
    x-apievangelist-phrasing:
      intent: Add an asset to the CMP library
      effect: write
      questions:
      - How do I upload a new file into the CMP asset library?
      - Can I set a title and description when adding a library asset?
      instructions:
      - text: Upload {file} to the CMP library with title {title}.
        slots:
          file: requestBody.file
          title: requestBody.title
      - text: Create a CMP library asset titled {title} described as {description}.
        slots:
          title: requestBody.title
          description: requestBody.description
      method: generated
      generated: '2026-09-26'
- target: $.paths['/assets/{assetId}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a CMP library asset
      effect: read
      questions:
      - How do I look up the details of one asset in the CMP library?
      - What metadata does a specific library asset have?
      instructions:
      - text: Get CMP asset {assetId}.
        slots:
          assetId: path.assetId
      - text: Show the details of library asset {assetId}.
        slots:
          assetId: path.assetId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/assets/{assetId}'].put
  update:
    x-apievangelist-phrasing:
      intent: Update a CMP asset's metadata
      effect: write
      questions:
      - Can I change the title or description of a library asset?
      - How do I add labels to an asset in the CMP library?
      instructions:
      - text: Retitle CMP asset {assetId} to {title}.
        slots:
          assetId: path.assetId
          title: requestBody.title
      - text: Set labels {labels} on library asset {assetId}.
        slots:
          labels: requestBody.labels
          assetId: path.assetId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/assets/{assetId}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Permanently delete a CMP asset
      effect: destructive
      questions:
      - How do I permanently remove an asset from the CMP library?
      - Is deleting a library asset reversible?
      instructions:
      - text: Delete CMP asset {assetId}.
        slots:
          assetId: path.assetId
      - text: Permanently remove library asset {assetId}.
        slots:
          assetId: path.assetId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/asset-urls/{asset_id}'].get
  update:
    x-apievangelist-phrasing:
      intent: Find the URL of an asset
      effect: read
      questions:
      - What is the hosted URL of an asset when all I have is its ID?
      - Can I resolve an asset ID to a link I can use?
      instructions:
      - text: Find the URL for asset {asset_id}.
        slots:
          asset_id: path.asset_id
      - text: Give me the link to asset {asset_id}.
        slots:
          asset_id: path.asset_id
      method: generated
      generated: '2026-09-26'