Incus · Capability
Incus external REST API — profiles
Incus external REST API — profiles. 8 operations. Lead operation: Get the profiles. Self-contained Naftiko capability covering one Incus business surface.
What You Can Do
GET
Profilesget
— Get the profiles
/v1/1-0/profiles
POST
Profilespost
— Add a profile
/v1/1-0/profiles
DELETE
Profiledelete
— Delete the profile
/v1/1-0/profiles/{name}
GET
Profileget
— Get the profile
/v1/1-0/profiles/{name}
PATCH
Profilepatch
— Partially update the profile
/v1/1-0/profiles/{name}
POST
Profilepost
— Rename the profile
/v1/1-0/profiles/{name}
PUT
Profileput
— Update the profile
/v1/1-0/profiles/{name}
GET
Profilesgetrecursion1
— Get the profiles
/v1/1-0/profiles-recursion-1
MCP Tools
get-profiles
Get the profiles
read-only
idempotent
add-profile
Add a profile
delete-profile
Delete the profile
idempotent
get-profile
Get the profile
read-only
idempotent
partially-update-profile
Partially update the profile
idempotent
rename-profile
Rename the profile
update-profile
Update the profile
idempotent
get-profiles-2
Get the profiles
read-only
idempotent
Capability Spec
naftiko: 1.0.0-alpha2
info:
label: Incus external REST API — profiles
description: 'Incus external REST API — profiles. 8 operations. Lead operation: Get the profiles. Self-contained Naftiko
capability covering one Incus business surface.'
tags:
- Incus
- profiles
created: '2026-05-19'
modified: '2026-05-19'
binds:
- namespace: env
keys:
INCUS_API_KEY: INCUS_API_KEY
capability:
consumes:
- type: http
namespace: incus-profiles
baseUri: ''
description: Incus external REST API — profiles business capability. Self-contained, no shared references.
resources:
- name: 1.0-profiles
path: /1.0/profiles
operations:
- name: profilesget
method: GET
description: Get the profiles
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 profiles from all projects
- name: filter
in: query
type: string
description: Collection filter
- name: profilespost
method: POST
description: Add a profile
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: project
in: query
type: string
description: Project name
- name: profile
in: body
type: string
description: Profile
required: true
- name: 1.0-profiles-name
path: /1.0/profiles/{name}
operations:
- name: profiledelete
method: DELETE
description: Delete the profile
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: name
in: path
type: string
description: Profile name
required: true
- name: project
in: query
type: string
description: Project name
- name: profileget
method: GET
description: Get the profile
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: name
in: path
type: string
description: Profile name
required: true
- name: project
in: query
type: string
description: Project name
- name: profilepatch
method: PATCH
description: Partially update the profile
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: name
in: path
type: string
description: Profile name
required: true
- name: project
in: query
type: string
description: Project name
- name: profile
in: body
type: string
description: Profile configuration
required: true
- name: profilepost
method: POST
description: Rename the profile
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: name
in: path
type: string
description: Profile name
required: true
- name: project
in: query
type: string
description: Project name
- name: profile
in: body
type: string
description: Profile rename request
required: true
- name: profileput
method: PUT
description: Update the profile
outputRawFormat: json
outputParameters:
- name: result
type: object
value: $.
inputParameters:
- name: name
in: path
type: string
description: Profile name
required: true
- name: project
in: query
type: string
description: Project name
- name: profile
in: body
type: string
description: Profile configuration
required: true
- name: 1.0-profiles?recursion=1
path: /1.0/profiles?recursion=1
operations:
- name: profilesgetrecursion1
method: GET
description: Get the profiles
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 profiles from all projects
- name: filter
in: query
type: string
description: Collection filter
exposes:
- type: rest
namespace: incus-profiles-rest
port: 8080
description: REST adapter for Incus external REST API — profiles. One Spectral-compliant resource per consumed operation,
prefixed with /v1.
resources:
- path: /v1/1-0/profiles
name: 1-0-profiles
description: REST surface for 1.0-profiles.
operations:
- method: GET
name: profilesget
description: Get the profiles
call: incus-profiles.profilesget
with:
project: rest.project
all-projects: rest.all-projects
filter: rest.filter
outputParameters:
- type: object
mapping: $.
- method: POST
name: profilespost
description: Add a profile
call: incus-profiles.profilespost
with:
project: rest.project
profile: rest.profile
outputParameters:
- type: object
mapping: $.
- path: /v1/1-0/profiles/{name}
name: 1-0-profiles-name
description: REST surface for 1.0-profiles-name.
operations:
- method: DELETE
name: profiledelete
description: Delete the profile
call: incus-profiles.profiledelete
with:
name: rest.name
project: rest.project
outputParameters:
- type: object
mapping: $.
- method: GET
name: profileget
description: Get the profile
call: incus-profiles.profileget
with:
name: rest.name
project: rest.project
outputParameters:
- type: object
mapping: $.
- method: PATCH
name: profilepatch
description: Partially update the profile
call: incus-profiles.profilepatch
with:
name: rest.name
project: rest.project
profile: rest.profile
outputParameters:
- type: object
mapping: $.
- method: POST
name: profilepost
description: Rename the profile
call: incus-profiles.profilepost
with:
name: rest.name
project: rest.project
profile: rest.profile
outputParameters:
- type: object
mapping: $.
- method: PUT
name: profileput
description: Update the profile
call: incus-profiles.profileput
with:
name: rest.name
project: rest.project
profile: rest.profile
outputParameters:
- type: object
mapping: $.
- path: /v1/1-0/profiles-recursion-1
name: 1-0-profiles-recursion-1
description: REST surface for 1.0-profiles?recursion=1.
operations:
- method: GET
name: profilesgetrecursion1
description: Get the profiles
call: incus-profiles.profilesgetrecursion1
with:
project: rest.project
all-projects: rest.all-projects
filter: rest.filter
outputParameters:
- type: object
mapping: $.
- type: mcp
namespace: incus-profiles-mcp
port: 9090
transport: http
description: MCP adapter for Incus external REST API — profiles. One tool per consumed operation, routed inline through
this capability's consumes block.
tools:
- name: get-profiles
description: Get the profiles
hints:
readOnly: true
destructive: false
idempotent: true
call: incus-profiles.profilesget
with:
project: tools.project
all-projects: tools.all-projects
filter: tools.filter
outputParameters:
- type: object
mapping: $.
- name: add-profile
description: Add a profile
hints:
readOnly: false
destructive: false
idempotent: false
call: incus-profiles.profilespost
with:
project: tools.project
profile: tools.profile
outputParameters:
- type: object
mapping: $.
- name: delete-profile
description: Delete the profile
hints:
readOnly: false
destructive: true
idempotent: true
call: incus-profiles.profiledelete
with:
name: tools.name
project: tools.project
outputParameters:
- type: object
mapping: $.
- name: get-profile
description: Get the profile
hints:
readOnly: true
destructive: false
idempotent: true
call: incus-profiles.profileget
with:
name: tools.name
project: tools.project
outputParameters:
- type: object
mapping: $.
- name: partially-update-profile
description: Partially update the profile
hints:
readOnly: false
destructive: false
idempotent: true
call: incus-profiles.profilepatch
with:
name: tools.name
project: tools.project
profile: tools.profile
outputParameters:
- type: object
mapping: $.
- name: rename-profile
description: Rename the profile
hints:
readOnly: false
destructive: false
idempotent: false
call: incus-profiles.profilepost
with:
name: tools.name
project: tools.project
profile: tools.profile
outputParameters:
- type: object
mapping: $.
- name: update-profile
description: Update the profile
hints:
readOnly: false
destructive: false
idempotent: true
call: incus-profiles.profileput
with:
name: tools.name
project: tools.project
profile: tools.profile
outputParameters:
- type: object
mapping: $.
- name: get-profiles-2
description: Get the profiles
hints:
readOnly: true
destructive: false
idempotent: true
call: incus-profiles.profilesgetrecursion1
with:
project: tools.project
all-projects: tools.all-projects
filter: tools.filter
outputParameters:
- type: object
mapping: $.