Kibana · Capability

Kibana APIs — Fleet package policies

Kibana APIs — Fleet package policies. 9 operations. Lead operation: Get package policies. Self-contained Naftiko capability covering one Kibana business surface.

Run with Naftiko KibanaFleet package policies

What You Can Do

GET
Getfleetpackagepolicies — Get package policies
/v1/api/fleet/package-policies
POST
Postfleetpackagepolicies — Create a package policy
/v1/api/fleet/package-policies
POST
Postfleetpackagepoliciesbulkget — Bulk get package policies
/v1/api/fleet/package-policies/bulk-get
POST
Postfleetpackagepoliciesdelete — Bulk delete package policies
/v1/api/fleet/package-policies/delete
POST
Postfleetpackagepoliciesupgrade — Upgrade a package policy
/v1/api/fleet/package-policies/upgrade
POST
Postfleetpackagepoliciesupgradedryrun — Dry run a package policy upgrade
/v1/api/fleet/package-policies/upgrade/dryrun
DELETE
Deletefleetpackagepoliciespackagepolicyid — Delete a package policy
/v1/api/fleet/package-policies/{packagepolicyid}
GET
Getfleetpackagepoliciespackagepolicyid — Get a package policy
/v1/api/fleet/package-policies/{packagepolicyid}
PUT
Putfleetpackagepoliciespackagepolicyid — Update a package policy
/v1/api/fleet/package-policies/{packagepolicyid}

MCP Tools

get-package-policies

Get package policies

read-only idempotent
create-package-policy

Create a package policy

bulk-get-package-policies

Bulk get package policies

read-only
bulk-delete-package-policies

Bulk delete package policies

upgrade-package-policy

Upgrade a package policy

dry-run-package-policy-upgrade

Dry run a package policy upgrade

delete-package-policy

Delete a package policy

idempotent
get-package-policy

Get a package policy

read-only idempotent
update-package-policy

Update a package policy

idempotent

Capability Spec

