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 Storage API

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

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

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

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

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

52 operations 29 paths 30 schemas 6 DELETE27 GET4 PATCH10 POST5 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 52

Across 29 paths, the API surfaces 52 operations — 6 DELETE, 27 GET, 4 PATCH, 10 POST, 5 PUT. Each is listed below with its method, path, parameters, and response codes.

Storage 52
GET
/1.0/storage-pools
Get the storage pools
storage_pools_get 1 param → 200403500
POST
/1.0/storage-pools
Add a storage pool
storage_pools_post 2 params body → 202400403500
DELETE
/1.0/storage-pools/{name}/buckets/{bucketName}
Delete the storage bucket
storage_pool_bucket_delete 2 params → 202400403500
PATCH
/1.0/storage-pools/{name}/buckets/{bucketName}
Partially update the storage bucket
storage_pool_bucket_patch 2 params body → 202400403412500
PUT
/1.0/storage-pools/{name}/buckets/{bucketName}
Update the storage bucket
storage_pool_bucket_put 2 params body → 202400403412500
DELETE
/1.0/storage-pools/{name}/buckets/{bucketName}/keys/{keyName}
Delete the storage bucket key
storage_pool_bucket_key_delete 2 params → 202400403500
PUT
/1.0/storage-pools/{name}/buckets/{bucketName}/keys/{keyName}
Update the storage bucket key
storage_pool_bucket_key_put 2 params body → 202400403412500
GET
/1.0/storage-pools/{name}/resources
Get storage pool resources information
storage_pool_resources 1 param → 200403500
DELETE
/1.0/storage-pools/{poolName}
Delete the storage pool
storage_pools_delete 1 param → 202400403404500
GET
/1.0/storage-pools/{poolName}
Get the storage pool
storage_pool_get 2 params → 200403500
PATCH
/1.0/storage-pools/{poolName}
Partially update the storage pool
storage_pool_patch 2 params body → 202400403412500
PUT
/1.0/storage-pools/{poolName}
Update the storage pool
storage_pool_put 2 params body → 202400403404412500
GET
/1.0/storage-pools/{poolName}/buckets
Get the storage pool buckets
storage_pool_buckets_get 2 params → 200403500
POST
/1.0/storage-pools/{poolName}/buckets
Add a storage pool bucket
storage_pool_bucket_post 1 param body → 202400403500
GET
/1.0/storage-pools/{poolName}/buckets/{bucketName}
Get the storage pool bucket
storage_pool_bucket_get 1 param → 200403500
GET
/1.0/storage-pools/{poolName}/buckets/{bucketName}/keys
Get the storage pool bucket keys
storage_pool_bucket_keys_get 1 param → 200403500
POST
/1.0/storage-pools/{poolName}/buckets/{bucketName}/keys
Add a storage pool bucket key
storage_pool_bucket_key_post 1 param body → 202400403500
GET
/1.0/storage-pools/{poolName}/buckets/{bucketName}/keys/{keyName}
Get the storage pool bucket key
storage_pool_bucket_key_get 1 param → 200403500
GET
/1.0/storage-pools/{poolName}/buckets/{bucketName}/keys?recursion=1
Get the storage pool bucket keys
storage_pool_bucket_keys_get_recursion1 1 param → 200403500
GET
/1.0/storage-pools/{poolName}/buckets?recursion=1
Get the storage pool buckets
storage_pool_buckets_get_recursion1 2 params → 200403500
GET
/1.0/storage-pools/{poolName}/volumes
Get the storage volumes
storage_pool_volumes_get 4 params → 200403500
POST
/1.0/storage-pools/{poolName}/volumes
Add a storage volume
storage_pool_volumes_post 2 params body → 202400403500
GET
/1.0/storage-pools/{poolName}/volumes/{type}
Get the storage volumes
storage_pool_volumes_type_get 3 params → 200403500
POST
/1.0/storage-pools/{poolName}/volumes/{type}
Add a storage volume
storage_pool_volumes_type_post 2 params body → 202400403500
DELETE
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}
Delete the storage volume
storage_pool_volume_type_delete 2 params → 202400403500
GET
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}
Get the storage volume
storage_pool_volume_type_get 2 params → 200403500
PATCH
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}
Partially update the storage volume
storage_pool_volume_type_patch 2 params body → 202400403412423500
POST
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}
Rename or move/migrate a storage volume
storage_pool_volume_type_post 2 params body → 202400403500
PUT
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}
Update the storage volume
storage_pool_volume_type_put 2 params body → 202400403412423500
GET
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/backups
Get the storage volume backups
storage_pool_volumes_type_backups_get 2 params → 200403500
POST
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/backups
Create a storage volume backup
storage_pool_volumes_type_backups_post 2 params body → 202400403500
DELETE
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/backups/{backupName}
Delete a storage volume backup
storage_pool_volumes_type_backup_delete 2 params → 202400403500
GET
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/backups/{backupName}
Get the storage volume backup
storage_pool_volumes_type_backup_get 2 params → 200403500
POST
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/backups/{backupName}
Rename a storage volume backup
storage_pool_volumes_type_backup_post 2 params body → 202400403500
GET
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/backups/{backupName}/export
Get the raw backup file
storage_pool_volumes_type_backup_export_get 2 params → 200403500
GET
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/backups?recursion=1
Get the storage volume backups
storage_pool_volumes_type_backups_get_recursion1 2 params → 200403500
GET
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/snapshots
Get the storage volume snapshots
storage_pool_volumes_type_snapshots_get 2 params → 200403500
POST
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/snapshots
Create a storage volume snapshot
storage_pool_volumes_type_snapshots_post 2 params body → 202400403500
DELETE
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/snapshots/{snapshotName}
Delete a storage volume snapshot
storage_pool_volumes_type_snapshot_delete 2 params → 202400403500
GET
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/snapshots/{snapshotName}
Get the storage volume snapshot
storage_pool_volumes_type_snapshot_get 2 params → 200403500
PATCH
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/snapshots/{snapshotName}
Partially update the storage volume snapshot
storage_pool_volumes_type_snapshot_patch 2 params body → 202400403412500
POST
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/snapshots/{snapshotName}
Rename a storage volume snapshot
storage_pool_volumes_type_snapshot_post 2 params body → 202400403500
PUT
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/snapshots/{snapshotName}
Update the storage volume snapshot
storage_pool_volumes_type_snapshot_put 2 params body → 202400403412500
GET
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/snapshots?recursion=1
Get the storage volume snapshots
storage_pool_volumes_type_snapshots_get_recursion1 2 params → 200403500
GET
/1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/state
Get the storage volume state
storage_pool_volume_type_state_get 2 params → 200403500
GET
/1.0/storage-pools/{poolName}/volumes/{type}?recursion=1
Get the storage volumes
storage_pool_volumes_type_get_recursion1 3 params → 200403500
GET
/1.0/storage-pools/{poolName}/volumes?recursion=1
Get the storage volumes
storage_pool_volumes_get_recursion1 4 params → 200403500
GET
/1.0/storage-pools?recursion=1
Get the storage pools
storage_pools_get_recursion1 1 param → 200403500
GET
/1.0/storage-volumes
Get the storage volumes
storage_volumes_get 4 params → 200403500
GET
/1.0/storage-volumes/{type}
Get the storage volumes
get10StorageVolumesByType 3 params → 200403500
GET
/1.0/storage-volumes/{type}?recursion=1
Get the storage volumes
get10StorageVolumes{type}?recursion=1 3 params → 200403500
GET
/1.0/storage-volumes?recursion=1
Get the storage volumes
get10StorageVolumes?recursion=1 4 params → 200403500

