Canonical Storage API

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

Operations 52

GET /1.0/storage-pools Get the storage pools #
POST /1.0/storage-pools Add a storage pool #
DELETE /1.0/storage-pools/{name}/buckets/{bucketName} Delete the storage bucket #
PATCH /1.0/storage-pools/{name}/buckets/{bucketName} Partially update the storage bucket #
PUT /1.0/storage-pools/{name}/buckets/{bucketName} Update the storage bucket #
DELETE /1.0/storage-pools/{name}/buckets/{bucketName}/keys/{keyName} Delete the storage bucket key #
PUT /1.0/storage-pools/{name}/buckets/{bucketName}/keys/{keyName} Update the storage bucket key #
GET /1.0/storage-pools/{name}/resources Get storage pool resources information #
DELETE /1.0/storage-pools/{poolName} Delete the storage pool #
GET /1.0/storage-pools/{poolName} Get the storage pool #
PATCH /1.0/storage-pools/{poolName} Partially update the storage pool #
PUT /1.0/storage-pools/{poolName} Update the storage pool #
GET /1.0/storage-pools/{poolName}/buckets Get the storage pool buckets #
POST /1.0/storage-pools/{poolName}/buckets Add a storage pool bucket #
GET /1.0/storage-pools/{poolName}/buckets/{bucketName} Get the storage pool bucket #
GET /1.0/storage-pools/{poolName}/buckets/{bucketName}/keys Get the storage pool bucket keys #
POST /1.0/storage-pools/{poolName}/buckets/{bucketName}/keys Add a storage pool bucket key #
GET /1.0/storage-pools/{poolName}/buckets/{bucketName}/keys/{keyName} Get the storage pool bucket key #
GET /1.0/storage-pools/{poolName}/buckets/{bucketName}/keys?recursion=1 Get the storage pool bucket keys #
GET /1.0/storage-pools/{poolName}/buckets?recursion=1 Get the storage pool buckets #
GET /1.0/storage-pools/{poolName}/volumes Get the storage volumes #
POST /1.0/storage-pools/{poolName}/volumes Add a storage volume #
GET /1.0/storage-pools/{poolName}/volumes/{type} Get the storage volumes #
POST /1.0/storage-pools/{poolName}/volumes/{type} Add a storage volume #
DELETE /1.0/storage-pools/{poolName}/volumes/{type}/{volumeName} Delete the storage volume #
GET /1.0/storage-pools/{poolName}/volumes/{type}/{volumeName} Get the storage volume #
PATCH /1.0/storage-pools/{poolName}/volumes/{type}/{volumeName} Partially update the storage volume #
POST /1.0/storage-pools/{poolName}/volumes/{type}/{volumeName} Rename or move/migrate a storage volume #
PUT /1.0/storage-pools/{poolName}/volumes/{type}/{volumeName} Update the storage volume #
GET /1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/backups Get the storage volume backups #
POST /1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/backups Create a storage volume backup #
DELETE /1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/backups/{backupName} Delete a storage volume backup #
GET /1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/backups/{backupName} Get the storage volume backup #
POST /1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/backups/{backupName} Rename a storage volume backup #
GET /1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/backups/{backupName}/export Get the raw backup file #
GET /1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/backups?recursion=1 Get the storage volume backups #
GET /1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/snapshots Get the storage volume snapshots #
POST /1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/snapshots Create a storage volume snapshot #
DELETE /1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/snapshots/{snapshotName} Delete a storage volume snapshot #
GET /1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/snapshots/{snapshotName} Get the storage volume snapshot #
PATCH /1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/snapshots/{snapshotName} Partially update the storage volume snapshot #
POST /1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/snapshots/{snapshotName} Rename a storage volume snapshot #
PUT /1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/snapshots/{snapshotName} Update the storage volume snapshot #
GET /1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/snapshots?recursion=1 Get the storage volume snapshots #
GET /1.0/storage-pools/{poolName}/volumes/{type}/{volumeName}/state Get the storage volume state #
GET /1.0/storage-pools/{poolName}/volumes/{type}?recursion=1 Get the storage volumes #
GET /1.0/storage-pools/{poolName}/volumes?recursion=1 Get the storage volumes #
GET /1.0/storage-pools?recursion=1 Get the storage pools #
GET /1.0/storage-volumes Get the storage volumes #
GET /1.0/storage-volumes/{type} Get the storage volumes #
GET /1.0/storage-volumes/{type}?recursion=1 Get the storage volumes #
GET /1.0/storage-volumes?recursion=1 Get the storage volumes #

Documentation

Specifications

Other Resources

Work with this as data

Every API here is available over the APIs.io API and to AI agents over MCP.

MCP server

One button, every client — Claude, Cursor, VS Code and the rest.

https://apis.io/mcp

Tools for apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • apis_io_searchSTART HERE — APIs, providers and tags for one query, each with its total.
  • resolveTurn a domain, URL or GitHub org into the provider it belongs to.
  • find_cohortsEvery scored population of providers in the catalog.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/canonical-storage-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

Get an API key

Free tier, no form to fill in. Signing in shares your email address with us — we store it to create your key and to recognise you if you sign in with another provider. See our Privacy Policy and Terms.

A second provider on the same verified email joins the account you already have.

OpenAPI Specification

canonical-storage-api-openapi.yml Raw ↑
openapi: 3.2.0
info:
  contact:
    email: lxd@lists.canonical.com
    name: LXD upstream
    url: https://github.com/canonical/lxd
  description: 'This is the REST API used by all LXD clients.

    Internal endpoints aren''t included in this documentation.


    The LXD API is available over both a local unix+http and remote https API.

    Authentication for local users relies on group membership and access to the unix socket.

    For remote users, the default authentication method is TLS client.'
  license:
    name: AGPL-3.0-only
    url: https://www.gnu.org/licenses/agpl-3.0.en.html
  title: LXD external REST Storage API
  version: '1.0'
tags:


# --- truncated at 32 KB (104 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/canonical/refs/heads/main/openapi/canonical-storage-api-openapi.yml