How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Canonical Instances API

The instances API from Canonical — 29 operation(s) for instances.

Canonical Instances API is one of 122 APIs that Canonical publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Instances. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an API reference, and release notes.

This API exposes 58 operations across 29 paths, and defines 49 schemas. It is described by OpenAPI 3.2.0, at version 1.0.

Requests are made against the base URL https://api.snapcraft.io.

58 operations 29 paths 49 schemas 9 DELETE26 GET1 HEAD4 PATCH12 POST6 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0
Base URL
https://api.snapcraft.io
Resource Areas
1

Paths & Operations 58

Across 29 paths, the API surfaces 58 operations — 9 DELETE, 26 GET, 1 HEAD, 4 PATCH, 12 POST, 6 PUT. Each is listed below with its method, path, parameters, and response codes.

Instances 58
GET
/1.0/instances
Get a list of instances
instances_get 15 params → 200400404500
POST
/1.0/instances
Create a new instance
instances_post body → 202400404500
DELETE
/1.0/instances
Delete multiple instances
instances_delete body → 202400404500
PUT
/1.0/instances
Bulk instance state update
instances_put 1 param body → 202400403500
GET
/1.0/instances/{id_or_name}
Get information about a specific instance instance
instance_get 1 param → 200400404500
DELETE
/1.0/instances/{id_or_name}
Delete a specific instance
instance_delete 1 param body → 202400404500
PATCH
/1.0/instances/{id_or_name}
Update the state of a specific instance instance
instance_patch 1 param body → 202400404500
POST
/1.0/instances/{id_or_name}/exec
Execute a command in a instance
instance_exec_post 1 param body → 202400404500
GET
/1.0/instances/{id_or_name}/logs
Get a list of collected log files for the instance
instance_logs_get 1 param → 200400404500
GET
/1.0/instances/{id_or_name}/logs/{name}
Retrieve a specific log file stored for the instance
instance_logs_specific_get 2 params → 200400404500
GET
/1.0/instances?recursion=1
Get a list of instances
instances_get_recursion1 15 params → 200400404500
DELETE
/1.0/instances/{name}
Delete an instance
delete10InstancesByName 2 params → 202400403500
GET
/1.0/instances/{name}
Get the instance
get10InstancesByName 1 param → 200403500
PATCH
/1.0/instances/{name}
Partially update the instance
patch10InstancesByName 1 param body → 200400403500
POST
/1.0/instances/{name}
Rename or move/migrate an instance
instance_post 1 param body → 202400403500
PUT
/1.0/instances/{name}
Update the instance
instance_put 1 param body → 202400403500
GET
/1.0/instances/{name}/backups
Get the backups
instance_backups_get 1 param → 200403500
POST
/1.0/instances/{name}/backups
Create a backup
instance_backups_post 1 param body → 202400403500
DELETE
/1.0/instances/{name}/backups/{backup}
Delete a backup
instance_backup_delete 1 param → 202400403500
GET
/1.0/instances/{name}/backups/{backup}
Get the backup
instance_backup_get 1 param → 200403500
POST
/1.0/instances/{name}/backups/{backup}
Rename a backup
instance_backup_post 1 param body → 202400403500
GET
/1.0/instances/{name}/backups/{backup}/export
Get the raw backup file(s)
instance_backup_export 1 param → 200403500
GET
/1.0/instances/{name}/backups?recursion=1
Get the backups
instance_backups_get_recursion1 1 param → 200403500
DELETE
/1.0/instances/{name}/console
Clear the console log
instance_console_delete 1 param → 200400403404500
GET
/1.0/instances/{name}/console
Get console log
instance_console_get 1 param → 200400403404500
POST
/1.0/instances/{name}/console
Connect to console
instance_console_post 1 param body → 202400403500
POST
/1.0/instances/{name}/exec
Run a command
post10InstancesByNameExec 1 param body → 202400403500
DELETE
/1.0/instances/{name}/files
Delete a file
instance_files_delete 2 params → 200400403404500
GET
/1.0/instances/{name}/files
Get a file
instance_files_get 2 params → 200400403404500
HEAD
/1.0/instances/{name}/files
Get metadata for a file
instance_files_head 2 params → 200400403404500
POST
/1.0/instances/{name}/files
Create or replace a file
instance_files_post 8 params body → 200400403404500
GET
/1.0/instances/{name}/logs
Get the log files
get10InstancesByNameLogs 1 param → 200403404500
GET
/1.0/instances/{name}/logs/{filename}
Get the log file
instance_log_get 1 param → 200400403404500
GET
/1.0/instances/{name}/logs/exec-output
Get the exec record-output files
instance_exec-output_get 1 param → 200403404500
DELETE
/1.0/instances/{name}/logs/exec-output/{filename}
Delete the exec record-output file
instance_exec-output_delete 1 param → 200400403404500
GET
/1.0/instances/{name}/logs/exec-output/{filename}
Get the exec-output log file
get10InstancesByNameLogsExecOutputByFilename 1 param → 200400403404500
GET
/1.0/instances/{name}/metadata
Get the instance image metadata
instance_metadata_get 1 param → 200403500
PATCH
/1.0/instances/{name}/metadata
Partially update the image metadata
instance_metadata_patch 1 param body → 200400403412500
PUT
/1.0/instances/{name}/metadata
Update the image metadata
instance_metadata_put 1 param body → 200400403412500
DELETE
/1.0/instances/{name}/metadata/templates
Delete a template file
instance_metadata_templates_delete 2 params → 200400403404500
GET
/1.0/instances/{name}/metadata/templates
Get the template file names or a specific
instance_metadata_templates_get 2 params → 200400403404500
POST
/1.0/instances/{name}/metadata/templates
Create or replace a template file
instance_metadata_templates_post 2 params body → 200400403404500
POST
/1.0/instances/{name}/rebuild
Rebuild an instance
instance_rebuild_post 1 param body → 200202400403404500
GET
/1.0/instances/{name}/sftp
Get the instance SFTP connection
instance_sftp → 101400403404500
GET
/1.0/instances/{name}/snapshots
Get the snapshots
instance_snapshots_get 1 param → 200403500
POST
/1.0/instances/{name}/snapshots
Create a snapshot
instance_snapshots_post 1 param body → 202400403500
DELETE
/1.0/instances/{name}/snapshots/{snapshot}
Delete a snapshot
instance_snapshot_delete 2 params → 202400403500
GET
/1.0/instances/{name}/snapshots/{snapshot}
Get the snapshot
instance_snapshot_get 1 param → 200403500
PATCH
/1.0/instances/{name}/snapshots/{snapshot}
Partially update snapshot
instance_snapshot_patch 1 param body → 202400403500
POST
/1.0/instances/{name}/snapshots/{snapshot}
Rename or move/migrate a snapshot
instance_snapshot_post 1 param body → 202400403500
PUT
/1.0/instances/{name}/snapshots/{snapshot}
Update snapshot
instance_snapshot_put 1 param body → 202400403500
GET
/1.0/instances/{name}/snapshots?recursion=1
Get the snapshots
instance_snapshots_get_recursion1 1 param → 200403500
GET
/1.0/instances/{name}/state
Get the runtime state
instance_state_get 1 param → 200400403500
PUT
/1.0/instances/{name}/state
Change the state
instance_state_put 1 param body → 202400403500
GET
/1.0/instances/{name}/uefi-vars
Get the instance's UEFI variables
instance_uefi_vars_get 1 param → 200403500
PUT
/1.0/instances/{name}/uefi-vars
Set the instance's UEFI variables
instance_uefi_vars_put 1 param body → 200400403404500
GET
/1.0/instances/{name}?recursion=1
Get the instance
instance_get_recursion1 2 params → 200400403500
GET
/1.0/instances?recursion=2
Get the instances
instances_get_recursion2 4 params → 200400403500

