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'

Work with this as data

Every overlay here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for openapi overlays

4 MCP tools reach this
  • find_overlaysBrowse and filter every overlay in the catalog.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/dotcms-template-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"

Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.