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

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

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