# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand. overlay: 1.0.0 info: title: API Evangelist conversational phrasing for Kibana Elastic Package Manager (EPM) API version: 1.0.0 extends: openapi/elk-stack-elastic-package-manager-epm-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: 36 - target: $.paths['/api/fleet/epm/bulk_assets'].post update: x-apievangelist-phrasing: intent: Fetch several Kibana saved objects by asset ID effect: read questions: - Can I pull the definitions of several integration assets like dashboards and visualizations in one call? - Which Kibana saved objects correspond to a list of asset IDs installed by Fleet packages? instructions: - text: Look up the Kibana assets with IDs {assetIds} in one bulk request. slots: assetIds: requestBody.assetIds - text: Fetch the saved object details for asset IDs {assetIds} that integrations installed. slots: assetIds: requestBody.assetIds method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/categories'].get update: x-apievangelist-phrasing: intent: List integration categories effect: read questions: - What categories are Fleet integrations grouped into, like security or observability? - Can the integration category list include prerelease packages too? instructions: - text: List every integration category in the Fleet package registry. - text: Show integration categories, including prerelease packages when {prerelease} is true. slots: prerelease: query.prerelease method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/custom_integrations'].post update: x-apievangelist-phrasing: intent: Create a custom integration effect: write questions: - How do I build my own custom Fleet integration with its own datasets? - Can I define the data streams for a homegrown integration when I create it? instructions: - text: Create a custom integration named {integrationName} with datasets {datasets}. slots: integrationName: requestBody.integrationName datasets: requestBody.datasets - text: Register new custom integration {integrationName} and overwrite any existing one with force {force}. slots: integrationName: requestBody.integrationName force: requestBody.force method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/custom_integrations/{pkgName}'].put update: x-apievangelist-phrasing: intent: Update a custom integration's readme and categories effect: write questions: - Can I change the README text of a custom integration I already built? - How can I recategorize an existing custom integration? instructions: - text: Replace the README of custom integration {pkgName} with {readMeData}. slots: pkgName: path.pkgName readMeData: requestBody.readMeData - text: Set the categories of my custom integration {pkgName} to {categories}, keeping readme {readMeData}. slots: pkgName: path.pkgName categories: requestBody.categories readMeData: requestBody.readMeData method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/packages'].get update: x-apievangelist-phrasing: intent: Browse available integration packages effect: read questions: - What integrations are available in the Fleet package registry? - Can I filter the integration catalog down to a single category? - Is there a way to see how many package policies use each integration while browsing? instructions: - text: List all integration packages in the {category} category. slots: category: query.category - text: Browse the full integration catalog with package policy counts included. method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/packages'].post update: x-apievangelist-phrasing: intent: Install an integration from an uploaded archive effect: write questions: - How do I install an integration package from a zip file I have locally instead of the registry? - Can I upload a package archive and skip rolling over its data streams? instructions: - text: Install the integration package I'm uploading as an archive file. - text: Upload and install this package zip, skipping data stream rollover set to {skipDataStreamRollover}. slots: skipDataStreamRollover: query.skipDataStreamRollover method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/packages/_bulk'].post update: x-apievangelist-phrasing: intent: Install several integration packages at once effect: write questions: - Can I install a whole list of integrations from the registry in a single request? - Is it possible to bulk install packages even when an outdated version is requested? instructions: - text: 'Install these integration packages together: {packages}.' slots: packages: requestBody.packages - text: Bulk install packages {packages}, allowing outdated versions {allow_outdated_version}. slots: packages: requestBody.packages allow_outdated_version: requestBody.allow_outdated_version method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/packages/_bulk_namespace_customization'].post update: x-apievangelist-phrasing: intent: Toggle namespace customization for many packages effect: write questions: - Can I turn on namespace-level customization for several integrations at once? - Which namespaces can I enable or disable per-namespace customization for across packages? instructions: - text: Enable namespace-level customization for namespaces {enable} on packages {packages}. slots: enable: requestBody.enable packages: requestBody.packages - text: Disable namespace customization for {disable} across packages {packages}. slots: disable: requestBody.disable packages: requestBody.packages method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/packages/_bulk_rollback'].post update: x-apievangelist-phrasing: intent: Roll back several packages to prior versions effect: write questions: - Can I revert a batch of integrations to their previous versions after a bad upgrade? - Does a bulk package rollback run as a background task I can track? instructions: - text: Roll back packages {packages} to their previously installed versions. slots: packages: requestBody.packages - text: Start a bulk rollback task for integrations {packages}. slots: packages: requestBody.packages method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/packages/_bulk_rollback/{taskId}'].get update: x-apievangelist-phrasing: intent: Check progress of a bulk package rollback effect: read questions: - Did my bulk package rollback finish, and which packages failed to revert? - Where can I see the results of a rollback task I started for multiple integrations? instructions: - text: Show the status of bulk rollback task {taskId}. slots: taskId: path.taskId - text: Check whether rollback task {taskId} has completed for all packages. slots: taskId: path.taskId method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/packages/_bulk_uninstall'].post update: x-apievangelist-phrasing: intent: Uninstall several integration packages effect: destructive questions: - Can I remove many integrations from Fleet in one go? - Is there a force option when bulk uninstalling packages that are still in use? instructions: - text: Uninstall integration packages {packages} in bulk. slots: packages: requestBody.packages - text: Force a bulk uninstall of packages {packages} with force {force}. slots: packages: requestBody.packages force: requestBody.force method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/packages/_bulk_uninstall/{taskId}'].get update: x-apievangelist-phrasing: intent: Check progress of a bulk package uninstall effect: read questions: - Has my bulk uninstall of integrations completed yet? - Which packages in a bulk uninstall task hit errors? instructions: - text: Get the status of bulk uninstall task {taskId}. slots: taskId: path.taskId - text: Report any failed packages in uninstall task {taskId}. slots: taskId: path.taskId method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/packages/_bulk_upgrade'].post update: x-apievangelist-phrasing: intent: Upgrade several integration packages effect: write questions: - Can I upgrade a batch of installed integrations to their latest versions at once? - Will a bulk package upgrade also upgrade the package policies that use them? instructions: - text: Upgrade packages {packages} to their newest versions. slots: packages: requestBody.packages - text: 'Bulk upgrade {packages} and upgrade their package policies too: {upgrade_package_policies}.' slots: packages: requestBody.packages upgrade_package_policies: requestBody.upgrade_package_policies method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/packages/_bulk_upgrade/{taskId}'].get update: x-apievangelist-phrasing: intent: Check progress of a bulk package upgrade effect: read questions: - Is the bulk integration upgrade I kicked off still running? - What were the per-package results of an upgrade task? instructions: - text: Show the progress of bulk upgrade task {taskId}. slots: taskId: path.taskId - text: List packages that failed in upgrade task {taskId}. slots: taskId: path.taskId method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/packages/{pkgName}'].get update: x-apievangelist-phrasing: intent: Get details of an integration package effect: read questions: - What does the latest version of a given integration include, and is it installed? - Can I get package metadata without naming a specific version? instructions: - text: Show details for the {pkgName} integration package. slots: pkgName: path.pkgName - text: Get full package info for {pkgName}, including metadata. slots: pkgName: path.pkgName method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/packages/{pkgName}'].put update: x-apievangelist-phrasing: intent: Change settings for an installed package effect: write questions: - How do I make an integration's policies upgrade automatically when the package updates? - Can I turn on namespace customization for an installed package without specifying its version? instructions: - text: 'Keep package policies up to date automatically for {pkgName}: {keepPoliciesUpToDate}.' slots: pkgName: path.pkgName keepPoliciesUpToDate: requestBody.keepPoliciesUpToDate - text: Enable namespace customization for {namespace_customization_enabled_for} on package {pkgName}. slots: pkgName: path.pkgName namespace_customization_enabled_for: requestBody.namespace_customization_enabled_for method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/packages/{pkgName}'].post update: x-apievangelist-phrasing: intent: Install the latest version of a registry package effect: write questions: - How do I install the newest release of an integration straight from the registry? - Can I install a package even if its dependency check would fail? instructions: - text: Install the latest {pkgName} integration from the package registry. slots: pkgName: path.pkgName - text: Install {pkgName} from the registry, skipping the dependency check {skipDependencyCheck}. slots: pkgName: path.pkgName skipDependencyCheck: query.skipDependencyCheck method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/packages/{pkgName}'].delete update: x-apievangelist-phrasing: intent: Uninstall an integration package effect: destructive questions: - How can I uninstall an integration without naming the version I have installed? - Can I force removal of a package that still has policies attached? instructions: - text: Uninstall the {pkgName} integration. slots: pkgName: path.pkgName - text: Force uninstall package {pkgName} with force set to {force}. slots: pkgName: path.pkgName force: query.force method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/packages/{pkgName}/{pkgVersion}'].get update: x-apievangelist-phrasing: intent: Get details of a specific package version effect: read questions: - What is in a particular version of an integration before I install it? - Can I inspect an unverified package version's info? instructions: - text: Show package {pkgName} at version {pkgVersion}. slots: pkgName: path.pkgName pkgVersion: path.pkgVersion - text: Get info for {pkgName} {pkgVersion}, ignoring signature verification {ignoreUnverified}. slots: pkgName: path.pkgName pkgVersion: path.pkgVersion ignoreUnverified: query.ignoreUnverified method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/packages/{pkgName}/{pkgVersion}'].put update: x-apievangelist-phrasing: intent: Change settings for a specific package version effect: write questions: - Can I change auto-update policy behavior for one pinned version of an integration? - Which settings can I update when targeting a package by name and version? instructions: - text: For {pkgName} version {pkgVersion}, set keep policies up to date to {keepPoliciesUpToDate}. slots: pkgName: path.pkgName pkgVersion: path.pkgVersion keepPoliciesUpToDate: requestBody.keepPoliciesUpToDate - text: Apply namespace customization settings {namespace_customization_settings} to {pkgName} {pkgVersion}. slots: pkgName: path.pkgName pkgVersion: path.pkgVersion namespace_customization_settings: requestBody.namespace_customization_settings method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/packages/{pkgName}/{pkgVersion}'].post update: x-apievangelist-phrasing: intent: Install a specific version of a registry package effect: write questions: - How do I install an older, exact version of an integration from the registry? - Can I ignore package constraints when installing a pinned version? instructions: - text: Install {pkgName} version {pkgVersion} from the registry. slots: pkgName: path.pkgName pkgVersion: path.pkgVersion - text: Install {pkgName} {pkgVersion} even if it is outdated, allow_outdated_version {allow_outdated_version}. slots: pkgName: path.pkgName pkgVersion: path.pkgVersion allow_outdated_version: requestBody.allow_outdated_version method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/packages/{pkgName}/{pkgVersion}'].delete update: x-apievangelist-phrasing: intent: Uninstall a specific package version effect: destructive questions: - Can I uninstall one exact version of an integration by name and version number? - What happens if I force-delete a versioned package still used by policies? instructions: - text: Uninstall {pkgName} version {pkgVersion}. slots: pkgName: path.pkgName pkgVersion: path.pkgVersion - text: Force removal of package {pkgName} at {pkgVersion} with force {force}. slots: pkgName: path.pkgName pkgVersion: path.pkgVersion force: query.force method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/packages/{pkgName}/{pkgVersion}/{filePath}'].get update: x-apievangelist-phrasing: intent: Read a file from inside a package effect: read questions: - Can I view the raw contents of a file bundled in an integration package, like its manifest? - Where do I fetch a specific file path from a package version? instructions: - text: Show file {filePath} from package {pkgName} version {pkgVersion}. slots: filePath: path.filePath pkgName: path.pkgName pkgVersion: path.pkgVersion - text: Download {filePath} inside the {pkgName} {pkgVersion} package. slots: filePath: path.filePath pkgName: path.pkgName pkgVersion: path.pkgVersion method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/packages/{pkgName}/{pkgVersion}/datastream_assets'].delete update: x-apievangelist-phrasing: intent: Delete data stream assets for a package policy effect: destructive questions: - Can I clean up the data stream assets a package created for one package policy? - Which package policy do I need to name to remove a package's datastream assets? instructions: - text: Delete datastream assets of {pkgName} {pkgVersion} for package policy {packagePolicyId}. slots: pkgName: path.pkgName pkgVersion: path.pkgVersion packagePolicyId: query.packagePolicyId - text: Remove the data stream index templates and pipelines {pkgName} {pkgVersion} made for policy {packagePolicyId}. slots: pkgName: path.pkgName pkgVersion: path.pkgVersion packagePolicyId: query.packagePolicyId method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/packages/{pkgName}/{pkgVersion}/dependencies'].get update: x-apievangelist-phrasing: intent: List a package version's dependencies effect: read questions: - Which other packages does a given integration version depend on? - Do I need to install anything else before this integration version? instructions: - text: List dependencies of {pkgName} version {pkgVersion}. slots: pkgName: path.pkgName pkgVersion: path.pkgVersion - text: Show what packages {pkgName} {pkgVersion} requires. slots: pkgName: path.pkgName pkgVersion: path.pkgVersion method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/packages/{pkgName}/{pkgVersion}/kibana_assets'].post update: x-apievangelist-phrasing: intent: Install a package's Kibana assets effect: write questions: - How do I install an integration's dashboards and saved objects into additional Kibana spaces? - Can I reinstall a package's Kibana assets by forcing it? instructions: - text: Install Kibana assets for {pkgName} {pkgVersion} into spaces {space_ids}. slots: pkgName: path.pkgName pkgVersion: path.pkgVersion space_ids: requestBody.space_ids - text: Force reinstall the dashboards of {pkgName} {pkgVersion} with force {force}. slots: pkgName: path.pkgName pkgVersion: path.pkgVersion force: requestBody.force method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/packages/{pkgName}/{pkgVersion}/kibana_assets'].delete update: x-apievangelist-phrasing: intent: Remove a package's Kibana assets effect: destructive questions: - Can I delete just the dashboards and visualizations an integration installed, keeping the package? - How are an integration's Kibana saved objects removed from the current space? instructions: - text: Delete the Kibana assets installed by {pkgName} {pkgVersion}. slots: pkgName: path.pkgName pkgVersion: path.pkgVersion - text: Remove dashboards and saved objects of package {pkgName} version {pkgVersion}. slots: pkgName: path.pkgName pkgVersion: path.pkgVersion method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/packages/{pkgName}/{pkgVersion}/rule_assets'].post update: x-apievangelist-phrasing: intent: Install a package's alerting rule assets effect: write questions: - Can I install the alert rules that ship with an integration package? - Is there a force flag to reinstall a package's Kibana alert rule templates? instructions: - text: Install the alerting rule assets from {pkgName} {pkgVersion}. slots: pkgName: path.pkgName pkgVersion: path.pkgVersion - text: Reinstall alert rules for {pkgName} {pkgVersion}, force {force}. slots: pkgName: path.pkgName pkgVersion: path.pkgVersion force: requestBody.force method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/packages/{pkgName}/{pkgVersion}/transforms/authorize'].post update: x-apievangelist-phrasing: intent: Authorize a package's transforms effect: write questions: - How do I grant my credentials to the transforms an integration installed so they can run? - Which transforms need reauthorizing after installing a package version? instructions: - text: Authorize transforms {transforms} for package {pkgName} {pkgVersion}. slots: transforms: requestBody.transforms pkgName: path.pkgName pkgVersion: path.pkgVersion - text: Reauthorize the {pkgName} {pkgVersion} transforms listed in {transforms} with my current user. slots: transforms: requestBody.transforms pkgName: path.pkgName pkgVersion: path.pkgVersion method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/packages/{pkgName}/review_upgrade'].post update: x-apievangelist-phrasing: intent: Review a pending upgrade with deprecations effect: write questions: - An integration upgrade is blocked by deprecations; how do I accept or decline it? - Can I approve a pending policy upgrade to a specific target version? instructions: - text: Review the pending {pkgName} upgrade to {target_version} with action {action}. slots: pkgName: path.pkgName target_version: requestBody.target_version action: requestBody.action - text: Accept the deprecation-flagged policy upgrade of {pkgName} to version {target_version}, action {action}. slots: pkgName: path.pkgName target_version: requestBody.target_version action: requestBody.action method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/packages/{pkgName}/rollback'].post update: x-apievangelist-phrasing: intent: Roll back one package to its previous version effect: write questions: - Can I undo an upgrade of a single integration and go back to the prior version? - What happens to package policies when I revert one package? instructions: - text: Roll back the {pkgName} integration to its previous version. slots: pkgName: path.pkgName - text: Revert package {pkgName} after its last upgrade. slots: pkgName: path.pkgName method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/packages/{pkgName}/stats'].get update: x-apievangelist-phrasing: intent: Get usage stats for a package effect: read questions: - How many agent policies are using a particular integration? - Where do I see usage statistics for an installed package? instructions: - text: Show usage stats for package {pkgName}. slots: pkgName: path.pkgName - text: Count how many policies use the {pkgName} integration. slots: pkgName: path.pkgName method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/packages/installed'].get update: x-apievangelist-phrasing: intent: List installed packages effect: read questions: - Which integrations are currently installed in my deployment? - Can I restrict the installed package list to ones with active data streams? - Is there a way to search installed packages by name and page through them? instructions: - text: List installed packages whose name matches {nameQuery}. slots: nameQuery: query.nameQuery - text: Show installed integrations with {dataStreamType} data streams, {perPage} per page. slots: dataStreamType: query.dataStreamType perPage: query.perPage method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/packages/limited'].get update: x-apievangelist-phrasing: intent: List packages that cannot be removed effect: read questions: - Which packages are limited, meaning they can't be uninstalled or removed from policies? - What is on the limited package list in Fleet? instructions: - text: Get the limited package list. - text: Show packages that are restricted from being uninstalled. method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/templates/{pkgName}/{pkgVersion}/inputs'].get update: x-apievangelist-phrasing: intent: Get a package's inputs template effect: read questions: - Can I get a ready-to-edit inputs configuration template for an integration version? - What formats can the inputs template be returned in, such as YAML or JSON? instructions: - text: Get the inputs template for {pkgName} {pkgVersion} in {format} format. slots: pkgName: path.pkgName pkgVersion: path.pkgVersion format: query.format - text: Generate the agent inputs config template of package {pkgName} version {pkgVersion}. slots: pkgName: path.pkgName pkgVersion: path.pkgVersion method: generated generated: '2026-09-26' - target: $.paths['/api/fleet/epm/verification_key_id'].get update: x-apievangelist-phrasing: intent: Get the package signing key ID effect: read questions: - Which GPG key ID does Fleet use to verify integration package signatures? - Can I check the key ID used for package signature verification? instructions: - text: Show the package signature verification key ID. - text: Get the GPG key ID Fleet trusts for signed packages. method: generated generated: '2026-09-26'