Incus · Capability

Incus external REST API — network-peers

Incus external REST API — network-peers. 7 operations. Lead operation: Get the network peers. Self-contained Naftiko capability covering one Incus business surface.

Run with Naftiko Incusnetwork-peers

What You Can Do

GET
Networkpeersget — Get the network peers
/v1/1-0/networks/{networkname}/peers
POST
Networkpeerspost — Add a network peer
/v1/1-0/networks/{networkname}/peers
DELETE
Networkpeerdelete — Delete the network peer
/v1/1-0/networks/{networkname}/peers/{peername}
GET
Networkpeerget — Get the network peer
/v1/1-0/networks/{networkname}/peers/{peername}
PATCH
Networkpeerpatch — Partially update the network peer
/v1/1-0/networks/{networkname}/peers/{peername}
PUT
Networkpeerput — Update the network peer
/v1/1-0/networks/{networkname}/peers/{peername}
GET
Networkpeergetrecursion1 — Get the network peers
/v1/1-0/networks/{networkname}/peers-recursion-1

MCP Tools

get-network-peers

Get the network peers

read-only idempotent
add-network-peer

Add a network peer

delete-network-peer

Delete the network peer

idempotent
get-network-peer

Get the network peer

read-only idempotent
partially-update-network-peer

Partially update the network peer

idempotent
update-network-peer

Update the network peer

idempotent
get-network-peers-2

Get the network peers

read-only idempotent

Capability Spec

