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