Kibana · Capability

Kibana APIs — Elastic Package Manager (EPM)

Kibana APIs — Elastic Package Manager (EPM). 35 operations. Lead operation: Bulk get assets. Self-contained Naftiko capability covering one Kibana business surface.

Run with Naftiko KibanaElastic Package Manager (EPM)

What You Can Do

POST
Postfleetepmbulkassets — Bulk get assets
/v1/api/fleet/epm/bulk-assets
GET
Getfleetepmcategories — Get package categories
/v1/api/fleet/epm/categories
POST
Postfleetepmcustomintegrations — Create a custom integration
/v1/api/fleet/epm/custom-integrations
PUT
Putfleetepmcustomintegrationspkgname — Update a custom integration
/v1/api/fleet/epm/custom-integrations/{pkgname}
GET
Getfleetepmpackages — Get packages
/v1/api/fleet/epm/packages
POST
Postfleetepmpackages — Install a package by upload
/v1/api/fleet/epm/packages
POST
Postfleetepmpackagesbulk — Bulk install packages
/v1/api/fleet/epm/packages/bulk
POST
Postfleetepmpackagesbulkrollback — Bulk rollback packages
/v1/api/fleet/epm/packages/bulk-rollback
GET
Getfleetepmpackagesbulkrollbacktaskid — Get Bulk rollback packages details
/v1/api/fleet/epm/packages/bulk-rollback/{taskid}
POST
Postfleetepmpackagesbulkuninstall — Bulk uninstall packages
/v1/api/fleet/epm/packages/bulk-uninstall
GET
Getfleetepmpackagesbulkuninstalltaskid — Get Bulk uninstall packages details
/v1/api/fleet/epm/packages/bulk-uninstall/{taskid}
POST
Postfleetepmpackagesbulkupgrade — Bulk upgrade packages
/v1/api/fleet/epm/packages/bulk-upgrade
GET
Getfleetepmpackagesbulkupgradetaskid — Get Bulk upgrade packages details
/v1/api/fleet/epm/packages/bulk-upgrade/{taskid}
GET
Getfleetepmpackagesinstalled — Get installed packages
/v1/api/fleet/epm/packages/installed
GET
Getfleetepmpackageslimited — Get a limited package list
/v1/api/fleet/epm/packages/limited
DELETE
Deletefleetepmpackagespkgname — Delete a package
/v1/api/fleet/epm/packages/{pkgname}
GET
Getfleetepmpackagespkgname — Get a package
/v1/api/fleet/epm/packages/{pkgname}
POST
Postfleetepmpackagespkgname — Install a package from the registry
/v1/api/fleet/epm/packages/{pkgname}
PUT
Putfleetepmpackagespkgname — Update package settings
/v1/api/fleet/epm/packages/{pkgname}
POST
Postfleetepmpackagespkgnamereviewupgrade — Review a pending policy upgrade for a package with deprecations
/v1/api/fleet/epm/packages/{pkgname}/review-upgrade
POST
Postfleetepmpackagespkgnamerollback — Rollback a package to previous version
/v1/api/fleet/epm/packages/{pkgname}/rollback
GET
Getfleetepmpackagespkgnamestats — Get package stats
/v1/api/fleet/epm/packages/{pkgname}/stats
DELETE
Deletefleetepmpackagespkgnamepkgversion — Delete a package
/v1/api/fleet/epm/packages/{pkgname}/{pkgversion}
GET
Getfleetepmpackagespkgnamepkgversion — Get a package
/v1/api/fleet/epm/packages/{pkgname}/{pkgversion}
POST
Postfleetepmpackagespkgnamepkgversion — Install a package from the registry
/v1/api/fleet/epm/packages/{pkgname}/{pkgversion}
PUT
Putfleetepmpackagespkgnamepkgversion — Update package settings
/v1/api/fleet/epm/packages/{pkgname}/{pkgversion}
DELETE
Deletefleetepmpackagespkgnamepkgversiondatastreamassets — Delete assets for an input package
/v1/api/fleet/epm/packages/{pkgname}/{pkgversion}/datastream-assets
GET
Getfleetepmpackagespkgnamepkgversiondependencies — Get package dependencies
/v1/api/fleet/epm/packages/{pkgname}/{pkgversion}/dependencies
DELETE
Deletefleetepmpackagespkgnamepkgversionkibanaassets — Delete Kibana assets for a package
/v1/api/fleet/epm/packages/{pkgname}/{pkgversion}/kibana-assets
POST
Postfleetepmpackagespkgnamepkgversionkibanaassets — Install Kibana assets for a package
/v1/api/fleet/epm/packages/{pkgname}/{pkgversion}/kibana-assets
POST
Postfleetepmpackagespkgnamepkgversionruleassets — Install Kibana alert rule for a package
/v1/api/fleet/epm/packages/{pkgname}/{pkgversion}/rule-assets
POST
Postfleetepmpackagespkgnamepkgversiontransformsauthorize — Authorize transforms
/v1/api/fleet/epm/packages/{pkgname}/{pkgversion}/transforms/authorize
GET
Getfleetepmpackagespkgnamepkgversionfilepath — Get a package file
/v1/api/fleet/epm/packages/{pkgname}/{pkgversion}/{filepath}
GET
Getfleetepmtemplatespkgnamepkgversioninputs — Get an inputs template
/v1/api/fleet/epm/templates/{pkgname}/{pkgversion}/inputs
GET
Getfleetepmverificationkeyid — Get a package signature verification key ID
/v1/api/fleet/epm/verification-key-id

