dotCMS · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for dotCMS REST Template API

15 actions 15 updates phrasing extends openapi/dotcms-template-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 15

$.info
$.paths['/api/v1/templates/_archive'].put
$.paths['/api/v1/templates/{templateId}/_copy'].put
$.paths['/api/v1/templates'].get
$.paths['/api/v1/templates'].put
$.paths['/api/v1/templates'].post
$.paths['/api/v1/templates'].delete
$.paths['/api/v1/templates/image'].post
$.paths['/api/v1/templates/{templateId}/live'].get
$.paths['/api/v1/templates/{templateId}/working'].get
$.paths['/api/v1/templates/_publish'].put
$.paths['/api/v1/templates/_savepublish'].put
$.paths['/api/v1/templates/draft'].put
$.paths['/api/v1/templates/_unarchive'].put
$.paths['/api/v1/templates/_unpublish'].put

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 Template API
  version: 1.0.0
extends: openapi/dotcms-template-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['/api/v1/templates/_archive'].put
  update:
    x-apievangelist-phrasing:
      intent: Archive templates in bulk
      effect: write
      questions:
      - How do I archive several page templates at once?
      - Will archiving a batch of templates report which ones failed?
      instructions:
      - text: Archive the templates in my list.
      - text: Bulk-archive these template identifiers and report any failures.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/templates/{templateId}/_copy'].put
  update:
    x-apievangelist-phrasing:
      intent: Copy a template
      effect: write
      questions:
      - How do I duplicate an existing page template?
      - Does copying a template give it a new identifier?
      instructions:
      - text: Copy template {templateId}.
        slots:
          templateId: path.templateId
      - text: Make a duplicate of template {templateId} as a new working version.
        slots:
          templateId: path.templateId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/templates'].get
  update:
    x-apievangelist-phrasing:
      intent: List templates
      effect: read
      questions:
      - Which page templates can I use on my site?
      - Can I search templates by title across all sites?
      - How do I include archived templates in the list?
      instructions:
      - text: List my templates.
      - text: List templates matching {filter} on site {host}.
        slots:
          filter: query.filter
          host: query.host
      - text: Show {per_page} templates per page sorted by {orderby}.
        slots:
          per_page: query.per_page
          orderby: query.orderby
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/templates'].put
  update:
    x-apievangelist-phrasing:
      intent: Update an existing template
      effect: write
      questions:
      - How do I change the layout or body of a template that already exists?
      - Can I update a template without publishing the change?
      instructions:
      - text: Update template {identifier} with title {title}.
        slots:
          identifier: requestBody.identifier
          title: requestBody.title
      - text: Save a new working version of existing template {identifier} titled {title} with layout {layout}.
        slots:
          identifier: requestBody.identifier
          title: requestBody.title
          layout: requestBody.layout
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/templates'].post
  update:
    x-apievangelist-phrasing:
      intent: Create a new template
      effect: write
      questions:
      - How do I create a new page template in dotCMS?
      - Can I create a template from a designed layout with a theme?
      instructions:
      - text: Create a template titled {title}.
        slots:
          title: requestBody.title
      - text: Create template {title} on site {siteId} using theme {theme}.
        slots:
          title: requestBody.title
          siteId: requestBody.siteId
          theme: requestBody.theme
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/templates'].delete
  update:
    x-apievangelist-phrasing:
      intent: Delete templates in bulk
      effect: destructive
      questions:
      - Can I permanently delete templates that pages no longer use?
      - Why can't I delete a template that isn't archived?
      instructions:
      - text: Delete the archived templates in my list.
      - text: Permanently remove these template identifiers and report failures.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/templates/image'].post
  update:
    x-apievangelist-phrasing:
      intent: Get a template's thumbnail image info
      effect: read
      questions:
      - Which image is attached to a template as its preview?
      - Can I get the name and file type of a template's thumbnail?
      instructions:
      - text: Get the image linked to template {templateId}.
        slots:
          templateId: requestBody.templateId
      - text: Show the thumbnail metadata for template {templateId}.
        slots:
          templateId: requestBody.templateId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/templates/{templateId}/live'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the live version of a template
      effect: read
      questions:
      - What does the published version of a template contain?
      - Is there a live version of this template yet?
      instructions:
      - text: Get the live version of template {templateId}.
        slots:
          templateId: path.templateId
      - text: Show published template {templateId}.
        slots:
          templateId: path.templateId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/templates/{templateId}/working'].get
  update:
    x-apievangelist-phrasing:
      intent: Get the working draft of a template
      effect: read
      questions:
      - How do I see the latest unpublished draft of a template?
      - Can I load a template's working copy by its identifier?
      instructions:
      - text: Get the working version of template {templateId}.
        slots:
          templateId: path.templateId
      - text: Show the latest draft of template {templateId}.
        slots:
          templateId: path.templateId
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/templates/_publish'].put
  update:
    x-apievangelist-phrasing:
      intent: Publish templates in bulk
      effect: write
      questions:
      - How do I publish several templates at once?
      - Can archived templates be published in a batch?
      instructions:
      - text: Publish the templates in my list.
      - text: Bulk-publish these template identifiers and summarize failures.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/templates/_savepublish'].put
  update:
    x-apievangelist-phrasing:
      intent: Save and publish a template in one step
      effect: write
      questions:
      - Can I save a template and make it live in a single action?
      - Does save-and-publish create a template if I don't pass an identifier?
      instructions:
      - text: Save and publish template {title}.
        slots:
          title: requestBody.title
      - text: Save template {identifier} titled {title} and publish it immediately.
        slots:
          identifier: requestBody.identifier
          title: requestBody.title
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/templates/draft'].put
  update:
    x-apievangelist-phrasing:
      intent: Save a template as a draft
      effect: write
      questions:
      - How do I save template edits as a draft without publishing?
      - Can I keep a draft version of a template separate from the live one?
      instructions:
      - text: Save a draft of template {identifier} titled {title}.
        slots:
          identifier: requestBody.identifier
          title: requestBody.title
      - text: Store draft changes to template {identifier} titled {title} with body {body}.
        slots:
          identifier: requestBody.identifier
          title: requestBody.title
          body: requestBody.body
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/templates/_unarchive'].put
  update:
    x-apievangelist-phrasing:
      intent: Unarchive templates in bulk
      effect: write
      questions:
      - How do I restore archived templates?
      - Can I unarchive several templates at the same time?
      instructions:
      - text: Unarchive the templates in my list.
      - text: Restore these archived template identifiers.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/templates/_unpublish'].put
  update:
    x-apievangelist-phrasing:
      intent: Unpublish templates in bulk
      effect: write
      questions:
      - How do I take several templates out of live status?
      - Can I unpublish a batch of templates at once?
      instructions:
      - text: Unpublish the templates in my list.
      - text: Bulk-unpublish these template identifiers.
      method: generated
      generated: '2026-09-26'