Optimizely · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for Admin API V1 Content Managers API

11 actions 11 updates phrasing extends openapi/optimizely-content-managers-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 11

$.info
$.paths['/api/v1/admin/ContentManagers'].get
$.paths['/api/v1/admin/ContentManagers'].post
$.paths['/api/v1/admin/ContentManagers({id})'].get
$.paths['/api/v1/admin/ContentManagers({id})'].put
$.paths['/api/v1/admin/ContentManagers({id})'].delete
$.paths['/api/v1/admin/ContentManagers({id})'].patch
$.paths['/api/v1/admin/ContentManagers/Default.Default()'].get
$.paths['/api/v1/admin/contentmanagers/delete'].delete
$.paths['/api/v1/admin/contentmanagers({key})/contents({contentKey})'].get
$.paths['/api/v1/admin/contentmanagers({key})/customproperties({custompropertyKey})'].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 Admin API V1 Content Managers API
  version: 1.0.0
extends: openapi/optimizely-content-managers-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/ContentManagers'].get
  update:
    x-apievangelist-phrasing:
      intent: List content managers
      effect: read
      questions:
      - Which content managers are set up in the commerce admin?
      - Can I page through content managers and sort them by name?
      instructions:
      - text: List all content managers.
      - text: List content managers matching {filter}, skipping the first {skip}.
        slots:
          filter: query.$filter
          skip: query.$skip
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/ContentManagers'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a content manager
      effect: write
      questions:
      - How do I register a new content manager container for page content?
      - What does a new content manager need besides a name?
      instructions:
      - text: Create a content manager named {name}.
        slots:
          name: requestBody.name
      - text: Add content manager {name} to the admin.
        slots:
          name: requestBody.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/ContentManagers({id})'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a content manager by id
      effect: read
      questions:
      - Can I look up one content manager by its id?
      - Who created a particular content manager and when was it last modified?
      instructions:
      - text: Get content manager {id}.
        slots:
          id: path.id
      - text: Fetch content manager {id} selecting only {select}.
        slots:
          id: path.id
          select: query.$select
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/ContentManagers({id})'].put
  update:
    x-apievangelist-phrasing:
      intent: Replace a content manager
      effect: write
      questions:
      - Is there a way to overwrite a content manager record completely?
      - What does replacing a whole content manager entity involve?
      instructions:
      - text: Replace content manager {id} with a record named {name}.
        slots:
          id: path.id
          name: requestBody.name
      - text: Overwrite the full content manager {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/ContentManagers({id})'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a content manager
      effect: destructive
      questions:
      - Can I delete one content manager by id?
      - Does removing a single content manager honor an If-Match ETag?
      instructions:
      - text: Delete content manager {id}.
        slots:
          id: path.id
      - text: Delete content manager {id} only if its ETag matches {etag}.
        slots:
          id: path.id
          etag: header.If-Match
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/ContentManagers({id})'].patch
  update:
    x-apievangelist-phrasing:
      intent: Rename or update a content manager
      effect: write
      questions:
      - How do I rename an existing content manager without replacing it?
      - Can I patch just one field on a content manager?
      instructions:
      - text: Rename content manager {id} to {name}.
        slots:
          id: path.id
          name: requestBody.name
      - text: Patch content manager {id} with a new name {name}.
        slots:
          id: path.id
          name: requestBody.name
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/ContentManagers/Default.Default()'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a blank content manager template
      effect: read
      questions:
      - What default values does a new content manager start with?
      - Is there an empty content manager template available?
      instructions:
      - text: Get the default content manager template.
      - text: Show the starting field values for a new content manager.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/contentmanagers/delete'].delete
  update:
    x-apievangelist-phrasing:
      intent: Bulk delete content managers
      effect: destructive
      questions:
      - Can I delete many content managers in one request?
      - Is there a bulk delete that takes a list of content manager ids?
      instructions:
      - text: Bulk delete content managers {ids}.
        slots:
          ids: query.ids
      - text: 'Remove these content managers in one call: {ids}.'
        slots:
          ids: query.ids
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/contentmanagers({key})/contents({contentKey})'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a content item in a content manager
      effect: read
      questions:
      - Can I read one piece of content held by a content manager?
      - What does a single content revision under a content manager contain?
      instructions:
      - text: Get content {contentKey} from content manager {key}.
        slots:
          contentKey: path.contentKey
          key: path.key
      - text: Show content item {contentKey} stored under content manager {key}.
        slots:
          contentKey: path.contentKey
          key: path.key
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/admin/contentmanagers({key})/customproperties({custompropertyKey})'].get
  update:
    x-apievangelist-phrasing:
      intent: Get a custom property on a content manager
      effect: read
      questions:
      - How can I read a custom property attached to a content manager?
      - Can extra metadata on a content manager be fetched by property id?
      instructions:
      - text: Get custom property {custompropertyKey} on content manager {key}.
        slots:
          custompropertyKey: path.custompropertyKey
          key: path.key
      - text: Read content manager {key}'s custom field {custompropertyKey}.
        slots:
          key: path.key
          custompropertyKey: path.custompropertyKey
      method: generated
      generated: '2026-09-26'