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: $.