Kuma · Capability

Kuma API

Kuma API. 9 operations. Lead operation: Get a proxy XDS config on a CP, this endpoint is only available on zone CPs.. Self-contained Naftiko capability covering one Kuma business surface.

Run with Naftiko Kuma

What You Can Do

GET
Getdataplaneoverviewlist — getdataplaneoverviewlist
/v1/meshes/{mesh}/dataplanes/overview
GET
Getdataplanesxdsconfig — Get a proxy XDS config on a CP, this endpoint is only available on zone CPs.
/v1/meshes/{mesh}/dataplanes/{name}/config
GET
Getinboundpolicyconf — Get policies for this inbound
/v1/meshes/{mesh}/dataplanes/{name}/inbounds/{inbound-kri}/policies
GET
Getdataplaneslayout — Get networking layout for this dataplane
/v1/meshes/{mesh}/dataplanes/{name}/layout
GET
Getoutboundpolicyconf — Get policies for this outbound
/v1/meshes/{mesh}/dataplanes/{name}/outbounds/{kri}/policies
GET
Getoutboundroutes — Get routes configuration for this outbound
/v1/meshes/{mesh}/dataplanes/{name}/outbounds/{kri}/routes
GET
Getroutepolicyconf — Get policies for this route
/v1/meshes/{mesh}/dataplanes/{name}/outbounds/{outbound-kri}/routes/{route-kri}/policies
GET
Getdataplaneoverview — getdataplaneoverview
/v1/meshes/{mesh}/dataplanes/{name}/overview
GET
Getproxypolicyconf — Get proxy policies for this dataplane
/v1/meshes/{mesh}/dataplanes/{name}/policies

MCP Tools

getdataplaneoverviewlist

getdataplaneoverviewlist

read-only idempotent
get-proxy-xds-config-cp

Get a proxy XDS config on a CP, this endpoint is only available on zone CPs.

read-only idempotent
get-policies-this-inbound

Get policies for this inbound

read-only idempotent
get-networking-layout-this-dataplane

Get networking layout for this dataplane

read-only idempotent
get-policies-this-outbound

Get policies for this outbound

read-only idempotent
get-routes-configuration-this-outbound

Get routes configuration for this outbound

read-only idempotent
get-policies-this-route

Get policies for this route

read-only idempotent
getdataplaneoverview

getdataplaneoverview

read-only idempotent
get-proxy-policies-this-dataplane

Get proxy policies for this dataplane

read-only idempotent

Capability Spec