incus-network-peers.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: Incus external REST API — network-peers
  description: 'Incus external REST API — network-peers. 7 operations. Lead operation: Get the network peers. Self-contained
    Naftiko capability covering one Incus business surface.'
  tags:
  - Incus
  - network-peers
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    INCUS_API_KEY: INCUS_API_KEY
capability:
  consumes:
  - type: http
    namespace: incus-network-peers
    baseUri: ''
    description: Incus external REST API — network-peers business capability. Self-contained, no shared references.
    resources:
    - name: 1.0-networks-networkName-peers
      path: /1.0/networks/{networkName}/peers
      operations:
      - name: networkpeersget
        method: GET
        description: Get the network peers
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: networkName
          in: path
          type: string
          description: Network name
          required: true
        - name: project
          in: query
          type: string
          description: Project name
        - name: filter
          in: query
          type: string
          description: Collection filter
      - name: networkpeerspost
        method: POST
        description: Add a network peer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: networkName
          in: path
          type: string
          description: Network name
          required: true
        - name: project
          in: query
          type: string
          description: Project name
        - name: peer
          in: body
          type: string
          description: Peer
          required: true
    - name: 1.0-networks-networkName-peers-peerName
      path: /1.0/networks/{networkName}/peers/{peerName}
      operations:
      - name: networkpeerdelete
        method: DELETE
        description: Delete the network peer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: networkName
          in: path
          type: string
          description: Network name
          required: true
        - name: peerName
          in: path
          type: string
          description: Peer name
          required: true
        - name: project
          in: query
          type: string
          description: Project name
      - name: networkpeerget
        method: GET
        description: Get the network peer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: networkName
          in: path
          type: string
          description: Network name
          required: true
        - name: peerName
          in: path
          type: string
          description: Peer name
          required: true
        - name: project
          in: query
          type: string
          description: Project name
      - name: networkpeerpatch
        method: PATCH
        description: Partially update the network peer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: networkName
          in: path
          type: string
          description: Network name
          required: true
        - name: peerName
          in: path
          type: string
          description: Peer name
          required: true
        - name: project
          in: query
          type: string
          description: Project name
        - name: Peer
          in: body
          type: string
          description: Peer configuration
          required: true
      - name: networkpeerput
        method: PUT
        description: Update the network peer
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: networkName
          in: path
          type: string
          description: Network name
          required: true
        - name: peerName
          in: path
          type: string
          description: Peer name
          required: true
        - name: project
          in: query
          type: string
          description: Project name
        - name: peer
          in: body
          type: string
          description: Peer configuration
          required: true
    - name: 1.0-networks-networkName-peers?recursion=1
      path: /1.0/networks/{networkName}/peers?recursion=1
      operations:
      - name: networkpeergetrecursion1
        method: GET
        description: Get the network peers
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: networkName
          in: path
          type: string
          description: Network name
          required: true
        - name: project
          in: query
          type: string
          description: Project name
        - name: filter
          in: query
          type: string
          description: Collection filter
  exposes:
  - type: rest
    namespace: incus-network-peers-rest
    port: 8080
    description: REST adapter for Incus external REST API — network-peers. One Spectral-compliant resource per consumed operation,
      prefixed with /v1.
    resources:
    - path: /v1/1-0/networks/{networkname}/peers
      name: 1-0-networks-networkname-peers
      description: REST surface for 1.0-networks-networkName-peers.
      operations:
      - method: GET
        name: networkpeersget
        description: Get the network peers
        call: incus-network-peers.networkpeersget
        with:
          networkName: rest.networkName
          project: rest.project
          filter: rest.filter
        outputParameters:
        - type: object
          mapping: $.
      - method: POST
        name: networkpeerspost
        description: Add a network peer
        call: incus-network-peers.networkpeerspost
        with:
          networkName: rest.networkName
          project: rest.project
          peer: rest.peer
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/1-0/networks/{networkname}/peers/{peername}
      name: 1-0-networks-networkname-peers-peername
      description: REST surface for 1.0-networks-networkName-peers-peerName.
      operations:
      - method: DELETE
        name: networkpeerdelete
        description: Delete the network peer
        call: incus-network-peers.networkpeerdelete
        with:
          networkName: rest.networkName
          peerName: rest.peerName
          project: rest.project
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: networkpeerget
        description: Get the network peer
        call: incus-network-peers.networkpeerget
        with:
          networkName: rest.networkName
          peerName: rest.peerName
          project: rest.project
        outputParameters:
        - type: object
          mapping: $.
      - method: PATCH
        name: networkpeerpatch
        description: Partially update the network peer
        call: incus-network-peers.networkpeerpatch
        with:
          networkName: rest.networkName
          peerName: rest.peerName
          project: rest.project
          Peer: rest.Peer
        outputParameters:
        - type: object
          mapping: $.
      - method: PUT
        name: networkpeerput
        description: Update the network peer
        call: incus-network-peers.networkpeerput
        with:
          networkName: rest.networkName
          peerName: rest.peerName
          project: rest.project
          peer: rest.peer
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/1-0/networks/{networkname}/peers-recursion-1
      name: 1-0-networks-networkname-peers-recursion-1
      description: REST surface for 1.0-networks-networkName-peers?recursion=1.
      operations:
      - method: GET
        name: networkpeergetrecursion1
        description: Get the network peers
        call: incus-network-peers.networkpeergetrecursion1
        with:
          networkName: rest.networkName
          project: rest.project
          filter: rest.filter
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: incus-network-peers-mcp
    port: 9090
    transport: http
    description: MCP adapter for Incus external REST API — network-peers. One tool per consumed operation, routed inline through
      this capability's consumes block.
    tools:
    - name: get-network-peers
      description: Get the network peers
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: incus-network-peers.networkpeersget
      with:
        networkName: tools.networkName
        project: tools.project
        filter: tools.filter
      outputParameters:
      - type: object
        mapping: $.
    - name: add-network-peer
      description: Add a network peer
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: incus-network-peers.networkpeerspost
      with:
        networkName: tools.networkName
        project: tools.project
        peer: tools.peer
      outputParameters:
      - type: object
        mapping: $.
    - name: delete-network-peer
      description: Delete the network peer
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: incus-network-peers.networkpeerdelete
      with:
        networkName: tools.networkName
        peerName: tools.peerName
        project: tools.project
      outputParameters:
      - type: object
        mapping: $.
    - name: get-network-peer
      description: Get the network peer
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: incus-network-peers.networkpeerget
      with:
        networkName: tools.networkName
        peerName: tools.peerName
        project: tools.project
      outputParameters:
      - type: object
        mapping: $.
    - name: partially-update-network-peer
      description: Partially update the network peer
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: incus-network-peers.networkpeerpatch
      with:
        networkName: tools.networkName
        peerName: tools.peerName
        project: tools.project
        Peer: tools.Peer
      outputParameters:
      - type: object
        mapping: $.
    - name: update-network-peer
      description: Update the network peer
      hints:
        readOnly: false
        destructive: false
        idempotent: true
      call: incus-network-peers.networkpeerput
      with:
        networkName: tools.networkName
        peerName: tools.peerName
        project: tools.project
        peer: tools.peer
      outputParameters:
      - type: object
        mapping: $.
    - name: get-network-peers-2
      description: Get the network peers
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: incus-network-peers.networkpeergetrecursion1
      with:
        networkName: tools.networkName
        project: tools.project
        filter: tools.filter
      outputParameters:
      - type: object
        mapping: $.