dotCMS · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for dotCMS REST Variants API

6 actions 6 updates phrasing extends openapi/dotcms-variants-api-openapi.yml
Generated by API Evangelist Written by API Evangelist tooling for dotCMS's API. It is a proposal applied on top of the contract, not a document dotCMS publishes.
View Overlay File View on GitHub Overlay Specification

What the actions change

x-apievangelist-phrasing

Targets 6

$.info
$.paths['/api/v1/variants'].post
$.paths['/api/v1/variants/{variantName}/_promote'].put
$.paths['/api/v1/versionables/{versionableInode}/_bringback'].put
$.paths['/api/v1/versionables/{versionableInode}'].delete
$.paths['/api/v1/versionables/{versionableInodeOrIdentifier}'].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 dotCMS REST Variants API
  version: 1.0.0
extends: openapi/dotcms-variants-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: 5
- target: $.paths['/api/v1/variants'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a content variant
      effect: write
      questions:
      - How do I create a content variant for A/B testing?
      - Can I give a new variant a name and description?
      instructions:
      - text: Create a content variant named {name}.
        slots:
          name: requestBody.name
      - text: Add variant {name} described as {description}.
        slots:
          name: requestBody.name
          description: requestBody.description
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/variants/{variantName}/_promote'].put
  update:
    x-apievangelist-phrasing:
      intent: Promote a variant to default
      effect: destructive
      questions:
      - How do I make a winning variant the live default content?
      - What happens to the default content when a variant is promoted?
      instructions:
      - text: Promote variant {variantName} to be the default.
        slots:
          variantName: path.variantName
      - text: Make variant {variantName} live for all users.
        slots:
          variantName: path.variantName
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/versionables/{versionableInode}/_bringback'].put
  update:
    x-apievangelist-phrasing:
      intent: Restore an older version
      effect: write
      questions:
      - How do I roll content back to a previous version?
      - Can I bring back an older version by its inode?
      instructions:
      - text: Bring back version {versionableInode}.
        slots:
          versionableInode: path.versionableInode
      - text: Restore the content to the version with inode {versionableInode}.
        slots:
          versionableInode: path.versionableInode
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/versionables/{versionableInode}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete a specific version
      effect: destructive
      questions:
      - How do I delete one old version from an item's history?
      - Can I remove a version by its inode?
      instructions:
      - text: Delete version {versionableInode}.
        slots:
          versionableInode: path.versionableInode
      - text: Remove the historical version with inode {versionableInode}.
        slots:
          versionableInode: path.versionableInode
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/versionables/{versionableInodeOrIdentifier}'].get
  update:
    x-apievangelist-phrasing:
      intent: Look up a version by inode or identifier
      effect: read
      questions:
      - How do I look up a versioned item by inode or identifier?
      - What versions exist for a piece of content?
      instructions:
      - text: Find the versionable {versionableInodeOrIdentifier}.
        slots:
          versionableInodeOrIdentifier: path.versionableInodeOrIdentifier
      - text: Show version details for inode or identifier {versionableInodeOrIdentifier}.
        slots:
          versionableInodeOrIdentifier: path.versionableInodeOrIdentifier
      method: generated
      generated: '2026-09-26'