Elastic Stack (ELK Stack) Elastic Package Manager (EPM) API
Elastic Package Manager (EPM) APIs enable you to manage packages and integrations, including installing, updating, and uninstalling packages, managing custom integrations, and handling package assets.
Operations 36
Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay
Ask an LLM
“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?”
Tell an agent
Look up the Kibana assets with IDs {assetIds} in one bulk request.
Fetch the saved object details for asset IDs {assetIds} that integrations installed.
Ask an LLM
“What categories are Fleet integrations grouped into, like security or observability?”
“Can the integration category list include prerelease packages too?”
Tell an agent
List every integration category in the Fleet package registry.
Show integration categories, including prerelease packages when {prerelease} is true.
Ask an LLM
“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?”
Tell an agent
Create a custom integration named {integrationName} with datasets {datasets}.
Register new custom integration {integrationName} and overwrite any existing one with force {force}.
PUT
/api/fleet/epm/custom_integrations/{pkgName}
Update a custom integration's readme and categories · Update a custom integration
#
Ask an LLM
“Can I change the README text of a custom integration I already built?”
“How can I recategorize an existing custom integration?”
Tell an agent
Replace the README of custom integration {pkgName} with {readMeData}.
Set the categories of my custom integration {pkgName} to {categories}, keeping readme {readMeData}.
Ask an LLM
“What integrations are available in the Fleet package registry?”
“Can I filter the integration catalog down to a single category?”
Tell an agent
List all integration packages in the {category} category.
Browse the full integration catalog with package policy counts included.
POST
/api/fleet/epm/packages
Install an integration from an uploaded archive · Install a package by upload
#
Ask an LLM
“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?”
Tell an agent
Install the integration package I'm uploading as an archive file.
Upload and install this package zip, skipping data stream rollover set to {skipDataStreamRollover}.
POST
/api/fleet/epm/packages/_bulk
Install several integration packages at once · Bulk install packages
#
Ask an LLM
“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?”
Tell an agent
Install these integration packages together: {packages}.
Bulk install packages {packages}, allowing outdated versions {allow_outdated_version}.
POST
/api/fleet/epm/packages/_bulk_namespace_customization
Toggle namespace customization for many packages · Bulk enable/disable namespace-level customization for packages
#
Ask an LLM
“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?”
Tell an agent
Enable namespace-level customization for namespaces {enable} on packages {packages}.
Disable namespace customization for {disable} across packages {packages}.
POST
/api/fleet/epm/packages/_bulk_rollback
Roll back several packages to prior versions · Bulk rollback packages
#
Ask an LLM
“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?”
Tell an agent
Roll back packages {packages} to their previously installed versions.
Start a bulk rollback task for integrations {packages}.
GET
/api/fleet/epm/packages/_bulk_rollback/{taskId}
Check progress of a bulk package rollback · Get Bulk rollback packages details
#
Ask an LLM
“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?”
Tell an agent
Show the status of bulk rollback task {taskId}.
Check whether rollback task {taskId} has completed for all packages.
POST
/api/fleet/epm/packages/_bulk_uninstall
Uninstall several integration packages · Bulk uninstall packages
#
Ask an LLM
“Can I remove many integrations from Fleet in one go?”
“Is there a force option when bulk uninstalling packages that are still in use?”
Tell an agent destructive · confirm first
Uninstall integration packages {packages} in bulk.
Force a bulk uninstall of packages {packages} with force {force}.
GET
/api/fleet/epm/packages/_bulk_uninstall/{taskId}
Check progress of a bulk package uninstall · Get Bulk uninstall packages details
#
Ask an LLM
“Has my bulk uninstall of integrations completed yet?”
“Which packages in a bulk uninstall task hit errors?”
Tell an agent
Get the status of bulk uninstall task {taskId}.
Report any failed packages in uninstall task {taskId}.
POST
/api/fleet/epm/packages/_bulk_upgrade
Upgrade several integration packages · Bulk upgrade packages
#
Ask an LLM
“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?”
Tell an agent
Upgrade packages {packages} to their newest versions.
Bulk upgrade {packages} and upgrade their package policies too: {upgrade_package_policies}.
GET
/api/fleet/epm/packages/_bulk_upgrade/{taskId}
Check progress of a bulk package upgrade · Get Bulk upgrade packages details
#
Ask an LLM
“Is the bulk integration upgrade I kicked off still running?”
“What were the per-package results of an upgrade task?”
Tell an agent
Show the progress of bulk upgrade task {taskId}.
List packages that failed in upgrade task {taskId}.
Ask an LLM
“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?”
Tell an agent destructive · confirm first
Uninstall the {pkgName} integration.
Force uninstall package {pkgName} with force set to {force}.
Ask an LLM
“What does the latest version of a given integration include, and is it installed?”
“Can I get package metadata without naming a specific version?”
Tell an agent
Show details for the {pkgName} integration package.
Get full package info for {pkgName}, including metadata.
POST
/api/fleet/epm/packages/{pkgName}
Install the latest version of a registry package · Install a package from the registry
#
Ask an LLM
“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?”
Tell an agent
Install the latest {pkgName} integration from the package registry.
Install {pkgName} from the registry, skipping the dependency check {skipDependencyCheck}.
PUT
/api/fleet/epm/packages/{pkgName}
Change settings for an installed package · Update package settings
#
Ask an LLM
“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?”
Tell an agent
Keep package policies up to date automatically for {pkgName}: {keepPoliciesUpToDate}.
Enable namespace customization for {namespace_customization_enabled_for} on package {pkgName}.
DELETE
/api/fleet/epm/packages/{pkgName}/{pkgVersion}
Uninstall a specific package version · Delete a package
#
Ask an LLM
“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?”
Tell an agent destructive · confirm first
Uninstall {pkgName} version {pkgVersion}.
Force removal of package {pkgName} at {pkgVersion} with force {force}.
GET
/api/fleet/epm/packages/{pkgName}/{pkgVersion}
Get details of a specific package version · Get a package
#
Ask an LLM
“What is in a particular version of an integration before I install it?”
“Can I inspect an unverified package version's info?”
Tell an agent
Show package {pkgName} at version {pkgVersion}.
Get info for {pkgName} {pkgVersion}, ignoring signature verification {ignoreUnverified}.
POST
/api/fleet/epm/packages/{pkgName}/{pkgVersion}
Install a specific version of a registry package · Install a package from the registry
#
Ask an LLM
“How do I install an older, exact version of an integration from the registry?”
“Can I ignore package constraints when installing a pinned version?”
Tell an agent
Install {pkgName} version {pkgVersion} from the registry.
Install {pkgName} {pkgVersion} even if it is outdated, allow_outdated_version {allow_outdated_version}.
PUT
/api/fleet/epm/packages/{pkgName}/{pkgVersion}
Change settings for a specific package version · Update package settings
#
Ask an LLM
“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?”
Tell an agent
For {pkgName} version {pkgVersion}, set keep policies up to date to {keepPoliciesUpToDate}.
Apply namespace customization settings {namespace_customization_settings} to {pkgName} {pkgVersion}.
GET
/api/fleet/epm/packages/{pkgName}/{pkgVersion}/{filePath}
Read a file from inside a package · Get a package file
#
Ask an LLM
“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?”
Tell an agent
Show file {filePath} from package {pkgName} version {pkgVersion}.
Download {filePath} inside the {pkgName} {pkgVersion} package.
DELETE
/api/fleet/epm/packages/{pkgName}/{pkgVersion}/datastream_assets
Delete data stream assets for a package policy · Delete assets for a package
#
Ask an LLM
“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?”
Tell an agent destructive · confirm first
Delete datastream assets of {pkgName} {pkgVersion} for package policy {packagePolicyId}.
Remove the data stream index templates and pipelines {pkgName} {pkgVersion} made for policy {packagePolicyId}.
GET
/api/fleet/epm/packages/{pkgName}/{pkgVersion}/dependencies
List a package version's dependencies · Get package dependencies
#
Ask an LLM
“Which other packages does a given integration version depend on?”
“Do I need to install anything else before this integration version?”
Tell an agent
List dependencies of {pkgName} version {pkgVersion}.
Show what packages {pkgName} {pkgVersion} requires.
DELETE
/api/fleet/epm/packages/{pkgName}/{pkgVersion}/kibana_assets
Remove a package's Kibana assets · Delete Kibana assets for a package
#
Ask an LLM
“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?”
Tell an agent destructive · confirm first
Delete the Kibana assets installed by {pkgName} {pkgVersion}.
Remove dashboards and saved objects of package {pkgName} version {pkgVersion}.
POST
/api/fleet/epm/packages/{pkgName}/{pkgVersion}/kibana_assets
Install a package's Kibana assets · Install Kibana assets for a package
#
Ask an LLM
“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?”
Tell an agent
Install Kibana assets for {pkgName} {pkgVersion} into spaces {space_ids}.
Force reinstall the dashboards of {pkgName} {pkgVersion} with force {force}.
POST
/api/fleet/epm/packages/{pkgName}/{pkgVersion}/rule_assets
Install a package's alerting rule assets · Install Kibana alert rule for a package
#
Ask an LLM
“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?”
Tell an agent
Install the alerting rule assets from {pkgName} {pkgVersion}.
Reinstall alert rules for {pkgName} {pkgVersion}, force {force}.
POST
/api/fleet/epm/packages/{pkgName}/{pkgVersion}/transforms/authorize
Authorize a package's transforms · Authorize transforms
#
Ask an LLM
“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?”
Tell an agent
Authorize transforms {transforms} for package {pkgName} {pkgVersion}.
Reauthorize the {pkgName} {pkgVersion} transforms listed in {transforms} with my current user.
POST
/api/fleet/epm/packages/{pkgName}/review_upgrade
Review a pending upgrade with deprecations · Review a pending policy upgrade for a package with deprecations
#
Ask an LLM
“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?”
Tell an agent
Review the pending {pkgName} upgrade to {target_version} with action {action}.
Accept the deprecation-flagged policy upgrade of {pkgName} to version {target_version}, action {action}.
POST
/api/fleet/epm/packages/{pkgName}/rollback
Roll back one package to its previous version · Rollback a package to previous version
#
Ask an LLM
“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?”
Tell an agent
Roll back the {pkgName} integration to its previous version.
Revert package {pkgName} after its last upgrade.
Ask an LLM
“How many agent policies are using a particular integration?”
“Where do I see usage statistics for an installed package?”
Tell an agent
Show usage stats for package {pkgName}.
Count how many policies use the {pkgName} integration.
Ask an LLM
“Which integrations are currently installed in my deployment?”
“Can I restrict the installed package list to ones with active data streams?”
Tell an agent
List installed packages whose name matches {nameQuery}.
Show installed integrations with {dataStreamType} data streams, {perPage} per page.
GET
/api/fleet/epm/packages/limited
List packages that cannot be removed · Get a limited package list
#
Ask an LLM
“Which packages are limited, meaning they can't be uninstalled or removed from policies?”
“What is on the limited package list in Fleet?”
Tell an agent
Get the limited package list.
Show packages that are restricted from being uninstalled.
GET
/api/fleet/epm/templates/{pkgName}/{pkgVersion}/inputs
Get a package's inputs template · Get an inputs template
#
Ask an LLM
“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?”
Tell an agent
Get the inputs template for {pkgName} {pkgVersion} in {format} format.
Generate the agent inputs config template of package {pkgName} version {pkgVersion}.
GET
/api/fleet/epm/verification_key_id
Get the package signing key ID · Get a package signature verification key ID
#
Ask an LLM
“Which GPG key ID does Fleet use to verify integration package signatures?”
“Can I check the key ID used for package signature verification?”
Tell an agent
Show the package signature verification key ID.
Get the GPG key ID Fleet trusts for signed packages.