dotCMS · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for dotCMS REST Apps API
13 actions
13 updates
phrasing
extends
openapi/dotcms-apps-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 13
$.info
$.paths['/api/v1/apps'].get
$.paths['/api/v1/apps'].post
$.paths['/api/v1/apps'].delete
$.paths['/api/v1/apps/{key}/{siteId}'].get
$.paths['/api/v1/apps/{key}/{siteId}'].put
$.paths['/api/v1/apps/{key}/{siteId}'].post
$.paths['/api/v1/apps/{key}/{siteId}'].delete
$.paths['/api/v1/apps/{key}'].get
$.paths['/api/v1/apps/{key}'].delete
$.paths['/api/v1/apps/export'].post
$.paths['/api/v1/apps/import'].post
$.paths['/api/v1/ema'].get
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 Apps API
version: 1.0.0
extends: openapi/dotcms-apps-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: 12
- target: $.paths['/api/v1/apps'].get
update:
x-apievangelist-phrasing:
intent: List available app integrations
effect: read
questions:
- Which third-party app integrations are available in dotCMS?
- Can I filter the list of apps by name?
instructions:
- text: List all available apps.
- text: Show apps matching {filter}.
slots:
filter: query.filter
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/apps'].post
update:
x-apievangelist-phrasing:
intent: Upload a new app descriptor
effect: write
questions:
- How do I add a new app integration by uploading its YAML descriptor?
- Can I register a custom app definition in dotCMS?
instructions:
- text: Upload this app descriptor file to create a new app.
- text: Register a custom app from the attached YAML descriptor.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/apps'].delete
update:
x-apievangelist-phrasing:
intent: Delete specific secrets of an app on a site
effect: destructive
questions:
- How do I remove just one secret from an app's configuration on a site?
- Can I delete individual app parameters without wiping the whole configuration?
instructions:
- text: Delete secrets {params} from app {key} on site {siteId}.
slots:
params: requestBody.params
key: requestBody.key
siteId: requestBody.siteId
- text: Remove only the {params} entries of app {key} for site {siteId}.
slots:
params: requestBody.params
key: requestBody.key
siteId: requestBody.siteId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/apps/{key}/{siteId}'].get
update:
x-apievangelist-phrasing:
intent: Get an app's configuration on a site
effect: read
questions:
- How is a particular app configured for one of my sites?
- Which secrets are set for an app on a specific site?
instructions:
- text: Show the configuration of app {key} on site {siteId}.
slots:
key: path.key
siteId: path.siteId
- text: Get app {key}'s secrets for site {siteId}.
slots:
key: path.key
siteId: path.siteId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/apps/{key}/{siteId}'].put
update:
x-apievangelist-phrasing:
intent: Update one secret of an app on a site
effect: write
questions:
- How do I change a single secret value for an app on a site?
- Can I update one app parameter without resending the others?
instructions:
- text: Update a single secret of app {key} on site {siteId}.
slots:
key: path.key
siteId: path.siteId
- text: Change one parameter value for app {key} on {siteId}.
slots:
key: path.key
siteId: path.siteId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/apps/{key}/{siteId}'].post
update:
x-apievangelist-phrasing:
intent: Save an app's full set of secrets on a site
effect: write
questions:
- How do I configure an app for a site by saving all its secrets?
- Can I set up an app integration on a specific site for the first time?
instructions:
- text: Save the full secret configuration for app {key} on site {siteId}.
slots:
key: path.key
siteId: path.siteId
- text: Configure app {key} on site {siteId} with these secrets.
slots:
key: path.key
siteId: path.siteId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/apps/{key}/{siteId}'].delete
update:
x-apievangelist-phrasing:
intent: Remove all of an app's secrets from a site
effect: destructive
questions:
- How do I wipe an app's entire configuration from one site?
- Can I unconfigure an app on a single site but keep it elsewhere?
instructions:
- text: Delete every secret for app {key} on site {siteId}.
slots:
key: path.key
siteId: path.siteId
- text: Unconfigure app {key} from site {siteId}.
slots:
key: path.key
siteId: path.siteId
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/apps/{key}'].get
update:
x-apievangelist-phrasing:
intent: Get an app and the sites it's configured on
effect: read
questions:
- Which sites have a given app configured?
- How do I look up an app by its key?
instructions:
- text: Get app {key} and its site configurations.
slots:
key: path.key
- text: Show which sites use app {key}.
slots:
key: path.key
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/apps/{key}'].delete
update:
x-apievangelist-phrasing:
intent: Delete an app and its configurations
effect: destructive
questions:
- How do I remove an app integration entirely?
- Can I delete an app's descriptor file along with its configuration?
instructions:
- text: Delete app {key}.
slots:
key: path.key
- text: Remove app {key} and set descriptor removal to {removeDescriptor}.
slots:
key: path.key
removeDescriptor: query.removeDescriptor
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/apps/export'].post
update:
x-apievangelist-phrasing:
intent: Export app secrets to an encrypted file
effect: read
questions:
- How do I export my app secrets so I can move them to another environment?
- Can I export secrets for only certain apps and sites, protected by a password?
instructions:
- text: Export all app secrets encrypted with password {password}.
slots:
password: requestBody.password
- text: Export secrets for {appKeysBySite} with password {password}, export all set to {exportAll}.
slots:
appKeysBySite: requestBody.appKeysBySite
password: requestBody.password
exportAll: requestBody.exportAll
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/apps/import'].post
update:
x-apievangelist-phrasing:
intent: Import app secrets from an exported file
effect: write
questions:
- How do I load app secrets exported from another dotCMS environment?
- Can I restore app configurations from a secrets export file?
instructions:
- text: Import app secrets from this exported file.
- text: Restore app configurations from the uploaded secrets export.
method: generated
generated: '2026-09-26'
- target: $.paths['/api/v1/ema'].get
update:
x-apievangelist-phrasing:
intent: Get the Edit Mode Anywhere configuration
effect: read
questions:
- Is Edit Mode Anywhere configured for the current site?
- What EMA settings are in place for editing a headless front end?
instructions:
- text: Show the Edit Mode Anywhere configuration.
- text: Get the EMA app details for the current site.
method: generated
generated: '2026-09-26'