kibana-fleet-package-policies.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Kibana APIs — Fleet package policies
  description: 'Kibana APIs — Fleet package policies. 9 operations. Lead operation: Get package policies. Self-contained Naftiko
    capability covering one Kibana business surface.'
  tags:
  - Kibana
  - Fleet package policies
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    KIBANA_API_KEY: KIBANA_API_KEY
capability:
  consumes:
  - type: http
    namespace: kibana-fleet-package-policies
    baseUri: https://{kibana_url}
    description: Kibana APIs — Fleet package policies business capability. Self-contained, no shared references.
    resources:
    - name: api-fleet-package_policies
      path: /api/fleet/package_policies
      operations:
      - name: getfleetpackagepolicies
        method: GET
        description: Get package policies
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: page
          in: query
          type: number
          description: Page number
        - name: perPage
          in: query
          type: number
          description: Number of results per page
        - name: sortField
          in: query
          type: string
          description: Field to sort results by
        - name: sortOrder
          in: query
          type: string
          description: Sort order, ascending or descending
        - name: showUpgradeable
          in: query
          type: boolean
          description: When true, only show policies with available upgrades
        - name: kuery
          in: query
          type: string
          description: A KQL query string to filter results
        - name: format
          in: query
          type: string
          description: 'Format for the response: simplified or legacy'
        - name: withAgentCount
          in: query
          type: boolean
          description: When true, include the agent count per package policy
      - name: postfleetpackagepolicies
        method: POST
        description: Create a package policy
        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: format
          in: query
          type: string
          description: 'Format for the response: simplified or legacy'
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-fleet-package_policies-_bulk_get
      path: /api/fleet/package_policies/_bulk_get
      operations:
      - name: postfleetpackagepoliciesbulkget
        method: POST
        description: Bulk get package policies
        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: format
          in: query
          type: string
          description: 'Format for the response: simplified or legacy'
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    - name: api-fleet-package_policies-delete
      path: /api/fleet/package_policies/delete
      operations:
      - name: postfleetpackagepoliciesdelete
        method: POST
        description: Bulk delete package policies
        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-package_policies-upgrade
      path: /api/fleet/package_policies/upgrade
      operations:
      - name: postfleetpackagepoliciesupgrade
        method: POST
        description: Upgrade a package policy
        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-package_policies-upgrade-dryrun
      path: /api/fleet/package_policies/upgrade/dryrun
      operations:
      - name: postfleetpackagepoliciesupgradedryrun
        method: POST
        description: Dry run a package policy upgrade
        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-package_policies-packagePolicyId
      path: /api/fleet/package_policies/{packagePolicyId}
      operations:
      - name: deletefleetpackagepoliciespackagepolicyid
        method: DELETE
        description: Delete a package policy
        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: packagePolicyId
          in: path
          type: string
          description: The ID of the package policy
          required: true
        - name: force
          in: query
          type: boolean
          description: When true, delete the package policy even if it is managed
      - name: getfleetpackagepoliciespackagepolicyid
        method: GET
        description: Get a package policy
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: packagePolicyId
          in: path
          type: string
          description: The ID of the package policy
          required: true
        - name: format
          in: query
          type: string
          description: 'Format for the response: simplified or legacy'
      - name: putfleetpackagepoliciespackagepolicyid
        method: PUT
        description: Update a package policy
        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: packagePolicyId
          in: path
          type: string
          description: The ID of the package policy
          required: true
        - name: format
          in: query
          type: string
          description: 'Format for the response: simplified or legacy'
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
    authentication:
      type: apikey
      key: Authorization
      value: '{{env.KIBANA_API_KEY}}'
      placement: header
  exposes:
  - type: rest
    namespace: kibana-fleet-package-policies-rest
    port: 8080
    description: REST adapter for Kibana APIs — Fleet package policies. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/api/fleet/package-policies
      name: api-fleet-package-policies
      description: REST surface for api-fleet-package_policies.
      operations:
      - method: GET
        name: getfleetpackagepolicies
        description: Get package policies
        call: kibana-fleet-package-policies.getfleetpackagepolicies
        with:
          page: rest.page
          perPage: rest.perPage
          sortField: rest.sortField
          sortOrder: rest.sortOrder
          showUpgradeable: rest.showUpgradeable
          kuery: rest.kuery
          format: rest.format
          withAgentCount: rest.withAgentCount
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: postfleetpackagepolicies
        description: Create a package policy
        call: kibana-fleet-package-policies.postfleetpackagepolicies
        with:
          kbn-xsrf: rest.kbn-xsrf
          format: rest.format
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/fleet/package-policies/bulk-get
      name: api-fleet-package-policies-bulk-get
      description: REST surface for api-fleet-package_policies-_bulk_get.
      operations:
      - method: POST
        name: postfleetpackagepoliciesbulkget
        description: Bulk get package policies
        call: kibana-fleet-package-policies.postfleetpackagepoliciesbulkget
        with:
          kbn-xsrf: rest.kbn-xsrf
          format: rest.format
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/fleet/package-policies/delete
      name: api-fleet-package-policies-delete
      description: REST surface for api-fleet-package_policies-delete.
      operations:
      - method: POST
        name: postfleetpackagepoliciesdelete
        description: Bulk delete package policies
        call: kibana-fleet-package-policies.postfleetpackagepoliciesdelete
        with:
          kbn-xsrf: rest.kbn-xsrf
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/fleet/package-policies/upgrade
      name: api-fleet-package-policies-upgrade
      description: REST surface for api-fleet-package_policies-upgrade.
      operations:
      - method: POST
        name: postfleetpackagepoliciesupgrade
        description: Upgrade a package policy
        call: kibana-fleet-package-policies.postfleetpackagepoliciesupgrade
        with:
          kbn-xsrf: rest.kbn-xsrf
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/fleet/package-policies/upgrade/dryrun
      name: api-fleet-package-policies-upgrade-dryrun
      description: REST surface for api-fleet-package_policies-upgrade-dryrun.
      operations:
      - method: POST
        name: postfleetpackagepoliciesupgradedryrun
        description: Dry run a package policy upgrade
        call: kibana-fleet-package-policies.postfleetpackagepoliciesupgradedryrun
        with:
          kbn-xsrf: rest.kbn-xsrf
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/api/fleet/package-policies/{packagepolicyid}
      name: api-fleet-package-policies-packagepolicyid
      description: REST surface for api-fleet-package_policies-packagePolicyId.
      operations:
      - method: DELETE
        name: deletefleetpackagepoliciespackagepolicyid
        description: Delete a package policy
        call: kibana-fleet-package-policies.deletefleetpackagepoliciespackagepolicyid
        with:
          kbn-xsrf: rest.kbn-xsrf
          packagePolicyId: rest.packagePolicyId
          force: rest.force
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: getfleetpackagepoliciespackagepolicyid
        description: Get a package policy
        call: kibana-fleet-package-policies.getfleetpackagepoliciespackagepolicyid
        with:
          packagePolicyId: rest.packagePolicyId
          format: rest.format
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: putfleetpackagepoliciespackagepolicyid
        description: Update a package policy
        call: kibana-fleet-package-policies.putfleetpackagepoliciespackagepolicyid
        with:
          kbn-xsrf: rest.kbn-xsrf
          packagePolicyId: rest.packagePolicyId
          format: rest.format
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: kibana-fleet-package-policies-mcp
    port: 9090
    transport: http
    description: MCP adapter for Kibana APIs — Fleet package policies. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: get-package-policies
      description: Get package policies
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: kibana-fleet-package-policies.getfleetpackagepolicies
      with:
        page: tools.page
        perPage: tools.perPage
        sortField: tools.sortField
        sortOrder: tools.sortOrder
        showUpgradeable: tools.showUpgradeable
        kuery: tools.kuery
        format: tools.format
        withAgentCount: tools.withAgentCount
      outputParameters:
      - type: object
        mapping: $.
    - name: create-package-policy
      description: Create a package policy
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: kibana-fleet-package-policies.postfleetpackagepolicies
      with:
        kbn-xsrf: tools.kbn-xsrf
        format: tools.format
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: bulk-get-package-policies
      description: Bulk get package policies
      hints:
        readOnly: true
        destructive: false
        idempotent: false
      call: kibana-fleet-package-policies.postfleetpackagepoliciesbulkget
      with:
        kbn-xsrf: tools.kbn-xsrf
        format: tools.format
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: bulk-delete-package-policies
      description: Bulk delete package policies
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: kibana-fleet-package-policies.postfleetpackagepoliciesdelete
      with:
        kbn-xsrf: tools.kbn-xsrf
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: upgrade-package-policy
      description: Upgrade a package policy
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: kibana-fleet-package-policies.postfleetpackagepoliciesupgrade
      with:
        kbn-xsrf: tools.kbn-xsrf
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: dry-run-package-policy-upgrade
      description: Dry run a package policy upgrade
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: kibana-fleet-package-policies.postfleetpackagepoliciesupgradedryrun
      with:
        kbn-xsrf: tools.kbn-xsrf
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-package-policy
      description: Delete a package policy
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: kibana-fleet-package-policies.deletefleetpackagepoliciespackagepolicyid
      with:
        kbn-xsrf: tools.kbn-xsrf
        packagePolicyId: tools.packagePolicyId
        force: tools.force
      outputParameters:
      - type: object
        mapping: $.
    - name: get-package-policy
      description: Get a package policy
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: kibana-fleet-package-policies.getfleetpackagepoliciespackagepolicyid
      with:
        packagePolicyId: tools.packagePolicyId
        format: tools.format
      outputParameters:
      - type: object
        mapping: $.
    - name: update-package-policy
      description: Update a package policy
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: kibana-fleet-package-policies.putfleetpackagepoliciespackagepolicyid
      with:
        kbn-xsrf: tools.kbn-xsrf
        packagePolicyId: tools.packagePolicyId
        format: tools.format
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.