naftiko: 1.0.0-alpha2 info: label: Incus external REST API — instances description: 'Incus external REST API — instances. 54 operations. Lead operation: Get the instances. Self-contained Naftiko capability covering one Incus business surface.' tags: - Incus - instances created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: INCUS_API_KEY: INCUS_API_KEY capability: consumes: - type: http namespace: incus-instances baseUri: '' description: Incus external REST API — instances business capability. Self-contained, no shared references. resources: - name: 1.0-instances path: /1.0/instances operations: - name: instancesget method: GET description: Get the instances outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: project in: query type: string description: Project name - name: filter in: query type: string description: Collection filter - name: all-projects in: query type: boolean description: Retrieve instances from all projects - name: instancespost method: POST description: Create a new instance 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: instance in: body type: string description: Instance request - name: raw_backup in: body type: string description: Raw backup file - name: instancesput method: PUT description: Bulk instance state update outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: project in: query type: string description: Project name - name: state in: body type: string description: State - name: 1.0-instances-name path: /1.0/instances/{name} operations: - name: instancedelete method: DELETE description: Delete an instance outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: project in: query type: string description: Project name - name: instanceget method: GET description: Get the instance outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: project in: query type: string description: Project name - name: instancepatch method: PATCH description: Partially update the instance outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: project in: query type: string description: Project name - name: instance in: body type: string description: Update request - name: instancepost method: POST description: Rename or move/migrate an instance outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: project in: query type: string description: Project name - name: migration in: body type: string description: Migration request - name: instanceput method: PUT description: Update the instance outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: project in: query type: string description: Project name - name: instance in: body type: string description: Update request - name: 1.0-instances-name-access path: /1.0/instances/{name}/access operations: - name: instanceaccess method: GET description: Get who has access to an instance outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: project in: query type: string description: Project name - name: 1.0-instances-name-backups path: /1.0/instances/{name}/backups operations: - name: instancebackupsget method: GET description: Get the backups outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: project in: query type: string description: Project name - name: instancebackupspost method: POST description: Create a backup outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: project in: query type: string description: Project name - name: backup in: body type: string description: Backup request - name: 1.0-instances-name-backups-backup path: /1.0/instances/{name}/backups/{backup} operations: - name: instancebackupdelete method: DELETE description: Delete a backup outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: backup in: path type: string description: Backup name required: true - name: project in: query type: string description: Project name - name: instancebackupget method: GET description: Get the backup outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: backup in: path type: string description: Backup name required: true - name: project in: query type: string description: Project name - name: instancebackuppost method: POST description: Rename a backup outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: backup in: path type: string description: Backup name required: true - name: project in: query type: string description: Project name - name: backup in: body type: string description: Backup rename - name: 1.0-instances-name-backups-backup-export path: /1.0/instances/{name}/backups/{backup}/export operations: - name: instancebackupexport method: GET description: Get the raw backup file(s) outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: backup in: path type: string description: Backup name required: true - name: project in: query type: string description: Project name - name: 1.0-instances-name-backups?recursion=1 path: /1.0/instances/{name}/backups?recursion=1 operations: - name: instancebackupsgetrecursion1 method: GET description: Get the backups outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: project in: query type: string description: Project name - name: 1.0-instances-name-bitmaps path: /1.0/instances/{name}/bitmaps operations: - name: instancebitmapspost method: POST description: Create a bitmap outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: project in: query type: string description: Project name - name: bitmap in: body type: string description: Bitmap request - name: 1.0-instances-name-console path: /1.0/instances/{name}/console operations: - name: instanceconsoledelete method: DELETE description: Clear the console log outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: project in: query type: string description: Project name - name: instanceconsoleget method: GET description: Get console output outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: project in: query type: string description: Project name - name: type in: query type: string description: Console type - name: instanceconsolepost method: POST description: Connect to console outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: project in: query type: string description: Project name - name: console in: body type: string description: Console request - name: 1.0-instances-name-debug-memory path: /1.0/instances/{name}/debug/memory operations: - name: instancedebugmemoryget method: GET description: Get memory debug information of an instance outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: project in: query type: string description: Project name - name: format in: query type: string description: Memory dump format - name: 1.0-instances-name-debug-repair path: /1.0/instances/{name}/debug/repair operations: - name: instancedebugrepairpost method: GET description: Trigger a repair action on the instance. outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: project in: query type: string description: Project name - name: state in: body type: string description: State - name: 1.0-instances-name-exec path: /1.0/instances/{name}/exec operations: - name: instanceexecpost method: POST description: Run a command outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: project in: query type: string description: Project name - name: exec in: body type: string description: Exec request - name: 1.0-instances-name-files path: /1.0/instances/{name}/files operations: - name: instancefilesdelete method: DELETE description: Delete a file outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: path in: query type: string description: Path to the file - name: project in: query type: string description: Project name - name: X-Incus-force in: header type: boolean description: Perform recursive deletion - name: instancefilesget method: GET description: Get a file outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: path in: query type: string description: Path to the file - name: project in: query type: string description: Project name - name: instancefileshead method: HEAD description: Get metadata for a file outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: path in: query type: string description: Path to the file - name: project in: query type: string description: Project name - name: instancefilespost method: POST description: Create or replace a file outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: path in: query type: string description: Path to the file - name: project in: query type: string description: Project name - name: raw_file in: body type: string description: Raw file content - name: X-Incus-uid in: header type: integer description: File owner UID - name: X-Incus-gid in: header type: integer description: File owner GID - name: X-Incus-mode in: header type: integer description: File mode - name: X-Incus-type in: header type: string description: Type of file (file, symlink or directory) - name: X-Incus-write in: header type: string description: Write mode (overwrite or append) - name: 1.0-instances-name-logs path: /1.0/instances/{name}/logs operations: - name: instancelogsget method: GET description: Get the log files outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: project in: query type: string description: Project name - name: 1.0-instances-name-logs-exec-output path: /1.0/instances/{name}/logs/exec-output operations: - name: instanceexecoutputsget method: GET description: Get the exec record-output files outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: project in: query type: string description: Project name - name: 1.0-instances-name-logs-exec-output-filename path: /1.0/instances/{name}/logs/exec-output/{filename} operations: - name: instanceexecoutputdelete method: DELETE description: Delete the exec record-output file outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: filename in: path type: string description: Log file name required: true - name: project in: query type: string description: Project name - name: instanceexecoutputget method: GET description: Get the exec-output log file outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: filename in: path type: string description: Log file name required: true - name: project in: query type: string description: Project name - name: 1.0-instances-name-logs-filename path: /1.0/instances/{name}/logs/{filename} operations: - name: instancelogdelete method: DELETE description: Delete the log file outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: filename in: path type: string description: Log file name required: true - name: project in: query type: string description: Project name - name: instancelogget method: GET description: Get the log file outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: filename in: path type: string description: Log file name required: true - name: project in: query type: string description: Project name - name: 1.0-instances-name-metadata path: /1.0/instances/{name}/metadata operations: - name: instancemetadataget method: GET description: Get the instance image metadata outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: project in: query type: string description: Project name - name: instancemetadatapatch method: PATCH description: Partially update the image metadata outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: project in: query type: string description: Project name - name: metadata in: body type: string description: Image metadata required: true - name: instancemetadataput method: PUT description: Update the image metadata outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: project in: query type: string description: Project name - name: metadata in: body type: string description: Image metadata required: true - name: 1.0-instances-name-metadata-templates path: /1.0/instances/{name}/metadata/templates operations: - name: instancemetadatatemplatesdelete method: DELETE description: Delete a template file outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: path in: query type: string description: Template name - name: project in: query type: string description: Project name - name: instancemetadatatemplatesget method: GET description: Get the template file names or a specific outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: project in: query type: string description: Project name - name: path in: query type: string description: Template name - name: instancemetadatatemplatespost method: POST description: Create or replace a template file outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: path in: query type: string description: Template name - name: project in: query type: string description: Project name - name: raw_file in: body type: string description: Raw file content - name: 1.0-instances-name-rebuild path: /1.0/instances/{name}/rebuild operations: - name: instancerebuildpost method: POST description: Rebuild an instance outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: project in: query type: string description: Project name - name: instance in: body type: string description: InstanceRebuild request required: true - name: 1.0-instances-name-sftp path: /1.0/instances/{name}/sftp operations: - name: instancesftp method: GET description: Get the instance SFTP connection outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: 1.0-instances-name-snapshots path: /1.0/instances/{name}/snapshots operations: - name: instancesnapshotsget method: GET description: Get the snapshots outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: project in: query type: string description: Project name - name: instancesnapshotspost method: POST description: Create a snapshot outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: project in: query type: string description: Project name - name: snapshot in: body type: string description: Snapshot request - name: 1.0-instances-name-snapshots-snapshot path: /1.0/instances/{name}/snapshots/{snapshot} operations: - name: instancesnapshotdelete method: DELETE description: Delete a snapshot outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: snapshot in: path type: string description: Snapshot name required: true - name: project in: query type: string description: Project name - name: instancesnapshotget method: GET description: Get the snapshot outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: snapshot in: path type: string description: Snapshot name required: true - name: project in: query type: string description: Project name - name: instancesnapshotpatch method: PATCH description: Partially update snapshot outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: snapshot in: path type: string description: Snapshot name required: true - name: project in: query type: string description: Project name - name: snapshot in: body type: string description: Snapshot update - name: instancesnapshotpost method: POST description: Rename or move/migrate a snapshot outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: snapshot in: path type: string description: Snapshot name required: true - name: project in: query type: string description: Project name - name: snapshot in: body type: string description: Snapshot migration - name: instancesnapshotput method: PUT description: Update snapshot outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: snapshot in: path type: string description: Snapshot name required: true - name: project in: query type: string description: Project name - name: snapshot in: body type: string description: Snapshot update - name: 1.0-instances-name-snapshots?recursion=1 path: /1.0/instances/{name}/snapshots?recursion=1 operations: - name: instancesnapshotsgetrecursion1 method: GET description: Get the snapshots outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: project in: query type: string description: Project name - name: 1.0-instances-name-state path: /1.0/instances/{name}/state operations: - name: instancestateget method: GET description: Get the runtime state outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: project in: query type: string description: Project name - name: instancestateput method: PUT description: Change the state outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: project in: query type: string description: Project name - name: state in: body type: string description: State - name: 1.0-instances-name}?recursion=1 path: /1.0/instances/{name}?recursion=1 operations: - name: instancegetrecursion1 method: GET description: Get the instance outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: name in: path type: string description: Instance name required: true - name: project in: query type: string description: Project name - name: 1.0-instances?recursion=1 path: /1.0/instances?recursion=1 operations: - name: instancesgetrecursion1 method: GET description: Get the instances outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: project in: query type: string description: Project name - name: filter in: query type: string description: Collection filter - name: all-projects in: query type: boolean description: Retrieve instances from all projects - name: 1.0-instances?recursion=2 path: /1.0/instances?recursion=2 operations: - name: instancesgetrecursion2 method: GET description: Get the instances outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: project in: query type: string description: Project name - name: filter in: query type: string description: Collection filter - name: all-projects in: query type: boolean description: Retrieve instances from all projects exposes: - type: rest namespace: incus-instances-rest port: 8080 description: REST adapter for Incus external REST API — instances. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/1-0/instances name: 1-0-instances description: REST surface for 1.0-instances. operations: - method: GET name: instancesget description: Get the instances call: incus-instances.instancesget with: project: rest.project filter: rest.filter all-projects: rest.all-projects outputParameters: - type: object mapping: $. - method: POST name: instancespost description: Create a new instance call: incus-instances.instancespost with: project: rest.project target: rest.target instance: rest.instance raw_backup: rest.raw_backup outputParameters: - type: object mapping: $. - method: PUT name: instancesput description: Bulk instance state update call: incus-instances.instancesput with: project: rest.project state: rest.state outputParameters: - type: object mapping: $. - path: /v1/1-0/instances/{name} name: 1-0-instances-name description: REST surface for 1.0-instances-name. operations: - method: DELETE name: instancedelete description: Delete an instance call: incus-instances.instancedelete with: name: rest.name project: rest.project outputParameters: - type: object mapping: $. - method: GET name: instanceget description: Get the instance call: incus-instances.instanceget with: name: rest.name project: rest.project outputParameters: - type: object mapping: $. - method: PATCH name: instancepatch description: Partially update the instance call: incus-instances.instancepatch with: name: rest.name project: rest.project instance: rest.instance outputParameters: - type: object mapping: $. - method: POST name: instancepost description: Rename or move/migrate an instance call: incus-instances.instancepost with: name: rest.name project: rest.project migration: rest.migration outputParameters: - type: object mapping: $. - method: PUT name: instanceput description: Update the instance call: incus-instances.instanceput with: name: rest.name project: rest.project instance: rest.instance outputParameters: - type: object mapping: $. - path: /v1/1-0/instances/{name}/access name: 1-0-instances-name-access description: REST surface for 1.0-instances-name-access. operations: - method: GET name: instanceaccess description: Get who has access to an instance call: incus-instances.instanceaccess with: name: rest.name project: rest.project outputParameters: - type: object mapping: $. - path: /v1/1-0/instances/{name}/backups name: 1-0-instances-name-backups description: REST surface for 1.0-instances-name-backups. operations: - method: GET name: instancebackupsget description: Get the backups call: incus-instances.instancebackupsget with: name: rest.name project: rest.project outputParameters: - type: object mapping: $. - method: POST name: instancebackupspost description: Create a backup call: incus-instances.instancebackupspost with: name: rest.name project: rest.project backup: rest.backup outputParameters: - type: object mapping: $. - path: /v1/1-0/instances/{name}/backups/{backup} name: 1-0-instances-name-backups-backup description: REST surface for 1.0-instances-name-backups-backup. operations: - method: DELETE name: instancebackupdelete description: Delete a backup call: incus-instances.instancebackupdelete with: name: rest.name backup: rest.backup project: rest.project outputParameters: - type: object mapping: $. - method: GET name: instancebackupget description: Get the backup call: incus-instances.instancebackupget with: name: rest.name backup: rest.backup project: rest.project outputParameters: - type: object mapping: $. - method: POST name: instancebackuppost description: Rename a backup call: incus-instances.instancebackuppost with: name: rest.name backup: rest.backup project: rest.project outputParameters: - type: object mapping: $. - path: /v1/1-0/instances/{name}/backups/{backup}/export name: 1-0-instances-name-backups-backup-export description: REST surface for 1.0-instances-name-backups-backup-export. operations: - method: GET name: instancebackupexport description: Get the raw backup file(s) call: incus-instances.instancebackupexport with: name: rest.name backup: rest.backup project: rest.project outputParameters: - type: object mapping: $. - path: /v1/1-0/instances/{name}/backups-recursion-1 name: 1-0-instances-name-backups-recursion-1 description: REST surface for 1.0-instances-name-backups?recursion=1. operations: - method: GET name: instancebackupsgetrecursion1 description: Get the backups call: incus-instances.instancebackupsgetrecursion1 with: name: rest.name project: rest.project outputParameters: - type: object mapping: $. - path: /v1/1-0/instances/{name}/bitmaps name: 1-0-instances-name-bitmaps description: REST surface for 1.0-instances-name-bitmaps. operations: - method: POST name: instancebitmapspost description: Create a bitmap call: incus-instances.instancebitmapspost with: name: rest.name project: rest.project bitmap: rest.bitmap outputParameters: - type: object mapping: $. - path: /v1/1-0/instances/{name}/console name: 1-0-instances-name-console description: REST surface for 1.0-instances-name-console. operations: - method: DELETE name: instanceconsoledelete description: Clear the console log call: incus-instances.instanceconsoledelete with: name: rest.name project: rest.project outputParameters: - type: object mapping: $. - method: GET name: instanceconsoleget description: Get console output call: incus-instances.instanceconsoleget with: name: rest.name project: rest.project type: rest.type outputParameters: - type: object mapping: $. - method: POST name: instanceconsolepost description: Connect to console call: incus-instances.instanceconsolepost with: name: rest.name project: rest.project console: rest.console outputParameters: - type: object mapping: $. - path: /v1/1-0/instances/{name}/debug/memory name: 1-0-instances-name-debug-memory description: REST surface for 1.0-instances-name-debug-memory. operations: - method: GET name: instancedebugmemoryget description: Get memory debug information of an instance call: incus-instances.instancedebugmemoryget with: name: rest.name project: rest.project format: rest.format outputParameters: - type: object mapping: $. - path: /v1/1-0/instances/{name}/debug/repair name: 1-0-instances-name-debug-repair description: REST surface for 1.0-instances-name-debug-repair. operations: - method: GET name: instancedebugrepairpost description: Trigger a repair action on the instance. call: incus-instances.instancedebugrepairpost with: name: rest.name project: rest.project state: rest.state outputParameters: - type: object mapping: $. - path: /v1/1-0/instances/{name}/exec name: 1-0-instances-name-exec description: REST surface for 1.0-instances-name-exec. operations: - method: POST name: instanceexecpost description: Run a command call: incus-instances.instanceexecpost with: name: rest.name project: rest.project exec: rest.exec outputParameters: - type: object mapping: $. - path: /v1/1-0/instances/{name}/files name: 1-0-instances-name-files description: REST surface for 1.0-instances-name-files. operations: - method: DELETE name: instancefilesdelete description: Delete a file call: incus-instances.instancefilesdelete with: name: rest.name path: rest.path project: rest.project X-Incus-force: rest.X-Incus-force outputParameters: - type: object mapping: $. - method: GET name: instancefilesget description: Get a file call: incus-instances.instancefilesget with: name: rest.name path: rest.path project: rest.project outputParameters: - type: object mapping: $. - method: HEAD name: instancefileshead description: Get metadata for a file call: incus-instances.instancefileshead with: name: rest.name path: rest.path project: rest.project outputParameters: - type: object mapping: $. - method: POST name: instancefilespost description: Create or replace a file call: incus-instances.instancefilespost with: name: rest.name path: rest.path project: rest.project raw_file: rest.raw_file X-Incus-uid: rest.X-Incus-uid X-Incus-gid: rest.X-Incus-gid X-Incus-mode: rest.X-Incus-mode X-Incus-type: rest.X-Incus-type X-Incus-write: rest.X-Incus-write outputParameters: - type: object mapping: $. - path: /v1/1-0/instances/{name}/logs name: 1-0-instances-name-logs description: REST surface for 1.0-instances-name-logs. operations: - method: GET name: instancelogsget description: Get the log files call: incus-instances.instancelogsget with: name: rest.name project: rest.project outputParameters: - type: object mapping: $. - path: /v1/1-0/instances/{name}/logs/exec-output name: 1-0-instances-name-logs-exec-output description: REST surface for 1.0-instances-name-logs-exec-output. operations: - method: GET name: instanceexecoutputsget description: Get the exec record-output files call: incus-instances.instanceexecoutputsget with: name: rest.name project: rest.project outputParameters: - type: object mapping: $. - path: /v1/1-0/instances/{name}/logs/exec-output/{filename} name: 1-0-instances-name-logs-exec-output-filename description: REST surface for 1.0-instances-name-logs-exec-output-filename. operations: - method: DELETE name: instanceexecoutputdelete description: Delete the exec record-output file call: incus-instances.instanceexecoutputdelete with: name: rest.name filename: rest.filename project: rest.project outputParameters: - type: object mapping: $. - method: GET name: instanceexecoutputget description: Get the exec-output log file call: incus-instances.instanceexecoutputget with: name: rest.name filename: rest.filename project: rest.project outputParameters: - type: object mapping: $. - path: /v1/1-0/instances/{name}/logs/{filename} name: 1-0-instances-name-logs-filename description: REST surface for 1.0-instances-name-logs-filename. operations: - method: DELETE name: instancelogdelete description: Delete the log file call: incus-instances.instancelogdelete with: name: rest.name filename: rest.filename project: rest.project outputParameters: - type: object mapping: $. - method: GET name: instancelogget description: Get the log file call: incus-instances.instancelogget with: name: rest.name filename: rest.filename project: rest.project outputParameters: - type: object mapping: $. - path: /v1/1-0/instances/{name}/metadata name: 1-0-instances-name-metadata description: REST surface for 1.0-instances-name-metadata. operations: - method: GET name: instancemetadataget description: Get the instance image metadata call: incus-instances.instancemetadataget with: name: rest.name project: rest.project outputParameters: - type: object mapping: $. - method: PATCH name: instancemetadatapatch description: Partially update the image metadata call: incus-instances.instancemetadatapatch with: name: rest.name project: rest.project metadata: rest.metadata outputParameters: - type: object mapping: $. - method: PUT name: instancemetadataput description: Update the image metadata call: incus-instances.instancemetadataput with: name: rest.name project: rest.project metadata: rest.metadata outputParameters: - type: object mapping: $. - path: /v1/1-0/instances/{name}/metadata/templates name: 1-0-instances-name-metadata-templates description: REST surface for 1.0-instances-name-metadata-templates. operations: - method: DELETE name: instancemetadatatemplatesdelete description: Delete a template file call: incus-instances.instancemetadatatemplatesdelete with: name: rest.name path: rest.path project: rest.project outputParameters: - type: object mapping: $. - method: GET name: instancemetadatatemplatesget description: Get the template file names or a specific call: incus-instances.instancemetadatatemplatesget with: name: rest.name project: rest.project path: rest.path outputParameters: - type: object mapping: $. - method: POST name: instancemetadatatemplatespost description: Create or replace a template file call: incus-instances.instancemetadatatemplatespost with: name: rest.name path: rest.path project: rest.project raw_file: rest.raw_file outputParameters: - type: object mapping: $. - path: /v1/1-0/instances/{name}/rebuild name: 1-0-instances-name-rebuild description: REST surface for 1.0-instances-name-rebuild. operations: - method: POST name: instancerebuildpost description: Rebuild an instance call: incus-instances.instancerebuildpost with: name: rest.name project: rest.project instance: rest.instance outputParameters: - type: object mapping: $. - path: /v1/1-0/instances/{name}/sftp name: 1-0-instances-name-sftp description: REST surface for 1.0-instances-name-sftp. operations: - method: GET name: instancesftp description: Get the instance SFTP connection call: incus-instances.instancesftp with: name: rest.name outputParameters: - type: object mapping: $. - path: /v1/1-0/instances/{name}/snapshots name: 1-0-instances-name-snapshots description: REST surface for 1.0-instances-name-snapshots. operations: - method: GET name: instancesnapshotsget description: Get the snapshots call: incus-instances.instancesnapshotsget with: name: rest.name project: rest.project outputParameters: - type: object mapping: $. - method: POST name: instancesnapshotspost description: Create a snapshot call: incus-instances.instancesnapshotspost with: name: rest.name project: rest.project snapshot: rest.snapshot outputParameters: - type: object mapping: $. - path: /v1/1-0/instances/{name}/snapshots/{snapshot} name: 1-0-instances-name-snapshots-snapshot description: REST surface for 1.0-instances-name-snapshots-snapshot. operations: - method: DELETE name: instancesnapshotdelete description: Delete a snapshot call: incus-instances.instancesnapshotdelete with: name: rest.name snapshot: rest.snapshot project: rest.project outputParameters: - type: object mapping: $. - method: GET name: instancesnapshotget description: Get the snapshot call: incus-instances.instancesnapshotget with: name: rest.name snapshot: rest.snapshot project: rest.project outputParameters: - type: object mapping: $. - method: PATCH name: instancesnapshotpatch description: Partially update snapshot call: incus-instances.instancesnapshotpatch with: name: rest.name snapshot: rest.snapshot project: rest.project outputParameters: - type: object mapping: $. - method: POST name: instancesnapshotpost description: Rename or move/migrate a snapshot call: incus-instances.instancesnapshotpost with: name: rest.name snapshot: rest.snapshot project: rest.project outputParameters: - type: object mapping: $. - method: PUT name: instancesnapshotput description: Update snapshot call: incus-instances.instancesnapshotput with: name: rest.name snapshot: rest.snapshot project: rest.project outputParameters: - type: object mapping: $. - path: /v1/1-0/instances/{name}/snapshots-recursion-1 name: 1-0-instances-name-snapshots-recursion-1 description: REST surface for 1.0-instances-name-snapshots?recursion=1. operations: - method: GET name: instancesnapshotsgetrecursion1 description: Get the snapshots call: incus-instances.instancesnapshotsgetrecursion1 with: name: rest.name project: rest.project outputParameters: - type: object mapping: $. - path: /v1/1-0/instances/{name}/state name: 1-0-instances-name-state description: REST surface for 1.0-instances-name-state. operations: - method: GET name: instancestateget description: Get the runtime state call: incus-instances.instancestateget with: name: rest.name project: rest.project outputParameters: - type: object mapping: $. - method: PUT name: instancestateput description: Change the state call: incus-instances.instancestateput with: name: rest.name project: rest.project state: rest.state outputParameters: - type: object mapping: $. - path: /v1/1-0/instances/name-recursion-1 name: 1-0-instances-name-recursion-1 description: REST surface for 1.0-instances-name}?recursion=1. operations: - method: GET name: instancegetrecursion1 description: Get the instance call: incus-instances.instancegetrecursion1 with: name: rest.name project: rest.project outputParameters: - type: object mapping: $. - path: /v1/1-0/instances-recursion-1 name: 1-0-instances-recursion-1 description: REST surface for 1.0-instances?recursion=1. operations: - method: GET name: instancesgetrecursion1 description: Get the instances call: incus-instances.instancesgetrecursion1 with: project: rest.project filter: rest.filter all-projects: rest.all-projects outputParameters: - type: object mapping: $. - path: /v1/1-0/instances-recursion-2 name: 1-0-instances-recursion-2 description: REST surface for 1.0-instances?recursion=2. operations: - method: GET name: instancesgetrecursion2 description: Get the instances call: incus-instances.instancesgetrecursion2 with: project: rest.project filter: rest.filter all-projects: rest.all-projects outputParameters: - type: object mapping: $. - type: mcp namespace: incus-instances-mcp port: 9090 transport: http description: MCP adapter for Incus external REST API — instances. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: get-instances description: Get the instances hints: readOnly: true destructive: false idempotent: true call: incus-instances.instancesget with: project: tools.project filter: tools.filter all-projects: tools.all-projects outputParameters: - type: object mapping: $. - name: create-new-instance description: Create a new instance hints: readOnly: false destructive: false idempotent: false call: incus-instances.instancespost with: project: tools.project target: tools.target instance: tools.instance raw_backup: tools.raw_backup outputParameters: - type: object mapping: $. - name: bulk-instance-state-update description: Bulk instance state update hints: readOnly: false destructive: false idempotent: true call: incus-instances.instancesput with: project: tools.project state: tools.state outputParameters: - type: object mapping: $. - name: delete-instance description: Delete an instance hints: readOnly: false destructive: true idempotent: true call: incus-instances.instancedelete with: name: tools.name project: tools.project outputParameters: - type: object mapping: $. - name: get-instance description: Get the instance hints: readOnly: true destructive: false idempotent: true call: incus-instances.instanceget with: name: tools.name project: tools.project outputParameters: - type: object mapping: $. - name: partially-update-instance description: Partially update the instance hints: readOnly: false destructive: false idempotent: true call: incus-instances.instancepatch with: name: tools.name project: tools.project instance: tools.instance outputParameters: - type: object mapping: $. - name: rename-move-migrate-instance description: Rename or move/migrate an instance hints: readOnly: false destructive: false idempotent: false call: incus-instances.instancepost with: name: tools.name project: tools.project migration: tools.migration outputParameters: - type: object mapping: $. - name: update-instance description: Update the instance hints: readOnly: false destructive: false idempotent: true call: incus-instances.instanceput with: name: tools.name project: tools.project instance: tools.instance outputParameters: - type: object mapping: $. - name: get-who-has-access-instance description: Get who has access to an instance hints: readOnly: true destructive: false idempotent: true call: incus-instances.instanceaccess with: name: tools.name project: tools.project outputParameters: - type: object mapping: $. - name: get-backups description: Get the backups hints: readOnly: true destructive: false idempotent: true call: incus-instances.instancebackupsget with: name: tools.name project: tools.project outputParameters: - type: object mapping: $. - name: create-backup description: Create a backup hints: readOnly: false destructive: false idempotent: false call: incus-instances.instancebackupspost with: name: tools.name project: tools.project backup: tools.backup outputParameters: - type: object mapping: $. - name: delete-backup description: Delete a backup hints: readOnly: false destructive: true idempotent: true call: incus-instances.instancebackupdelete with: name: tools.name backup: tools.backup project: tools.project outputParameters: - type: object mapping: $. - name: get-backup description: Get the backup hints: readOnly: true destructive: false idempotent: true call: incus-instances.instancebackupget with: name: tools.name backup: tools.backup project: tools.project outputParameters: - type: object mapping: $. - name: rename-backup description: Rename a backup hints: readOnly: false destructive: false idempotent: false call: incus-instances.instancebackuppost with: name: tools.name backup: tools.backup project: tools.project outputParameters: - type: object mapping: $. - name: get-raw-backup-file-s description: Get the raw backup file(s) hints: readOnly: true destructive: false idempotent: true call: incus-instances.instancebackupexport with: name: tools.name backup: tools.backup project: tools.project outputParameters: - type: object mapping: $. - name: get-backups-2 description: Get the backups hints: readOnly: true destructive: false idempotent: true call: incus-instances.instancebackupsgetrecursion1 with: name: tools.name project: tools.project outputParameters: - type: object mapping: $. - name: create-bitmap description: Create a bitmap hints: readOnly: false destructive: false idempotent: false call: incus-instances.instancebitmapspost with: name: tools.name project: tools.project bitmap: tools.bitmap outputParameters: - type: object mapping: $. - name: clear-console-log description: Clear the console log hints: readOnly: false destructive: true idempotent: true call: incus-instances.instanceconsoledelete with: name: tools.name project: tools.project outputParameters: - type: object mapping: $. - name: get-console-output description: Get console output hints: readOnly: true destructive: false idempotent: true call: incus-instances.instanceconsoleget with: name: tools.name project: tools.project type: tools.type outputParameters: - type: object mapping: $. - name: connect-console description: Connect to console hints: readOnly: false destructive: false idempotent: false call: incus-instances.instanceconsolepost with: name: tools.name project: tools.project console: tools.console outputParameters: - type: object mapping: $. - name: get-memory-debug-information-instance description: Get memory debug information of an instance hints: readOnly: true destructive: false idempotent: true call: incus-instances.instancedebugmemoryget with: name: tools.name project: tools.project format: tools.format outputParameters: - type: object mapping: $. - name: trigger-repair-action-instance description: Trigger a repair action on the instance. hints: readOnly: true destructive: false idempotent: true call: incus-instances.instancedebugrepairpost with: name: tools.name project: tools.project state: tools.state outputParameters: - type: object mapping: $. - name: run-command description: Run a command hints: readOnly: false destructive: false idempotent: false call: incus-instances.instanceexecpost with: name: tools.name project: tools.project exec: tools.exec outputParameters: - type: object mapping: $. - name: delete-file description: Delete a file hints: readOnly: false destructive: true idempotent: true call: incus-instances.instancefilesdelete with: name: tools.name path: tools.path project: tools.project X-Incus-force: tools.X-Incus-force outputParameters: - type: object mapping: $. - name: get-file description: Get a file hints: readOnly: true destructive: false idempotent: true call: incus-instances.instancefilesget with: name: tools.name path: tools.path project: tools.project outputParameters: - type: object mapping: $. - name: get-metadata-file description: Get metadata for a file hints: readOnly: false destructive: false idempotent: false call: incus-instances.instancefileshead with: name: tools.name path: tools.path project: tools.project outputParameters: - type: object mapping: $. - name: create-replace-file description: Create or replace a file hints: readOnly: false destructive: false idempotent: false call: incus-instances.instancefilespost with: name: tools.name path: tools.path project: tools.project raw_file: tools.raw_file X-Incus-uid: tools.X-Incus-uid X-Incus-gid: tools.X-Incus-gid X-Incus-mode: tools.X-Incus-mode X-Incus-type: tools.X-Incus-type X-Incus-write: tools.X-Incus-write outputParameters: - type: object mapping: $. - name: get-log-files description: Get the log files hints: readOnly: true destructive: false idempotent: true call: incus-instances.instancelogsget with: name: tools.name project: tools.project outputParameters: - type: object mapping: $. - name: get-exec-record-output-files description: Get the exec record-output files hints: readOnly: true destructive: false idempotent: true call: incus-instances.instanceexecoutputsget with: name: tools.name project: tools.project outputParameters: - type: object mapping: $. - name: delete-exec-record-output-file description: Delete the exec record-output file hints: readOnly: false destructive: true idempotent: true call: incus-instances.instanceexecoutputdelete with: name: tools.name filename: tools.filename project: tools.project outputParameters: - type: object mapping: $. - name: get-exec-output-log-file description: Get the exec-output log file hints: readOnly: true destructive: false idempotent: true call: incus-instances.instanceexecoutputget with: name: tools.name filename: tools.filename project: tools.project outputParameters: - type: object mapping: $. - name: delete-log-file description: Delete the log file hints: readOnly: false destructive: true idempotent: true call: incus-instances.instancelogdelete with: name: tools.name filename: tools.filename project: tools.project outputParameters: - type: object mapping: $. - name: get-log-file description: Get the log file hints: readOnly: true destructive: false idempotent: true call: incus-instances.instancelogget with: name: tools.name filename: tools.filename project: tools.project outputParameters: - type: object mapping: $. - name: get-instance-image-metadata description: Get the instance image metadata hints: readOnly: true destructive: false idempotent: true call: incus-instances.instancemetadataget with: name: tools.name project: tools.project outputParameters: - type: object mapping: $. - name: partially-update-image-metadata description: Partially update the image metadata hints: readOnly: false destructive: false idempotent: true call: incus-instances.instancemetadatapatch with: name: tools.name project: tools.project metadata: tools.metadata outputParameters: - type: object mapping: $. - name: update-image-metadata description: Update the image metadata hints: readOnly: false destructive: false idempotent: true call: incus-instances.instancemetadataput with: name: tools.name project: tools.project metadata: tools.metadata outputParameters: - type: object mapping: $. - name: delete-template-file description: Delete a template file hints: readOnly: false destructive: true idempotent: true call: incus-instances.instancemetadatatemplatesdelete with: name: tools.name path: tools.path project: tools.project outputParameters: - type: object mapping: $. - name: get-template-file-names-specific description: Get the template file names or a specific hints: readOnly: true destructive: false idempotent: true call: incus-instances.instancemetadatatemplatesget with: name: tools.name project: tools.project path: tools.path outputParameters: - type: object mapping: $. - name: create-replace-template-file description: Create or replace a template file hints: readOnly: false destructive: false idempotent: false call: incus-instances.instancemetadatatemplatespost with: name: tools.name path: tools.path project: tools.project raw_file: tools.raw_file outputParameters: - type: object mapping: $. - name: rebuild-instance description: Rebuild an instance hints: readOnly: false destructive: false idempotent: false call: incus-instances.instancerebuildpost with: name: tools.name project: tools.project instance: tools.instance outputParameters: - type: object mapping: $. - name: get-instance-sftp-connection description: Get the instance SFTP connection hints: readOnly: true destructive: false idempotent: true call: incus-instances.instancesftp with: name: tools.name outputParameters: - type: object mapping: $. - name: get-snapshots description: Get the snapshots hints: readOnly: true destructive: false idempotent: true call: incus-instances.instancesnapshotsget with: name: tools.name project: tools.project outputParameters: - type: object mapping: $. - name: create-snapshot description: Create a snapshot hints: readOnly: false destructive: false idempotent: false call: incus-instances.instancesnapshotspost with: name: tools.name project: tools.project snapshot: tools.snapshot outputParameters: - type: object mapping: $. - name: delete-snapshot description: Delete a snapshot hints: readOnly: false destructive: true idempotent: true call: incus-instances.instancesnapshotdelete with: name: tools.name snapshot: tools.snapshot project: tools.project outputParameters: - type: object mapping: $. - name: get-snapshot description: Get the snapshot hints: readOnly: true destructive: false idempotent: true call: incus-instances.instancesnapshotget with: name: tools.name snapshot: tools.snapshot project: tools.project outputParameters: - type: object mapping: $. - name: partially-update-snapshot description: Partially update snapshot hints: readOnly: false destructive: false idempotent: true call: incus-instances.instancesnapshotpatch with: name: tools.name snapshot: tools.snapshot project: tools.project outputParameters: - type: object mapping: $. - name: rename-move-migrate-snapshot description: Rename or move/migrate a snapshot hints: readOnly: false destructive: false idempotent: false call: incus-instances.instancesnapshotpost with: name: tools.name snapshot: tools.snapshot project: tools.project outputParameters: - type: object mapping: $. - name: update-snapshot description: Update snapshot hints: readOnly: false destructive: false idempotent: true call: incus-instances.instancesnapshotput with: name: tools.name snapshot: tools.snapshot project: tools.project outputParameters: - type: object mapping: $. - name: get-snapshots-2 description: Get the snapshots hints: readOnly: true destructive: false idempotent: true call: incus-instances.instancesnapshotsgetrecursion1 with: name: tools.name project: tools.project outputParameters: - type: object mapping: $. - name: get-runtime-state description: Get the runtime state hints: readOnly: true destructive: false idempotent: true call: incus-instances.instancestateget with: name: tools.name project: tools.project outputParameters: - type: object mapping: $. - name: change-state description: Change the state hints: readOnly: false destructive: false idempotent: true call: incus-instances.instancestateput with: name: tools.name project: tools.project state: tools.state outputParameters: - type: object mapping: $. - name: get-instance-2 description: Get the instance hints: readOnly: true destructive: false idempotent: true call: incus-instances.instancegetrecursion1 with: name: tools.name project: tools.project outputParameters: - type: object mapping: $. - name: get-instances-2 description: Get the instances hints: readOnly: true destructive: false idempotent: true call: incus-instances.instancesgetrecursion1 with: project: tools.project filter: tools.filter all-projects: tools.all-projects outputParameters: - type: object mapping: $. - name: get-instances-3 description: Get the instances hints: readOnly: true destructive: false idempotent: true call: incus-instances.instancesgetrecursion2 with: project: tools.project filter: tools.filter all-projects: tools.all-projects outputParameters: - type: object mapping: $.