dotCMS · OpenAPI Overlay 1.0.0

API Evangelist conversational phrasing for dotCMS REST OSGi Plugins API

16 actions 16 updates phrasing extends openapi/dotcms-osgi-plugins-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 16

$.info
$.paths['/api/osgi/getInstalledBundles/{params}'].get
$.paths['/api/osgi/_processExports/{bundle}'].get
$.paths['/api/osgi'].post
$.paths['/api/v1/osgi/jar/{jar}/_deploy'].put
$.paths['/api/v1/osgi/available-plugins'].get
$.paths['/api/v1/osgi/extra-packages'].get
$.paths['/api/v1/osgi/extra-packages'].put
$.paths['/api/v1/osgi'].get
$.paths['/api/v1/osgi'].post
$.paths['/api/v1/osgi/dotsystem'].get
$.paths['/api/v1/osgi/_processExports/{bundle}'].get
$.paths['/api/v1/osgi/_restart'].put
$.paths['/api/v1/osgi/jar/{jar}/_start'].put
$.paths['/api/v1/osgi/jar/{jar}/_stop'].put
$.paths['/api/v1/osgi/jar/{jar}'].delete

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 OSGi Plugins API
  version: 1.0.0
extends: openapi/dotcms-osgi-plugins-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: 15
- target: $.paths['/api/osgi/getInstalledBundles/{params}'].get
  update:
    x-apievangelist-phrasing:
      intent: List installed OSGi bundles (legacy endpoint)
      effect: read
      questions:
      - Is there an older path-parameter endpoint for listing installed OSGi bundles?
      - Can I list plugins through the legacy /api/osgi route?
      instructions:
      - text: List installed OSGi bundles through the legacy endpoint with params {params}.
        slots:
          params: path.params
      - text: Use the old OSGi bundle listing with {params}.
        slots:
          params: path.params
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/osgi/_processExports/{bundle}'].get
  update:
    x-apievangelist-phrasing:
      intent: Process a bundle's exports (legacy endpoint)
      effect: read
      questions:
      - Can I trigger export processing for a bundle using the legacy OSGi route?
      - Where is the older v0 endpoint for processing a plugin's exported packages?
      instructions:
      - text: Process exports for bundle {bundle} via the legacy OSGi endpoint.
        slots:
          bundle: path.bundle
      - text: Run the old process-exports call for plugin {bundle}.
        slots:
          bundle: path.bundle
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/osgi'].post
  update:
    x-apievangelist-phrasing:
      intent: Upload plugin bundles (legacy endpoint)
      effect: write
      questions:
      - Is there a legacy multipart endpoint for uploading OSGi plugins?
      - Can I still push plugin JARs through the unversioned /api/osgi path?
      instructions:
      - text: Upload these plugin JARs through the legacy OSGi endpoint.
      - text: Push this bundle file using the unversioned OSGi upload route.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/osgi/jar/{jar}/_deploy'].put
  update:
    x-apievangelist-phrasing:
      intent: Deploy an uploaded plugin JAR
      effect: write
      questions:
      - How do I deploy a plugin JAR that's already been uploaded?
      - Can I activate one specific OSGi JAR by its file name?
      instructions:
      - text: Deploy plugin jar {jar}.
        slots:
          jar: path.jar
      - text: Install OSGi bundle {jar} into the framework.
        slots:
          jar: path.jar
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/osgi/available-plugins'].get
  update:
    x-apievangelist-phrasing:
      intent: List plugins available to deploy
      effect: read
      questions:
      - Which plugin JARs are sitting in the upload folder waiting to be deployed?
      - What OSGi plugins are available but not yet installed?
      instructions:
      - text: List the plugins available for deployment.
      - text: Show undeployed OSGi plugin JARs.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/osgi/extra-packages'].get
  update:
    x-apievangelist-phrasing:
      intent: View the OSGi extra packages list
      effect: read
      questions:
      - Which extra Java packages does dotCMS export to OSGi plugins?
      - What's in the OSGi extra packages configuration right now?
      instructions:
      - text: Show the current OSGi extra packages.
      - text: List the packages exported to plugins by the host.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/osgi/extra-packages'].put
  update:
    x-apievangelist-phrasing:
      intent: Change the OSGi extra packages list
      effect: write
      questions:
      - How do I expose an additional Java package to my OSGi plugins?
      - Can I overwrite the extra packages list that plugins import from?
      instructions:
      - text: Set the OSGi extra packages to {packages}.
        slots:
          packages: requestBody.packages
      - text: Update extra packages so plugins can import {packages}.
        slots:
          packages: requestBody.packages
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/osgi'].get
  update:
    x-apievangelist-phrasing:
      intent: List installed OSGi bundles
      effect: read
      questions:
      - Which plugins are installed in the OSGi framework and what state are they in?
      - Can I hide system bundles when listing installed plugins?
      instructions:
      - text: List all installed OSGi bundles.
      - text: List installed plugins, ignoring system bundles {ignoresystembundles}.
        slots:
          ignoresystembundles: query.ignoresystembundles
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/osgi'].post
  update:
    x-apievangelist-phrasing:
      intent: Upload plugin JARs to the OSGi framework
      effect: write
      questions:
      - Does a successful plugin upload mean the plugin is already live?
      - Which system events tell me an uploaded OSGi bundle finished loading?
      instructions:
      - text: Upload these plugin JARs and schedule them for deployment.
      - text: Upload this OSGi bundle and watch for the bundles-loaded event.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/osgi/dotsystem'].get
  update:
    x-apievangelist-phrasing:
      intent: List dotCMS system OSGi bundles
      effect: read
      questions:
      - Which bundles are installed in the dotCMS system OSGi framework?
      - Can I see core system bundles separately from my own plugins?
      instructions:
      - text: List the bundles in the dot system OSGi framework.
      - text: Show dotsystem bundles with ignore-system set to {ignoresystembundles}.
        slots:
          ignoresystembundles: query.ignoresystembundles
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/osgi/_processExports/{bundle}'].get
  update:
    x-apievangelist-phrasing:
      intent: Process a bundle's exported packages
      effect: read
      questions:
      - How do I make dotCMS pick up the packages a new plugin exports?
      - Can I process the exports of one bundle without restarting?
      instructions:
      - text: Process exports for bundle {bundle}.
        slots:
          bundle: path.bundle
      - text: Register exported packages from plugin {bundle}.
        slots:
          bundle: path.bundle
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/osgi/_restart'].put
  update:
    x-apievangelist-phrasing:
      intent: Restart the OSGi framework
      effect: write
      questions:
      - How do I restart the whole plugin framework after changing packages?
      - Can I reload all OSGi plugins without restarting dotCMS?
      instructions:
      - text: Restart the OSGi framework.
      - text: Reload every plugin by restarting OSGi.
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/osgi/jar/{jar}/_start'].put
  update:
    x-apievangelist-phrasing:
      intent: Start an installed plugin bundle
      effect: write
      questions:
      - Can I start a stopped OSGi plugin?
      - How do I bring a deployed bundle back to active?
      instructions:
      - text: Start plugin bundle {jar}.
        slots:
          jar: path.jar
      - text: Activate the stopped OSGi bundle {jar}.
        slots:
          jar: path.jar
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/osgi/jar/{jar}/_stop'].put
  update:
    x-apievangelist-phrasing:
      intent: Stop a running plugin bundle
      effect: write
      questions:
      - How do I temporarily disable a plugin without removing it?
      - Can I stop a running OSGi bundle and start it again later?
      instructions:
      - text: Stop plugin bundle {jar}.
        slots:
          jar: path.jar
      - text: Pause the running OSGi bundle {jar} but keep it installed.
        slots:
          jar: path.jar
      method: generated
      generated: '2026-09-26'
- target: $.paths['/api/v1/osgi/jar/{jar}'].delete
  update:
    x-apievangelist-phrasing:
      intent: Undeploy a plugin bundle
      effect: destructive
      questions:
      - How do I completely remove a plugin from dotCMS?
      - What happens to a plugin JAR when I undeploy it?
      instructions:
      - text: Undeploy plugin {jar}.
        slots:
          jar: path.jar
      - text: Remove OSGi bundle {jar} from the framework.
        slots:
          jar: path.jar
      method: generated
      generated: '2026-09-26'