kuma-general.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Kuma API
  description: 'Kuma API. 9 operations. Lead operation: Get a proxy XDS config on a CP, this endpoint is only available on
    zone CPs.. Self-contained Naftiko capability covering one Kuma business surface.'
  tags:
  - Kuma
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    KUMA_API_KEY: KUMA_API_KEY
capability:
  consumes:
  - type: http
    namespace: kuma-general
    baseUri: ''
    description: Kuma API business capability. Self-contained, no shared references.
    resources:
    - name: meshes-mesh-dataplanes-_overview
      path: /meshes/{mesh}/dataplanes/_overview
      operations:
      - name: getdataplaneoverviewlist
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mesh
          in: path
          type: string
          description: The mesh of the DPP to get the diff for.
          required: true
    - name: meshes-mesh-dataplanes-name-_config
      path: /meshes/{mesh}/dataplanes/{name}/_config
      operations:
      - name: getdataplanesxdsconfig
        method: GET
        description: Get a proxy XDS config on a CP, this endpoint is only available on zone CPs.
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mesh
          in: path
          type: string
          description: The mesh of the DPP to get the diff for.
          required: true
        - name: name
          in: path
          type: string
          description: The name of the DPP within the mesh to get the diff for.
          required: true
        - name: shadow
          in: query
          type: boolean
          description: 'When computing XDS config the CP take into account policies with ''kuma.io/effect: shadow'' label'
        - name: include
          in: query
          type: array
          description: An array of extra fields to include in the response. When `include=diff` the server computes a diff
            in JSONPatch format
    - name: meshes-mesh-dataplanes-name-_inbounds-inbound-kri-_policies
      path: /meshes/{mesh}/dataplanes/{name}/_inbounds/{inbound-kri}/_policies
      operations:
      - name: getinboundpolicyconf
        method: GET
        description: Get policies for this inbound
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mesh
          in: path
          type: string
          description: The mesh of the DPP to get the policies for.
          required: true
        - name: name
          in: path
          type: string
          description: The name of the DPP within the mesh to get the policies for.
          required: true
        - name: inbound-kri
          in: path
          type: string
          description: The name of the Inbound from DPP to get the policies for.
          required: true
    - name: meshes-mesh-dataplanes-name-_layout
      path: /meshes/{mesh}/dataplanes/{name}/_layout
      operations:
      - name: getdataplaneslayout
        method: GET
        description: Get networking layout for this dataplane
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mesh
          in: path
          type: string
          description: The mesh of the DPP to get the layout for.
          required: true
        - name: name
          in: path
          type: string
          description: The name of the DPP within the mesh to get the layout for.
          required: true
    - name: meshes-mesh-dataplanes-name-_outbounds-kri-_policies
      path: /meshes/{mesh}/dataplanes/{name}/_outbounds/{kri}/_policies
      operations:
      - name: getoutboundpolicyconf
        method: GET
        description: Get policies for this outbound
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mesh
          in: path
          type: string
          description: The mesh of the DPP to get the policies for.
          required: true
        - name: name
          in: path
          type: string
          description: The name of the DPP within the mesh to get the policies for.
          required: true
        - name: kri
          in: path
          type: string
          description: The KRI of the Outbound to get the policies for.
          required: true
    - name: meshes-mesh-dataplanes-name-_outbounds-kri-_routes
      path: /meshes/{mesh}/dataplanes/{name}/_outbounds/{kri}/_routes
      operations:
      - name: getoutboundroutes
        method: GET
        description: Get routes configuration for this outbound
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mesh
          in: path
          type: string
          description: The mesh of the DPP to get the policies for.
          required: true
        - name: name
          in: path
          type: string
          description: The name of the DPP within the mesh to get the policies for.
          required: true
        - name: kri
          in: path
          type: string
          description: The KRI of the Outbound to get the routes for.
          required: true
    - name: meshes-mesh-dataplanes-name-_outbounds-outbound-kri-_routes-route-kri-_policies
      path: /meshes/{mesh}/dataplanes/{name}/_outbounds/{outbound-kri}/_routes/{route-kri}/_policies
      operations:
      - name: getroutepolicyconf
        method: GET
        description: Get policies for this route
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mesh
          in: path
          type: string
          description: The mesh of the DPP to get the policies for.
          required: true
        - name: name
          in: path
          type: string
          description: The name of the DPP within the mesh to get the policies for.
          required: true
        - name: outbound-kri
          in: path
          type: string
          description: The KRI of the Outbound to get the routes for.
          required: true
        - name: route-kri
          in: path
          type: string
          description: The KRI of the Route to get the configuration for.
          required: true
    - name: meshes-mesh-dataplanes-name-_overview
      path: /meshes/{mesh}/dataplanes/{name}/_overview
      operations:
      - name: getdataplaneoverview
        method: GET
        description: ''
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mesh
          in: path
          type: string
          description: The mesh of the DPP to get the diff for.
          required: true
        - name: name
          in: path
          type: string
          description: The name of the DPP within the mesh to get the diff for.
          required: true
    - name: meshes-mesh-dataplanes-name-_policies
      path: /meshes/{mesh}/dataplanes/{name}/_policies
      operations:
      - name: getproxypolicyconf
        method: GET
        description: Get proxy policies for this dataplane
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: mesh
          in: path
          type: string
          description: The mesh of the DPP to get the diff for.
          required: true
        - name: name
          in: path
          type: string
          description: The name of the DPP within the mesh to get the diff for.
          required: true
    authentication:
      type: bearer
      token: '{{env.KUMA_API_KEY}}'
  exposes:
  - type: rest
    namespace: kuma-general-rest
    port: 8080
    description: REST adapter for Kuma API. One Spectral-compliant resource per consumed operation, prefixed with /v1.
    resources:
    - path: /v1/meshes/{mesh}/dataplanes/overview
      name: meshes-mesh-dataplanes-overview
      description: REST surface for meshes-mesh-dataplanes-_overview.
      operations:
      - method: GET
        name: getdataplaneoverviewlist
        description: getdataplaneoverviewlist
        call: kuma-general.getdataplaneoverviewlist
        with:
          mesh: rest.mesh
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/meshes/{mesh}/dataplanes/{name}/config
      name: meshes-mesh-dataplanes-name-config
      description: REST surface for meshes-mesh-dataplanes-name-_config.
      operations:
      - method: GET
        name: getdataplanesxdsconfig
        description: Get a proxy XDS config on a CP, this endpoint is only available on zone CPs.
        call: kuma-general.getdataplanesxdsconfig
        with:
          mesh: rest.mesh
          name: rest.name
          shadow: rest.shadow
          include: rest.include
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/meshes/{mesh}/dataplanes/{name}/inbounds/{inbound-kri}/policies
      name: meshes-mesh-dataplanes-name-inbounds-inbound-kri-policies
      description: REST surface for meshes-mesh-dataplanes-name-_inbounds-inbound-kri-_policies.
      operations:
      - method: GET
        name: getinboundpolicyconf
        description: Get policies for this inbound
        call: kuma-general.getinboundpolicyconf
        with:
          mesh: rest.mesh
          name: rest.name
          inbound-kri: rest.inbound-kri
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/meshes/{mesh}/dataplanes/{name}/layout
      name: meshes-mesh-dataplanes-name-layout
      description: REST surface for meshes-mesh-dataplanes-name-_layout.
      operations:
      - method: GET
        name: getdataplaneslayout
        description: Get networking layout for this dataplane
        call: kuma-general.getdataplaneslayout
        with:
          mesh: rest.mesh
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/meshes/{mesh}/dataplanes/{name}/outbounds/{kri}/policies
      name: meshes-mesh-dataplanes-name-outbounds-kri-policies
      description: REST surface for meshes-mesh-dataplanes-name-_outbounds-kri-_policies.
      operations:
      - method: GET
        name: getoutboundpolicyconf
        description: Get policies for this outbound
        call: kuma-general.getoutboundpolicyconf
        with:
          mesh: rest.mesh
          name: rest.name
          kri: rest.kri
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/meshes/{mesh}/dataplanes/{name}/outbounds/{kri}/routes
      name: meshes-mesh-dataplanes-name-outbounds-kri-routes
      description: REST surface for meshes-mesh-dataplanes-name-_outbounds-kri-_routes.
      operations:
      - method: GET
        name: getoutboundroutes
        description: Get routes configuration for this outbound
        call: kuma-general.getoutboundroutes
        with:
          mesh: rest.mesh
          name: rest.name
          kri: rest.kri
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/meshes/{mesh}/dataplanes/{name}/outbounds/{outbound-kri}/routes/{route-kri}/policies
      name: meshes-mesh-dataplanes-name-outbounds-outbound-kri-routes-route-kri-policies
      description: REST surface for meshes-mesh-dataplanes-name-_outbounds-outbound-kri-_routes-route-kri-_policies.
      operations:
      - method: GET
        name: getroutepolicyconf
        description: Get policies for this route
        call: kuma-general.getroutepolicyconf
        with:
          mesh: rest.mesh
          name: rest.name
          outbound-kri: rest.outbound-kri
          route-kri: rest.route-kri
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/meshes/{mesh}/dataplanes/{name}/overview
      name: meshes-mesh-dataplanes-name-overview
      description: REST surface for meshes-mesh-dataplanes-name-_overview.
      operations:
      - method: GET
        name: getdataplaneoverview
        description: getdataplaneoverview
        call: kuma-general.getdataplaneoverview
        with:
          mesh: rest.mesh
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/meshes/{mesh}/dataplanes/{name}/policies
      name: meshes-mesh-dataplanes-name-policies
      description: REST surface for meshes-mesh-dataplanes-name-_policies.
      operations:
      - method: GET
        name: getproxypolicyconf
        description: Get proxy policies for this dataplane
        call: kuma-general.getproxypolicyconf
        with:
          mesh: rest.mesh
          name: rest.name
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: kuma-general-mcp
    port: 9090
    transport: http
    description: MCP adapter for Kuma API. One tool per consumed operation, routed inline through this capability's consumes
      block.
    tools:
    - name: getdataplaneoverviewlist
      description: getdataplaneoverviewlist
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: kuma-general.getdataplaneoverviewlist
      with:
        mesh: tools.mesh
      outputParameters:
      - type: object
        mapping: $.
    - name: get-proxy-xds-config-cp
      description: Get a proxy XDS config on a CP, this endpoint is only available on zone CPs.
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: kuma-general.getdataplanesxdsconfig
      with:
        mesh: tools.mesh
        name: tools.name
        shadow: tools.shadow
        include: tools.include
      outputParameters:
      - type: object
        mapping: $.
    - name: get-policies-this-inbound
      description: Get policies for this inbound
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: kuma-general.getinboundpolicyconf
      with:
        mesh: tools.mesh
        name: tools.name
        inbound-kri: tools.inbound-kri
      outputParameters:
      - type: object
        mapping: $.
    - name: get-networking-layout-this-dataplane
      description: Get networking layout for this dataplane
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: kuma-general.getdataplaneslayout
      with:
        mesh: tools.mesh
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.
    - name: get-policies-this-outbound
      description: Get policies for this outbound
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: kuma-general.getoutboundpolicyconf
      with:
        mesh: tools.mesh
        name: tools.name
        kri: tools.kri
      outputParameters:
      - type: object
        mapping: $.
    - name: get-routes-configuration-this-outbound
      description: Get routes configuration for this outbound
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: kuma-general.getoutboundroutes
      with:
        mesh: tools.mesh
        name: tools.name
        kri: tools.kri
      outputParameters:
      - type: object
        mapping: $.
    - name: get-policies-this-route
      description: Get policies for this route
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: kuma-general.getroutepolicyconf
      with:
        mesh: tools.mesh
        name: tools.name
        outbound-kri: tools.outbound-kri
        route-kri: tools.route-kri
      outputParameters:
      - type: object
        mapping: $.
    - name: getdataplaneoverview
      description: getdataplaneoverview
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: kuma-general.getdataplaneoverview
      with:
        mesh: tools.mesh
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.
    - name: get-proxy-policies-this-dataplane
      description: Get proxy policies for this dataplane
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: kuma-general.getproxypolicyconf
      with:
        mesh: tools.mesh
        name: tools.name
      outputParameters:
      - type: object
        mapping: $.