Canonical Cluster API

The cluster API from Canonical — 7 operation(s) for cluster.

Operations 14

Each operation below carries the questions people ask an LLM about it and the instructions they give an agent to run it. Generated by API Evangelist overlay

GET /1.0/cluster Get the LXD cluster configuration · Get the cluster configuration #
Ask an LLM
“Is clustering enabled on my LXD server and what is its configuration?”
“Where can I see the current LXD cluster settings?”
Tell an agent
Show the current LXD cluster configuration.
Check whether this LXD server is clustered and with what settings.
PUT /1.0/cluster Replace the LXD cluster configuration · Update the cluster configuration #
Ask an LLM
“How do I enable clustering on an LXD server or join it to an existing cluster?”
“Can I set the server name and cluster address for LXD clustering in one call?”
Tell an agent
Enable LXD clustering with server name {server_name}.
Join this server to the LXD cluster at {cluster_address} using join token {cluster_token}.
PUT /1.0/cluster/certificate Replace the cluster certificate · Update the certificate for the cluster #
Ask an LLM
“How do I rotate the TLS certificate used by my whole LXD cluster?”
“Does replacing the cluster certificate reload LXD on every member?”
Tell an agent
Replace the LXD cluster certificate with {cert} and key {key}.
Install a new cluster-wide certificate {cert} on every LXD member.
POST /1.0/cluster/groups Create a cluster group · Create a cluster group #
Ask an LLM
“Can I group some LXD cluster members together for placement?”
“How do I create a named cluster group with chosen members?”
Tell an agent
Create cluster group {name} containing members {members}.
Add a new LXD cluster group {name} described as {description}.
GET /1.0/cluster/members List cluster member URLs · Get the cluster members #
Ask an LLM
“Which servers are members of my LXD cluster?”
“What are the URLs of every LXD cluster member?”
Tell an agent
List the URLs of all LXD cluster members.
Show which servers belong to this cluster.
POST /1.0/cluster/members Request a join token for a new member · Request a join token #
Ask an LLM
“How do I get a join token so a new server can join the LXD cluster?”
“What do I need before adding another machine to my cluster?”
Tell an agent
Create a cluster join token for new server {server_name}.
Generate a token so {server_name} can join this LXD cluster.
DELETE /1.0/cluster/members/{name} Remove a member from the cluster · Delete the cluster member #
Ask an LLM
“How do I remove a server from my LXD cluster?”
“What happens to a machine when it is deleted from the cluster?”
Tell an agent destructive · confirm first
Remove the named member from the LXD cluster.
Delete this server from the cluster membership.
GET /1.0/cluster/members/{name} Get one cluster member · Get the cluster member #
Ask an LLM
“Can I see the roles and failure domain of a single LXD cluster member?”
“Where do I look up the configuration of one cluster member?”
Tell an agent
Show the details of the named cluster member.
Get the roles and groups of one specific LXD cluster member.
PATCH /1.0/cluster/members/{name} Update some settings of a cluster member · Partially update the cluster member #
Ask an LLM
“Can I change just the description of an LXD cluster member without resending everything?”
“Is there a partial update for a member's roles?”
Tell an agent
Change only the description of the cluster member to {description}.
Patch the member's roles to {roles}, leaving other settings untouched.
POST /1.0/cluster/members/{name} Rename a cluster member · Rename the cluster member #
Ask an LLM
“Can I rename a server that is already in my LXD cluster?”
“How do I change a cluster member's name?”
Tell an agent
Rename the cluster member to {server_name}.
Give this LXD cluster member the new name {server_name}.
PUT /1.0/cluster/members/{name} Replace a cluster member's configuration · Update the cluster member #
Ask an LLM
“How do I overwrite all settings of one LXD cluster member?”
“Can I set a member's failure domain, roles and groups in one full update?”
Tell an agent
Replace the cluster member's configuration with roles {roles} and groups {groups}.
Set the whole member config, putting it in failure domain {failure_domain}.
GET /1.0/cluster/members/{name}/state Get a cluster member's state · Get state of the cluster member #
Ask an LLM
“What is the current state of one LXD cluster member?”
“Can I check whether a cluster member is evacuated?”
Tell an agent
Show the state of the named cluster member.
Check if this LXD member is currently evacuated or online.
POST /1.0/cluster/members/{name}/state Evacuate or restore a cluster member · Evacuate or restore a cluster member #
Ask an LLM
“How do I evacuate all instances off an LXD cluster member before maintenance?”
“Can I bring an evacuated cluster member back into service?”
Tell an agent
Run the {action} action on the cluster member.
Evacuate the member using mode {mode}, forcing it if needed ({force}).
GET /1.0/cluster/members?recursion=1 List cluster members with full details · Get the cluster members #
Ask an LLM
“Can I get every LXD cluster member's full record in one call rather than just URLs?”
“Which request returns expanded cluster member objects?”
Tell an agent
List all cluster members with their full details expanded.
Show every LXD member's status, roles and address in one response.

Documentation

Specifications

Schemas & Data

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:canonical-cluster-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-cluster-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 Cluster API
  version: '1.0'
tags:


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