dotCMS · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for dotCMS REST Personalization API

5 actions 5 updates phrasing extends openapi/dotcms-personalization-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 5

$.info
$.paths['/api/v1/personalization/pagepersonas'].post
$.paths['/api/v1/personalization/pagepersonas/page/{pageId}/personalization/{personalization}'].delete
$.paths['/api/personas/layout/{params}'].get
$.paths['/api/personas/sites/{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 dotCMS REST Personalization API
  version: 1.0.0
extends: openapi/dotcms-personalization-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: 4
- target: $.paths['/api/v1/personalization/pagepersonas'].post
  update:
    x-apievangelist-phrasing:
      intent: Personalize a page for a persona
      effect: write
      questions:
      - How do I create a persona-specific version of a page's content?
      - Does personalizing a page start from a copy of the default content?
      instructions:
      - text: Personalize page {pageId} for persona {personaTag}.
        slots:
          pageId: requestBody.pageId
          personaTag: requestBody.personaTag
      - text: Create a {personaTag} variation of the containers on page {pageId}.
        slots:
          personaTag: requestBody.personaTag
          pageId: requestBody.pageId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/personalization/pagepersonas/page/{pageId}/personalization/{personalization}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Remove a persona personalization from a page
      effect: destructive
      questions:
      - Can I delete a persona's custom version of a page?
      - Is it possible to remove the default personalization from a page?
      instructions:
      - text: Delete personalization {personalization} from page {pageId}.
        slots:
          personalization: path.personalization
          pageId: path.pageId
      - text: Remove the {personalization} persona content from page {pageId}.
        slots:
          personalization: path.personalization
          pageId: path.pageId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/personas/layout/{params}'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the personas layout (legacy)
      effect: read
      questions:
      - Is there a legacy endpoint for the personas portlet layout?
      - Can I load the persona admin layout by its params?
      instructions:
      - text: Get the personas layout for {params}.
        slots:
          params: path.params
      - text: Load the legacy persona layout with params {params}.
        slots:
          params: path.params
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/personas/sites/{id}'].get
  update:
    x-apievangelist-phrasing:
      intent: List personas for a site
      effect: read
      questions:
      - Which personas are defined for a given site?
      - Can I list personas by site ID using the older personas route?
      instructions:
      - text: List personas for site {id}.
        slots:
          id: path.id
      - text: Show the personas available on site {id}.
        slots:
          id: path.id
      method: generated
      generated: '2026-09-26'