MCP Tools

bulk-get-assets

Bulk get assets

read-only
get-package-categories

Get package categories

read-only idempotent
create-custom-integration

Create a custom integration

update-custom-integration

Update a custom integration

idempotent
get-packages

Get packages

read-only idempotent
install-package-upload

Install a package by upload

bulk-install-packages

Bulk install packages

bulk-rollback-packages

Bulk rollback packages

get-bulk-rollback-packages-details

Get Bulk rollback packages details

read-only idempotent
bulk-uninstall-packages

Bulk uninstall packages

get-bulk-uninstall-packages-details

Get Bulk uninstall packages details

read-only idempotent
bulk-upgrade-packages

Bulk upgrade packages

get-bulk-upgrade-packages-details

Get Bulk upgrade packages details

read-only idempotent
get-installed-packages

Get installed packages

read-only idempotent
get-limited-package-list

Get a limited package list

read-only idempotent
delete-package

Delete a package

idempotent
get-package

Get a package

read-only idempotent
install-package-registry

Install a package from the registry

update-package-settings

Update package settings

idempotent
review-pending-policy-upgrade-package

Review a pending policy upgrade for a package with deprecations

rollback-package-previous-version

Rollback a package to previous version

get-package-stats

Get package stats

read-only idempotent
delete-package-2

Delete a package

idempotent
get-package-2

Get a package

read-only idempotent
install-package-registry-2

Install a package from the registry

update-package-settings-2

Update package settings

idempotent
delete-assets-input-package

Delete assets for an input package

idempotent
get-package-dependencies

Get package dependencies

read-only idempotent
delete-kibana-assets-package

Delete Kibana assets for a package

idempotent
install-kibana-assets-package

Install Kibana assets for a package

install-kibana-alert-rule-package

Install Kibana alert rule for a package

authorize-transforms

Authorize transforms

get-package-file

Get a package file

read-only idempotent
get-inputs-template

Get an inputs template

read-only idempotent
get-package-signature-verification-key

Get a package signature verification key ID

read-only idempotent

Capability Spec

