dotCMS · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for dotCMS REST Templates API
19 actions
19 updates
phrasing
extends
openapi/dotcms-templates-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 19 · first 16 shown; the file carries all of them
$.info
$.paths['/api/vtl/{folder}'].get
$.paths['/api/vtl/{folder}'].put
$.paths['/api/vtl/{folder}'].post
$.paths['/api/vtl/{folder}'].delete
$.paths['/api/vtl/{folder}'].patch
$.paths['/api/vtl/{folder}/{pathParam}'].get
$.paths['/api/vtl/{folder}/{pathParam}'].put
$.paths['/api/vtl/{folder}/{pathParam}'].post
$.paths['/api/vtl/{folder}/{pathParam}'].delete
$.paths['/api/vtl/{folder}/{pathParam}'].patch
$.paths['/api/vtl/dynamic/{pathParam}'].get
$.paths['/api/vtl/dynamic/{pathParam}'].put
$.paths['/api/vtl/dynamic/{pathParam}'].post
$.paths['/api/vtl/dynamic/{pathParam}'].delete
$.paths['/api/vtl/dynamic/{pathParam}'].patch
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 Templates API
version: 1.0.0
extends: openapi/dotcms-templates-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: 18
- target: $.paths['/api/vtl/{folder}'].get
update:
x-apievangelist-phrasing:
intent: Run a scripted endpoint's GET Velocity file
effect: read
questions:
- How do I call the get.vtl script in one of my scripting API folders?
- Can a custom Velocity endpoint folder answer a plain GET request?
instructions:
- text: Call the GET script in Velocity endpoint folder {folder}.
slots:
folder: path.folder
- text: Read data from my custom scripting endpoint {folder} with a GET.
slots:
folder: path.folder
method: generated
generated: '2026-09-26'
- target: $.paths['/api/vtl/{folder}'].put
update:
x-apievangelist-phrasing:
intent: Send a multipart PUT to a scripted endpoint
effect: write
questions:
- How do I PUT files as multipart form data to a Velocity endpoint folder?
- Can my put.vtl script receive uploaded files?
instructions:
- text: Upload form files by PUT to the root of scripting folder {folder}.
slots:
folder: path.folder
- text: Replace data through the put.vtl script in {folder} with these form files.
slots:
folder: path.folder
method: generated
generated: '2026-09-26'
- target: $.paths['/api/vtl/{folder}'].post
update:
x-apievangelist-phrasing:
intent: Send a multipart POST to a scripted endpoint
effect: write
questions:
- How do I POST a form with files to one of my Velocity scripting folders?
- Can post.vtl in a custom endpoint handle multipart uploads?
instructions:
- text: Submit this multipart form by POST to the root of scripting folder {folder}.
slots:
folder: path.folder
- text: Submit files to the post.vtl script in {folder}.
slots:
folder: path.folder
method: generated
generated: '2026-09-26'
- target: $.paths['/api/vtl/{folder}'].delete
update:
x-apievangelist-phrasing:
intent: Run a scripted endpoint's DELETE Velocity file
effect: destructive
questions:
- How do I trigger the delete.vtl script of a custom Velocity endpoint?
- Can a scripting API folder handle HTTP DELETE requests?
instructions:
- text: Send a DELETE to scripting endpoint folder {folder}.
slots:
folder: path.folder
- text: Run the delete.vtl script in {folder}.
slots:
folder: path.folder
method: generated
generated: '2026-09-26'
- target: $.paths['/api/vtl/{folder}'].patch
update:
x-apievangelist-phrasing:
intent: Send a multipart PATCH to a scripted endpoint
effect: write
questions:
- How do I PATCH a scripting endpoint folder with multipart data?
- Does the patch.vtl script accept form uploads?
instructions:
- text: PATCH scripting folder {folder} with this multipart payload.
slots:
folder: path.folder
- text: Partially update data via the patch.vtl script in {folder}.
slots:
folder: path.folder
method: generated
generated: '2026-09-26'
- target: $.paths['/api/vtl/{folder}/{pathParam}'].get
update:
x-apievangelist-phrasing:
intent: Run a scripted GET with an extra path segment
effect: read
questions:
- Can my Velocity GET endpoint read an id from a sub-path after the folder?
- How do I pass a path value to get.vtl in a scripting folder?
instructions:
- text: GET {pathParam} from scripting endpoint {folder}.
slots:
pathParam: path.pathParam
folder: path.folder
- text: Call {folder}'s get.vtl for the item at sub-path {pathParam}.
slots:
folder: path.folder
pathParam: path.pathParam
method: generated
generated: '2026-09-26'
- target: $.paths['/api/vtl/{folder}/{pathParam}'].put
update:
x-apievangelist-phrasing:
intent: Multipart PUT to a scripted endpoint sub-path
effect: write
questions:
- How do I PUT multipart data to a specific item path under a Velocity endpoint?
- Can put.vtl receive both a sub-path value and uploaded files?
instructions:
- text: PUT a multipart upload to {pathParam} under scripting folder {folder}.
slots:
pathParam: path.pathParam
folder: path.folder
- text: Replace item {pathParam} via {folder}'s put.vtl with these files.
slots:
pathParam: path.pathParam
folder: path.folder
method: generated
generated: '2026-09-26'
- target: $.paths['/api/vtl/{folder}/{pathParam}'].post
update:
x-apievangelist-phrasing:
intent: Multipart POST to a scripted endpoint sub-path
effect: write
questions:
- How do I POST files to a sub-path of a custom Velocity endpoint?
- Can post.vtl read a path segment as well as form data?
instructions:
- text: POST this multipart form to {pathParam} in scripting folder {folder}.
slots:
pathParam: path.pathParam
folder: path.folder
- text: Submit files for item {pathParam} to {folder}'s post.vtl.
slots:
pathParam: path.pathParam
folder: path.folder
method: generated
generated: '2026-09-26'
- target: $.paths['/api/vtl/{folder}/{pathParam}'].delete
update:
x-apievangelist-phrasing:
intent: Scripted DELETE for an item sub-path
effect: destructive
questions:
- How do I send a DELETE for a specific item under a Velocity endpoint folder?
- Can delete.vtl read the id of the item from the URL path?
instructions:
- text: DELETE item {pathParam} through scripting folder {folder}.
slots:
pathParam: path.pathParam
folder: path.folder
- text: Run {folder}'s delete.vtl against sub-path {pathParam}.
slots:
folder: path.folder
pathParam: path.pathParam
method: generated
generated: '2026-09-26'
- target: $.paths['/api/vtl/{folder}/{pathParam}'].patch
update:
x-apievangelist-phrasing:
intent: Multipart PATCH to a scripted endpoint sub-path
effect: write
questions:
- How do I PATCH a single item path under a scripting endpoint with form data?
- Can patch.vtl take a sub-path plus multipart files?
instructions:
- text: PATCH item {pathParam} in scripting folder {folder} with this multipart payload.
slots:
pathParam: path.pathParam
folder: path.folder
- text: Partially update {pathParam} via {folder}'s patch.vtl.
slots:
pathParam: path.pathParam
folder: path.folder
method: generated
generated: '2026-09-26'
- target: $.paths['/api/vtl/dynamic/{pathParam}'].get
update:
x-apievangelist-phrasing:
intent: Evaluate inline Velocity via GET with a path value
effect: read
questions:
- Can I evaluate ad-hoc Velocity code with a GET and a path segment, no .vtl file needed?
- What role do I need to run inline VTL through the dynamic GET endpoint with a path?
instructions:
- text: Evaluate this inline VTL with a GET to dynamic path {pathParam}.
slots:
pathParam: path.pathParam
- text: Run my Velocity snippet via dynamic GET, passing {pathParam} in the URL.
slots:
pathParam: path.pathParam
method: generated
generated: '2026-09-26'
- target: $.paths['/api/vtl/dynamic/{pathParam}'].put
update:
x-apievangelist-phrasing:
intent: Evaluate inline Velocity via PUT with a path value
effect: write
questions:
- Can I PUT raw Velocity code to the dynamic endpoint along with a path segment?
- How do I run inline VTL as a PUT that also reads a value from the URL?
instructions:
- text: Evaluate this inline VTL with a PUT to dynamic path {pathParam}.
slots:
pathParam: path.pathParam
- text: Run my Velocity code as a dynamic PUT with {pathParam} in the URL.
slots:
pathParam: path.pathParam
method: generated
generated: '2026-09-26'
- target: $.paths['/api/vtl/dynamic/{pathParam}'].post
update:
x-apievangelist-phrasing:
intent: Evaluate inline Velocity via POST with a path value
effect: write
questions:
- How do I POST inline Velocity code to the dynamic endpoint with a path segment?
- Will a dynamic POST with a path return JSON if my code fills $dotJSON?
instructions:
- text: Evaluate this inline VTL with a POST to dynamic path {pathParam}.
slots:
pathParam: path.pathParam
- text: Run my Velocity script as a dynamic POST with {pathParam} in the URL.
slots:
pathParam: path.pathParam
method: generated
generated: '2026-09-26'
- target: $.paths['/api/vtl/dynamic/{pathParam}'].delete
update:
x-apievangelist-phrasing:
intent: Evaluate inline Velocity via DELETE with a path
effect: destructive
questions:
- Can I send inline Velocity code with an HTTP DELETE and a path segment?
- How do I run ad-hoc VTL as a DELETE request on the dynamic endpoint?
instructions:
- text: Evaluate this inline VTL with a DELETE to dynamic path {pathParam}.
slots:
pathParam: path.pathParam
- text: Run my Velocity code as a dynamic DELETE targeting {pathParam}.
slots:
pathParam: path.pathParam
method: generated
generated: '2026-09-26'
- target: $.paths['/api/vtl/dynamic/{pathParam}'].patch
update:
x-apievangelist-phrasing:
intent: Evaluate inline Velocity via PATCH with a path
effect: write
questions:
- Can I PATCH inline Velocity code to the dynamic endpoint with a path segment?
- How do I run ad-hoc VTL as a PATCH request?
instructions:
- text: Evaluate this inline VTL with a PATCH to dynamic path {pathParam}.
slots:
pathParam: path.pathParam
- text: Run my Velocity code as a dynamic PATCH on {pathParam}.
slots:
pathParam: path.pathParam
method: generated
generated: '2026-09-26'
- target: $.paths['/api/vtl/dynamic'].get
update:
x-apievangelist-phrasing:
intent: Evaluate inline Velocity via GET, no path
effect: read
questions:
- What's the simplest way to evaluate a Velocity snippet with a bare GET and no sub-path?
- Can I test VTL code on the dynamic root without writing a .vtl file?
instructions:
- text: Evaluate this Velocity snippet with a GET on the dynamic root.
- text: Run my VTL via the path-less dynamic GET and return the output.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/vtl/dynamic'].put
update:
x-apievangelist-phrasing:
intent: Evaluate inline Velocity via PUT, no path
effect: write
questions:
- Can I PUT Velocity code to the dynamic root with no extra path?
- How do I run inline VTL as a plain PUT on the dynamic endpoint?
instructions:
- text: Evaluate this Velocity snippet with a PUT on the dynamic root.
- text: Run my VTL via the path-less dynamic PUT.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/vtl/dynamic'].post
update:
x-apievangelist-phrasing:
intent: Evaluate inline Velocity via POST, no path
effect: write
questions:
- How do I POST raw VTL to the dynamic root and get the rendered result?
- Can a path-less dynamic POST return JSON built with $dotJSON?
instructions:
- text: Evaluate this Velocity snippet with a POST on the dynamic root.
- text: Run my VTL via the path-less dynamic POST and return the JSON.
method: generated
generated: '2026-09-26'