Incus · Capability
Incus external REST API — networks
Incus external REST API — networks. 10 operations. Lead operation: Get the networks. Self-contained Naftiko capability covering one Incus business surface.
What You Can Do
GET
Networksget
— Get the networks
/v1/1-0/networks
POST
Networkspost
— Add a network
/v1/1-0/networks
DELETE
Networkdelete
— Delete the network
/v1/1-0/networks/{name}
GET
Networkget
— Get the network
/v1/1-0/networks/{name}
PATCH
Networkpatch
— Partially update the network
/v1/1-0/networks/{name}
POST
Networkpost
— Rename the network
/v1/1-0/networks/{name}
PUT
Networkput
— Update the network
/v1/1-0/networks/{name}
GET
Networksleasesget
— Get the DHCP leases
/v1/1-0/networks/{name}/leases
GET
Networksstateget
— Get the network state
/v1/1-0/networks/{name}/state
GET
Networksgetrecursion1
— Get the networks
/v1/1-0/networks-recursion-1
MCP Tools
get-networks
Get the networks
read-only
idempotent
add-network
Add a network
delete-network
Delete the network
idempotent
get-network
Get the network
read-only
idempotent
partially-update-network
Partially update the network
idempotent
rename-network
Rename the network
update-network
Update the network
idempotent
get-dhcp-leases
Get the DHCP leases
read-only
idempotent
get-network-state
Get the network state
read-only
idempotent
get-networks-2
Get the networks
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Incus external REST API — networks
description: 'Incus external REST API — networks. 10 operations. Lead operation: Get the networks. Self-contained Naftiko
capability covering one Incus business surface.'
tags:
- Incus
- networks
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
INCUS_API_KEY: INCUS_API_KEY
capability:
consumes:
- type: http
namespace: incus-networks
baseUri: ''
description: Incus external REST API — networks business capability. Self-contained, no shared references.
resources:
- name: 1.0-networks
path: /1.0/networks
operations:
- name: networksget
method: GET
description: Get the networks
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: project
in: query
type: string
description: Project name
- name: all-projects
in: query
type: boolean
description: Retrieve networks from all projects
- name: filter
in: query
type: string
description: Collection filter
- name: networkspost
method: POST
description: Add a network
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: project
in: query
type: string
description: Project name
- name: target
in: query
type: string
description: Cluster member name
- name: network
in: body
type: string
description: Network
required: true
- name: 1.0-networks-name
path: /1.0/networks/{name}
operations:
- name: networkdelete
method: DELETE
description: Delete the network
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: name
in: path
type: string
description: Network name
required: true
- name: project
in: query
type: string
description: Project name
- name: networkget
method: GET
description: Get the network
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: name
in: path
type: string
description: Network name
required: true
- name: project
in: query
type: string
description: Project name
- name: target
in: query
type: string
description: Cluster member name
- name: networkpatch
method: PATCH
description: Partially update the network
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: name
in: path
type: string
description: Network name
required: true
- name: project
in: query
type: string
description: Project name
- name: target
in: query
type: string
description: Cluster member name
- name: network
in: body
type: string
description: Network configuration
required: true
- name: networkpost
method: POST
description: Rename the network
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: name
in: path
type: string
description: Network name
required: true
- name: project
in: query
type: string
description: Project name
- name: network
in: body
type: string
description: Network rename request
required: true
- name: networkput
method: PUT
description: Update the network
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: name
in: path
type: string
description: Network name
required: true
- name: project
in: query
type: string
description: Project name
- name: target
in: query
type: string
description: Cluster member name
- name: network
in: body
type: string
description: Network configuration
required: true
- name: 1.0-networks-name-leases
path: /1.0/networks/{name}/leases
operations:
- name: networksleasesget
method: GET
description: Get the DHCP leases
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: name
in: path
type: string
description: Network name
required: true
- name: project
in: query
type: string
description: Project name
- name: target
in: query
type: string
description: Cluster member name
- name: 1.0-networks-name-state
path: /1.0/networks/{name}/state
operations:
- name: networksstateget
method: GET
description: Get the network state
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: name
in: path
type: string
description: Network name
required: true
- name: project
in: query
type: string
description: Project name
- name: target
in: query
type: string
description: Cluster member name
- name: 1.0-networks?recursion=1
path: /1.0/networks?recursion=1
operations:
- name: networksgetrecursion1
method: GET
description: Get the networks
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: project
in: query
type: string
description: Project name
- name: all-projects
in: query
type: boolean
description: Retrieve networks from all projects
- name: filter
in: query
type: string
description: Collection filter
exposes:
- type: rest
namespace: incus-networks-rest
port: 8080
description: REST adapter for Incus external REST API — networks. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/1-0/networks
name: 1-0-networks
description: REST surface for 1.0-networks.
operations:
- method: GET
name: networksget
description: Get the networks
call: incus-networks.networksget
with:
project: rest.project
all-projects: rest.all-projects
filter: rest.filter
outputParameters:
- type: object
mapping: $.
- method: POST
name: networkspost
description: Add a network
call: incus-networks.networkspost
with:
project: rest.project
target: rest.target
network: rest.network
outputParameters:
- type: object
mapping: $.
- path: /v1/1-0/networks/{name}
name: 1-0-networks-name
description: REST surface for 1.0-networks-name.
operations:
- method: DELETE
name: networkdelete
description: Delete the network
call: incus-networks.networkdelete
with:
name: rest.name
project: rest.project
outputParameters:
- type: object
mapping: $.
- method: GET
name: networkget
description: Get the network
call: incus-networks.networkget
with:
name: rest.name
project: rest.project
target: rest.target
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: networkpatch
description: Partially update the network
call: incus-networks.networkpatch
with:
name: rest.name
project: rest.project
target: rest.target
network: rest.network
outputParameters:
- type: object
mapping: $.
- method: POST
name: networkpost
description: Rename the network
call: incus-networks.networkpost
with:
name: rest.name
project: rest.project
network: rest.network
outputParameters:
- type: object
mapping: $.
- method: PUT
name: networkput
description: Update the network
call: incus-networks.networkput
with:
name: rest.name
project: rest.project
target: rest.target
network: rest.network
outputParameters:
- type: object
mapping: $.
- path: /v1/1-0/networks/{name}/leases
name: 1-0-networks-name-leases
description: REST surface for 1.0-networks-name-leases.
operations:
- method: GET
name: networksleasesget
description: Get the DHCP leases
call: incus-networks.networksleasesget
with:
name: rest.name
project: rest.project
target: rest.target
outputParameters:
- type: object
mapping: $.
- path: /v1/1-0/networks/{name}/state
name: 1-0-networks-name-state
description: REST surface for 1.0-networks-name-state.
operations:
- method: GET
name: networksstateget
description: Get the network state
call: incus-networks.networksstateget
with:
name: rest.name
project: rest.project
target: rest.target
outputParameters:
- type: object
mapping: $.
- path: /v1/1-0/networks-recursion-1
name: 1-0-networks-recursion-1
description: REST surface for 1.0-networks?recursion=1.
operations:
- method: GET
name: networksgetrecursion1
description: Get the networks
call: incus-networks.networksgetrecursion1
with:
project: rest.project
all-projects: rest.all-projects
filter: rest.filter
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: incus-networks-mcp
port: 9090
transport: http
description: MCP adapter for Incus external REST API — networks. One tool per consumed operation, routed inline through
this capability's consumes block.
tools:
- name: get-networks
description: Get the networks
hints:
readOnly: true
destructive: false
idempotent: true
call: incus-networks.networksget
with:
project: tools.project
all-projects: tools.all-projects
filter: tools.filter
outputParameters:
- type: object
mapping: $.
- name: add-network
description: Add a network
hints:
readOnly: false
destructive: false
idempotent: false
call: incus-networks.networkspost
with:
project: tools.project
target: tools.target
network: tools.network
outputParameters:
- type: object
mapping: $.
- name: delete-network
description: Delete the network
hints:
readOnly: false
destructive: true
idempotent: true
call: incus-networks.networkdelete
with:
name: tools.name
project: tools.project
outputParameters:
- type: object
mapping: $.
- name: get-network
description: Get the network
hints:
readOnly: true
destructive: false
idempotent: true
call: incus-networks.networkget
with:
name: tools.name
project: tools.project
target: tools.target
outputParameters:
- type: object
mapping: $.
- name: partially-update-network
description: Partially update the network
hints:
readOnly: false
destructive: false
idempotent: true
call: incus-networks.networkpatch
with:
name: tools.name
project: tools.project
target: tools.target
network: tools.network
outputParameters:
- type: object
mapping: $.
- name: rename-network
description: Rename the network
hints:
readOnly: false
destructive: false
idempotent: false
call: incus-networks.networkpost
with:
name: tools.name
project: tools.project
network: tools.network
outputParameters:
- type: object
mapping: $.
- name: update-network
description: Update the network
hints:
readOnly: false
destructive: false
idempotent: true
call: incus-networks.networkput
with:
name: tools.name
project: tools.project
target: tools.target
network: tools.network
outputParameters:
- type: object
mapping: $.
- name: get-dhcp-leases
description: Get the DHCP leases
hints:
readOnly: true
destructive: false
idempotent: true
call: incus-networks.networksleasesget
with:
name: tools.name
project: tools.project
target: tools.target
outputParameters:
- type: object
mapping: $.
- name: get-network-state
description: Get the network state
hints:
readOnly: true
destructive: false
idempotent: true
call: incus-networks.networksstateget
with:
name: tools.name
project: tools.project
target: tools.target
outputParameters:
- type: object
mapping: $.
- name: get-networks-2
description: Get the networks
hints:
readOnly: true
destructive: false
idempotent: true
call: incus-networks.networksgetrecursion1
with:
project: tools.project
all-projects: tools.all-projects
filter: tools.filter
outputParameters:
- type: object
mapping: $.