kibana-elastic-package-manager-epm.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Kibana APIs — Elastic Package Manager (EPM)
  description: 'Kibana APIs — Elastic Package Manager (EPM). 35 operations. Lead operation: Bulk get assets. Self-contained
    Naftiko capability covering one Kibana business surface.'
  tags:
  - Kibana
  - Elastic Package Manager (EPM)
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    KIBANA_API_KEY: KIBANA_API_KEY
capability:
  consumes:
  - type: http
    namespace: kibana-elastic-package-manager-epm
    baseUri: https://{kibana_url}
    description: Kibana APIs — Elastic Package Manager (EPM) business capability. Self-contained, no shared references.
    resources:
    - name: api-fleet-epm-bulk_assets
      path: /api/fleet/epm/bulk_assets
      operations:
      - name: postfleetepmbulkassets
        method: POST
        description: Bulk get assets
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: kbn-xsrf
          in: header
          type: string
          description: A required header to protect against CSRF attacks
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-fleet-epm-categories
      path: /api/fleet/epm/categories
      operations:
      - name: getfleetepmcategories
        method: GET
        description: Get package categories
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: prerelease
          in: query
          type: boolean
          description: When true, include prerelease packages in the results
        - name: include_policy_templates
          in: query
          type: boolean
          description: When true, include categories that only contain policy templates
    - name: api-fleet-epm-custom_integrations
      path: /api/fleet/epm/custom_integrations
      operations:
      - name: postfleetepmcustomintegrations
        method: POST
        description: Create a custom integration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: kbn-xsrf
          in: header
          type: string
          description: A required header to protect against CSRF attacks
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-fleet-epm-custom_integrations-pkgName
      path: /api/fleet/epm/custom_integrations/{pkgName}
      operations:
      - name: putfleetepmcustomintegrationspkgname
        method: PUT
        description: Update a custom integration
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: kbn-xsrf
          in: header
          type: string
          description: A required header to protect against CSRF attacks
          required: true
        - name: pkgName
          in: path
          type: string
          description: Package name
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-fleet-epm-packages
      path: /api/fleet/epm/packages
      operations:
      - name: getfleetepmpackages
        method: GET
        description: Get packages
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: category
          in: query
          type: string
          description: Filter packages by category
        - name: prerelease
          in: query
          type: boolean
          description: When true, include prerelease packages in the results
        - name: excludeInstallStatus
          in: query
          type: boolean
          description: When true, exclude the install status from the response
        - name: withPackagePoliciesCount
          in: query
          type: boolean
          description: When true, include the number of package policies per package
      - name: postfleetepmpackages
        method: POST
        description: Install a package by upload
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: kbn-xsrf
          in: header
          type: string
          description: A required header to protect against CSRF attacks
          required: true
        - name: ignoreMappingUpdateErrors
          in: query
          type: boolean
          description: When true, ignore mapping update errors during installation
        - name: skipDataStreamRollover
          in: query
          type: boolean
          description: When true, skip data stream rollover after installation
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-fleet-epm-packages-_bulk
      path: /api/fleet/epm/packages/_bulk
      operations:
      - name: postfleetepmpackagesbulk
        method: POST
        description: Bulk install packages
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: kbn-xsrf
          in: header
          type: string
          description: A required header to protect against CSRF attacks
          required: true
        - name: prerelease
          in: query
          type: boolean
          description: When true, allow installing prerelease versions
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-fleet-epm-packages-_bulk_rollback
      path: /api/fleet/epm/packages/_bulk_rollback
      operations:
      - name: postfleetepmpackagesbulkrollback
        method: POST
        description: Bulk rollback packages
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: kbn-xsrf
          in: header
          type: string
          description: A required header to protect against CSRF attacks
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-fleet-epm-packages-_bulk_rollback-taskId
      path: /api/fleet/epm/packages/_bulk_rollback/{taskId}
      operations:
      - name: getfleetepmpackagesbulkrollbacktaskid
        method: GET
        description: Get Bulk rollback packages details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: taskId
          in: path
          type: string
          description: Task ID of the bulk operation
          required: true
    - name: api-fleet-epm-packages-_bulk_uninstall
      path: /api/fleet/epm/packages/_bulk_uninstall
      operations:
      - name: postfleetepmpackagesbulkuninstall
        method: POST
        description: Bulk uninstall packages
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: kbn-xsrf
          in: header
          type: string
          description: A required header to protect against CSRF attacks
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-fleet-epm-packages-_bulk_uninstall-taskId
      path: /api/fleet/epm/packages/_bulk_uninstall/{taskId}
      operations:
      - name: getfleetepmpackagesbulkuninstalltaskid
        method: GET
        description: Get Bulk uninstall packages details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: taskId
          in: path
          type: string
          description: Task ID of the bulk operation
          required: true
    - name: api-fleet-epm-packages-_bulk_upgrade
      path: /api/fleet/epm/packages/_bulk_upgrade
      operations:
      - name: postfleetepmpackagesbulkupgrade
        method: POST
        description: Bulk upgrade packages
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: kbn-xsrf
          in: header
          type: string
          description: A required header to protect against CSRF attacks
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-fleet-epm-packages-_bulk_upgrade-taskId
      path: /api/fleet/epm/packages/_bulk_upgrade/{taskId}
      operations:
      - name: getfleetepmpackagesbulkupgradetaskid
        method: GET
        description: Get Bulk upgrade packages details
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: taskId
          in: path
          type: string
          description: Task ID of the bulk operation
          required: true
    - name: api-fleet-epm-packages-installed
      path: /api/fleet/epm/packages/installed
      operations:
      - name: getfleetepmpackagesinstalled
        method: GET
        description: Get installed packages
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: dataStreamType
          in: query
          type: string
          description: Filter by data stream type
        - name: showOnlyActiveDataStreams
          in: query
          type: boolean
          description: When true, only return packages with active data streams
        - name: nameQuery
          in: query
          type: string
          description: Filter packages by name
        - name: searchAfter
          in: query
          type: array
          description: Sort values from the previous page for `search_after` pagination
        - name: perPage
          in: query
          type: number
          description: Number of results per page
        - name: sortOrder
          in: query
          type: string
          description: Sort order, ascending or descending
    - name: api-fleet-epm-packages-limited
      path: /api/fleet/epm/packages/limited
      operations:
      - name: getfleetepmpackageslimited
        method: GET
        description: Get a limited package list
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    - name: api-fleet-epm-packages-pkgName
      path: /api/fleet/epm/packages/{pkgName}
      operations:
      - name: deletefleetepmpackagespkgname
        method: DELETE
        description: Delete a package
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: kbn-xsrf
          in: header
          type: string
          description: A required header to protect against CSRF attacks
          required: true
        - name: pkgName
          in: path
          type: string
          description: Package name
          required: true
        - name: force
          in: query
          type: boolean
          description: When true, delete the package even if it has active package policies
      - name: getfleetepmpackagespkgname
        method: GET
        description: Get a package
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: pkgName
          in: path
          type: string
          description: Package name
          required: true
        - name: ignoreUnverified
          in: query
          type: boolean
          description: When true, returns the package even if the signature cannot be verified
        - name: prerelease
          in: query
          type: boolean
          description: When true, include prerelease versions
        - name: full
          in: query
          type: boolean
          description: When true, return the full package info including assets
        - name: withMetadata
          in: query
          type: boolean
          description: When true, include package metadata such as whether it has package policies
      - name: postfleetepmpackagespkgname
        method: POST
        description: Install a package from the registry
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: kbn-xsrf
          in: header
          type: string
          description: A required header to protect against CSRF attacks
          required: true
        - name: pkgName
          in: path
          type: string
          description: Package name
          required: true
        - name: prerelease
          in: query
          type: boolean
          description: When true, allow installing prerelease versions
        - name: ignoreMappingUpdateErrors
          in: query
          type: boolean
          description: When true, ignore mapping update errors during installation
        - name: skipDataStreamRollover
          in: query
          type: boolean
          description: When true, skip data stream rollover after installation
        - name: skipDependencyCheck
          in: query
          type: boolean
          description: Skip dependency validation when installing a package with dependencies
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: putfleetepmpackagespkgname
        method: PUT
        description: Update package settings
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: kbn-xsrf
          in: header
          type: string
          description: A required header to protect against CSRF attacks
          required: true
        - name: pkgName
          in: path
          type: string
          description: Package name
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-fleet-epm-packages-pkgName-review_upgrade
      path: /api/fleet/epm/packages/{pkgName}/review_upgrade
      operations:
      - name: postfleetepmpackagespkgnamereviewupgrade
        method: POST
        description: Review a pending policy upgrade for a package with deprecations
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: kbn-xsrf
          in: header
          type: string
          description: A required header to protect against CSRF attacks
          required: true
        - name: pkgName
          in: path
          type: string
          description: Package name to review upgrade for
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-fleet-epm-packages-pkgName-rollback
      path: /api/fleet/epm/packages/{pkgName}/rollback
      operations:
      - name: postfleetepmpackagespkgnamerollback
        method: POST
        description: Rollback a package to previous version
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: kbn-xsrf
          in: header
          type: string
          description: A required header to protect against CSRF attacks
          required: true
        - name: pkgName
          in: path
          type: string
          description: Package name to roll back
          required: true
    - name: api-fleet-epm-packages-pkgName-stats
      path: /api/fleet/epm/packages/{pkgName}/stats
      operations:
      - name: getfleetepmpackagespkgnamestats
        method: GET
        description: Get package stats
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: pkgName
          in: path
          type: string
          description: Package name
          required: true
    - name: api-fleet-epm-packages-pkgName-pkgVersion
      path: /api/fleet/epm/packages/{pkgName}/{pkgVersion}
      operations:
      - name: deletefleetepmpackagespkgnamepkgversion
        method: DELETE
        description: Delete a package
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: kbn-xsrf
          in: header
          type: string
          description: A required header to protect against CSRF attacks
          required: true
        - name: pkgName
          in: path
          type: string
          description: Package name
          required: true
        - name: pkgVersion
          in: path
          type: string
          description: Package version
          required: true
        - name: force
          in: query
          type: boolean
          description: When true, delete the package even if it has active package policies
      - name: getfleetepmpackagespkgnamepkgversion
        method: GET
        description: Get a package
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: pkgName
          in: path
          type: string
          description: Package name
          required: true
        - name: pkgVersion
          in: path
          type: string
          description: Package version
          required: true
        - name: ignoreUnverified
          in: query
          type: boolean
          description: When true, returns the package even if the signature cannot be verified
        - name: prerelease
          in: query
          type: boolean
          description: When true, include prerelease versions
        - name: full
          in: query
          type: boolean
          description: When true, return the full package info including assets
        - name: withMetadata
          in: query
          type: boolean
          description: When true, include package metadata such as whether it has package policies
      - name: postfleetepmpackagespkgnamepkgversion
        method: POST
        description: Install a package from the registry
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: kbn-xsrf
          in: header
          type: string
          description: A required header to protect against CSRF attacks
          required: true
        - name: pkgName
          in: path
          type: string
          description: Package name
          required: true
        - name: pkgVersion
          in: path
          type: string
          description: Package version
          required: true
        - name: prerelease
          in: query
          type: boolean
          description: When true, allow installing prerelease versions
        - name: ignoreMappingUpdateErrors
          in: query
          type: boolean
          description: When true, ignore mapping update errors during installation
        - name: skipDataStreamRollover
          in: query
          type: boolean
          description: When true, skip data stream rollover after installation
        - name: skipDependencyCheck
          in: query
          type: boolean
          description: Skip dependency validation when installing a package with dependencies
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
      - name: putfleetepmpackagespkgnamepkgversion
        method: PUT
        description: Update package settings
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: kbn-xsrf
          in: header
          type: string
          description: A required header to protect against CSRF attacks
          required: true
        - name: pkgName
          in: path
          type: string
          description: Package name
          required: true
        - name: pkgVersion
          in: path
          type: string
          description: Package version
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-fleet-epm-packages-pkgName-pkgVersion-datastream_assets
      path: /api/fleet/epm/packages/{pkgName}/{pkgVersion}/datastream_assets
      operations:
      - name: deletefleetepmpackagespkgnamepkgversiondatastreamassets
        method: DELETE
        description: Delete assets for an input package
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: kbn-xsrf
          in: header
          type: string
          description: A required header to protect against CSRF attacks
          required: true
        - name: pkgName
          in: path
          type: string
          description: Package name
          required: true
        - name: pkgVersion
          in: path
          type: string
          description: Package version
          required: true
        - name: packagePolicyId
          in: query
          type: string
          description: The ID of the package policy
          required: true
    - name: api-fleet-epm-packages-pkgName-pkgVersion-dependencies
      path: /api/fleet/epm/packages/{pkgName}/{pkgVersion}/dependencies
      operations:
      - name: getfleetepmpackagespkgnamepkgversiondependencies
        method: GET
        description: Get package dependencies
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: pkgName
          in: path
          type: string
          description: Package name
          required: true
        - name: pkgVersion
          in: path
          type: string
          description: Package version
          required: true
    - name: api-fleet-epm-packages-pkgName-pkgVersion-kibana_assets
      path: /api/fleet/epm/packages/{pkgName}/{pkgVersion}/kibana_assets
      operations:
      - name: deletefleetepmpackagespkgnamepkgversionkibanaassets
        method: DELETE
        description: Delete Kibana assets for a package
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: kbn-xsrf
          in: header
          type: string
          description: A required header to protect against CSRF attacks
          required: true
        - name: pkgName
          in: path
          type: string
          description: Package name
          required: true
        - name: pkgVersion
          in: path
          type: string
          description: Package version
          required: true
      - name: postfleetepmpackagespkgnamepkgversionkibanaassets
        method: POST
        description: Install Kibana assets for a package
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: kbn-xsrf
          in: header
          type: string
          description: A required header to protect against CSRF attacks
          required: true
        - name: pkgName
          in: path
          type: string
          description: Package name
          required: true
        - name: pkgVersion
          in: path
          type: string
          description: Package version
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-fleet-epm-packages-pkgName-pkgVersion-rule_assets
      path: /api/fleet/epm/packages/{pkgName}/{pkgVersion}/rule_assets
      operations:
      - name: postfleetepmpackagespkgnamepkgversionruleassets
        method: POST
        description: Install Kibana alert rule for a package
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: kbn-xsrf
          in: header
          type: string
          description: A required header to protect against CSRF attacks
          required: true
        - name: pkgName
          in: path
          type: string
          description: Package name
          required: true
        - name: pkgVersion
          in: path
          type: string
          description: Package version
          required: true
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-fleet-epm-packages-pkgName-pkgVersion-transforms-authorize
      path: /api/fleet/epm/packages/{pkgName}/{pkgVersion}/transforms/authorize
      operations:
      - name: postfleetepmpackagespkgnamepkgversiontransformsauthorize
        method: POST
        description: Authorize transforms
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: kbn-xsrf
          in: header
          type: string
          description: A required header to protect against CSRF attacks
          required: true
        - name: pkgName
          in: path
          type: string
          description: Package name
          required: true
        - name: pkgVersion
          in: path
          type: string
          description: Package version
          required: true
        - name: prerelease
          in: query
          type: boolean
          description: When true, allow prerelease versions
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-fleet-epm-packages-pkgName-pkgVersion-filePath
      path: /api/fleet/epm/packages/{pkgName}/{pkgVersion}/{filePath}
      operations:
      - name: getfleetepmpackagespkgnamepkgversionfilepath
        method: GET
        description: Get a package file
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: pkgName
          in: path
          type: string
          description: Package name
          required: true
        - name: pkgVersion
          in: path
          type: string
          description: Package version
          required: true
        - name: filePath
          in: path
          type: string
          description: File path within the package
          required: true
    - name: api-fleet-epm-templates-pkgName-pkgVersion-inputs
      path: /api/fleet/epm/templates/{pkgName}/{pkgVersion}/inputs
      operations:
      - name: getfleetepmtemplatespkgnamepkgversioninputs
        method: GET
        description: Get an inputs template
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: pkgName
          in: path
          type: string
          description: Package name
          required: true
        - name: pkgVersion
          in: path
          type: string
          description: Package version
          required: true
        - name: format
          in: query
          type: string
          description: 'Output format for the inputs template: json, yml, or yaml'
        - name: prerelease
          in: query
          type: boolean
          description: When true, allow prerelease versions
        - name: ignoreUnverified
          in: query
          type: boolean
          description: When true, return inputs even if the package signature cannot be verified
    - name: api-fleet-epm-verification_key_id
      path: /api/fleet/epm/verification_key_id
      operations:
      - name: getfleetepmverificationkeyid
        method: GET
        description: Get a package signature verification key ID
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
    authentication:
      type: apikey
      key: Authorization
      value: '{{env.KIBANA_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: kibana-elastic-package-manager-epm-rest
    port: 8080
    description: REST adapter for Kibana APIs — Elastic Package Manager (EPM). One Spectral-compliant resource per consumed
      operation, prefixed with /v1.
    resources:
    - path: /v1/api/fleet/epm/bulk-assets
      name: api-fleet-epm-bulk-assets
      description: REST surface for api-fleet-epm-bulk_assets.
      operations:
      - method: POST
        name: postfleetepmbulkassets
        description: Bulk get assets
        call: kibana-elastic-package-manager-epm.postfleetepmbulkassets
        with:
          kbn-xsrf: rest.kbn-xsrf
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/fleet/epm/categories
      name: api-fleet-epm-categories
      description: REST surface for api-fleet-epm-categories.
      operations:
      - method: GET
        name: getfleetepmcategories
        description: Get package categories
        call: kibana-elastic-package-manager-epm.getfleetepmcategories
        with:
          prerelease: rest.prerelease
          include_policy_templates: rest.include_policy_templates
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/fleet/epm/custom-integrations
      name: api-fleet-epm-custom-integrations
      description: REST surface for api-fleet-epm-custom_integrations.
      operations:
      - method: POST
        name: postfleetepmcustomintegrations
        description: Create a custom integration
        call: kibana-elastic-package-manager-epm.postfleetepmcustomintegrations
        with:
          kbn-xsrf: rest.kbn-xsrf
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/fleet/epm/custom-integrations/{pkgname}
      name: api-fleet-epm-custom-integrations-pkgname
      description: REST surface for api-fleet-epm-custom_integrations-pkgName.
      operations:
      - method: PUT
        name: putfleetepmcustomintegrationspkgname
        description: Update a custom integration
        call: kibana-elastic-package-manager-epm.putfleetepmcustomintegrationspkgname
        with:
          kbn-xsrf: rest.kbn-xsrf
          pkgName: rest.pkgName
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/fleet/epm/packages
      name: api-fleet-epm-packages
      description: REST surface for api-fleet-epm-packages.
      operations:
      - method: GET
        name: getfleetepmpackages
        description: Get packages
        call: kibana-elastic-package-manager-epm.getfleetepmpackages
        with:
          category: rest.category
          prerelease: rest.prerelease
          excludeInstallStatus: rest.excludeInstallStatus
          withPackagePoliciesCount: rest.withPackagePoliciesCount
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: postfleetepmpackages
        description: Install a package by upload
 

# --- truncated at 32 KB (64 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/kibana/refs/heads/main/capabilities/kibana-elastic-package-manager-epm.yaml