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