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.
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
# 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'