Schemas 49

The contract defines 49 schemas that model the data the API accepts and returns. The most detailed are Instance (23 properties), InstanceSource (23 properties), InstanceFull (21 properties), Instance_2 (18 properties). Each schema is shown below with its type and property counts.

NetworkServiceSpec
object
NetworkServiceSpec is used to define the user defined network services that should be opened on a container
5 properties
InstanceExecPost
object
InstanceExecPost represents an instance execution request
5 properties
InstanceStatus
integer
InstanceStatus represents the status a instance can be in
Instance
object
Instance represents a single instance
23 properties
InstanceResources
object
InstanceResources represents resources assigned to an instance
5 properties
OperationResponse
object
Operation
5 properties
InstanceType
string
InstanceType describes the type of an instance (container, vm)
InstancesPost
object
InstancesPost represents the fields required to launch a new instance for a specific application
14 properties
InstanceService
object
While NetworkServiceSpec defines what the user requests, InstanceService is what is actually opened on the instance.
7 properties
StatusCode
integer
StatusCode represents a valid REST operation
Operation
object
Operation represents a background operation
12 properties
InstancesDelete
object
InstancesDelete represents a list of instances to delete together
2 properties
InstancePatch
object
InstancePatch describes the fields which can be changed for an existing instance
1 property
InstanceDelete
object
InstanceDelete describes a request used to delete a instance
1 property
NetworkProtocol
string
NetworkProtocol describes a specific network protocol like TCP or UDP a ContainerService can use
NoMetaSyncResponse
object
Swagger Synchronous response without metadata field
4 properties
InstanceUEFIVariable
object
InstanceUEFIVariable represents an EFI variable entry
4 properties
InstanceUEFIVars
object
1 property
InstanceBackupsPost
object
7 properties
InstanceRebuildPost
object
1 property
SourceType
string
InstanceState
object
8 properties
InstanceStateDisk
object
2 properties
InstanceExecPost_2
object
10 properties
InstanceStateNetworkAddress
object
InstanceStateNetworkAddress represents a network address as part of the network section of a LXD instance's state.
4 properties
InstanceSnapshot
object
13 properties
Instance_2
object
18 properties
InstanceSnapshotPost
object
4 properties
InstanceStateNetworkCounters
object
InstanceStateNetworkCounters represents packet counters as part of the network section of a LXD instance's state.
8 properties
InstanceStatePut
object
4 properties
InstanceBackupPost
object
1 property
InstanceSnapshotsPost
object
4 properties
StatusCode_2
integer
InstanceStateCPU
object
1 property
InstanceBackup
object
6 properties
Operation_2
object
Operation represents a LXD background operation
15 properties
InstancePost
object
13 properties
InstanceSnapshotPut
object
1 property
InstanceSource
object
23 properties
ImageMetadata
object
ImageMetadata represents LXD image metadata (used in image tarball)
5 properties
OperationRequestor
object
API extension: operationrequestor.
3 properties
InstancePostTarget
object
3 properties
InstanceStateNetwork
object
7 properties
InstanceStateMemory
object
5 properties
InstanceFull
object
21 properties
InstancesPut
object
1 property
InstanceConsolePost
object
3 properties
ImageMetadataTemplate
object
ImageMetadataTemplate represents a template entry in image metadata (used in image tarball)
4 properties
InstancePut
object
9 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

canonical-instances-api-openapi.yml Raw ↑

Other APIs Canonical publishes across the network.

Snap Store API
Charmhub API
MAAS API
Juju Client / Controller API
Launchpad Web Services API
Ubuntu Pro Client API
Canonical Assertions API
Canonical Search API
Canonical Snaps API
MicroCeph REST API
Canonical App Authorization Service API
Canonical Application API
Where this information came from

This is an independent, third-party profile of Canonical Instances API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.