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.
View Overlay File View on GitHub Overlay Specification

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

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