Schemas 30

The contract defines 30 schemas that model the data the API accepts and returns. The most detailed are Operation (15 properties), StorageVolume (11 properties), StorageVolumeSource (11 properties), StoragePool (8 properties). Each schema is shown below with its type and property counts.

ResourcesStoragePoolInodes
object
ResourcesStoragePoolInodes represents the inodes available to a given storage pool
2 properties
StoragePool
object
8 properties
SourceType
string
ResourcesStoragePool
object
ResourcesStoragePool represents the resources available to a given storage pool
2 properties
StorageVolumePostTarget
object
StorageVolumePostTarget represents the migration target host and operation
3 properties
StoragePoolPut
object
2 properties
StorageVolumeSource
object
StorageVolumeSource represents the creation source for a new storage volume
11 properties
StorageBucketKeysPost
object
StorageBucketKeysPost represents the fields of a new LXD storage pool bucket key
5 properties
StorageVolumesPost
object
StorageVolumesPost represents the fields of a new LXD storage pool volume
7 properties
StoragePoolVolumeBackup
object
StoragePoolVolumeBackup represents a LXD volume backup
5 properties
StatusCode
integer
StoragePoolsPost
object
StoragePoolsPost represents the fields of a new LXD storage pool
4 properties
Operation
object
Operation represents a LXD background operation
15 properties
StorageVolumeSnapshot
object
StorageVolumeSnapshot represents a LXD storage volume snapshot
6 properties
StoragePoolVolumeBackupsPost
object
StoragePoolVolumeBackupsPost represents the fields available for a new LXD volume backup
6 properties
StorageVolume
object
11 properties
StorageBucketKey
object
StorageBucketKey represents the fields of a LXD storage pool bucket key
5 properties
ResourcesStoragePoolSpace
object
ResourcesStoragePoolSpace represents the space available to a given storage pool
2 properties
StorageBucketsPost
object
StorageBucketsPost represents the fields of a new LXD storage pool bucket
3 properties
StorageVolumeState
object
StorageVolumeState represents the live state of the volume
1 property
OperationRequestor
object
API extension: operationrequestor.
3 properties
StorageVolumeSnapshotPut
object
StorageVolumeSnapshotPut represents the modifiable fields of a LXD storage volume
2 properties
StorageVolumeSnapshotPost
object
StorageVolumeSnapshotPost represents the fields required to rename/move a LXD storage volume snapshot
3 properties
StorageVolumeSnapshotsPost
object
StorageVolumeSnapshotsPost represents the fields available for a new LXD storage volume snapshot
3 properties
StorageBucket
object
StorageBucket represents the fields of a LXD storage pool bucket
7 properties
StorageVolumeStateUsage
object
StorageVolumeStateUsage represents the disk usage of a volume
2 properties
StorageVolumePost
object
StorageVolumePost represents the fields required to rename a LXD storage pool volume
7 properties
StorageBucketPut
object
StorageBucketPut represents the modifiable fields of a LXD storage pool bucket
2 properties
StorageBucketKeyPut
object
StorageBucketKeyPut represents the modifiable fields of a LXD storage pool bucket key
4 properties
StorageVolumePut
object
StorageVolumePut represents the modifiable fields of a LXD storage volume
3 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

canonical-storage-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 Storage 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.