Canonical · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for AMS external REST Nodes API
7 actions
7 updates
phrasing
extends
openapi/canonical-nodes-api-openapi.yml
Generated by API Evangelist
Written by API Evangelist tooling for Canonical's API. It is a proposal applied on top of the contract, not a document Canonical publishes.
What the actions change
x-apievangelist-phrasing
Targets 7
$.info
$.paths['/1.0/nodes'].get
$.paths['/1.0/nodes'].post
$.paths['/1.0/nodes/{name}'].get
$.paths['/1.0/nodes/{name}'].delete
$.paths['/1.0/nodes/{name}'].patch
$.paths['/1.0/nodes?recursion=1'].get
OpenAPI Overlay
# Generated by API Evangelist (build-phrasing.py). Our phrasing, not observed demand.
overlay: 1.0.0
info:
title: API Evangelist conversational phrasing for AMS external REST Nodes API
version: 1.0.0
extends: openapi/canonical-nodes-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-09-26'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 6
- target: $.paths['/1.0/nodes'].get
update:
x-apievangelist-phrasing:
intent: List Anbox nodes
effect: read
questions:
- Which nodes does AMS know about in my Anbox Cloud cluster?
- Can I list nodes with recursion to control how much detail comes back?
instructions:
- text: List the nodes known to AMS.
- text: List AMS nodes with recursion level {recursion}.
slots:
recursion: query.recursion
method: generated
generated: '2026-09-26'
- target: $.paths['/1.0/nodes'].post
update:
x-apievangelist-phrasing:
intent: Add a node to AMS
effect: write
questions:
- How do I add a new LXD node to Anbox Cloud?
- Can I register an existing unmanaged LXD node instead of having AMS bootstrap one?
- Is it possible to set GPU slots and CPU allocation rate on a new node?
instructions:
- text: Create node {name} at address {address}.
slots:
name: requestBody.name
address: requestBody.address
- text: Add unmanaged node {name} at {address} with unmanaged {unmanaged}.
slots:
name: requestBody.name
address: requestBody.address
unmanaged: requestBody.unmanaged
- text: Create node {name} with {gpu_slots} GPU slots and storage device {storage_device}.
slots:
name: requestBody.name
gpu_slots: requestBody.gpu_slots
storage_device: requestBody.storage_device
method: generated
generated: '2026-09-26'
- target: $.paths['/1.0/nodes/{name}'].get
update:
x-apievangelist-phrasing:
intent: Get one Anbox node
effect: read
questions:
- What resources does a specific AMS node have?
- Is a particular node schedulable right now?
instructions:
- text: Show node {name}.
slots:
name: path.name
- text: Get the resources and status of node {name}.
slots:
name: path.name
method: generated
generated: '2026-09-26'
- target: $.paths['/1.0/nodes/{name}'].delete
update:
x-apievangelist-phrasing:
intent: Delete an Anbox node
effect: destructive
questions:
- How do I remove a node from AMS?
- Can I delete a node from AMS but keep it in the LXD cluster?
instructions:
- text: Delete node {name}.
slots:
name: path.name
- text: Remove node {name} from AMS with keep_in_cluster {keep_in_cluster}.
slots:
name: path.name
keep_in_cluster: requestBody.keep_in_cluster
- text: Force-delete node {name}.
slots:
name: path.name
method: generated
generated: '2026-09-26'
- target: $.paths['/1.0/nodes/{name}'].patch
update:
x-apievangelist-phrasing:
intent: Update an Anbox node
effect: write
questions:
- How do I stop new containers from being scheduled on a node?
- Can I change a node's GPU slots or memory allocation rate?
instructions:
- text: Mark node {name} unschedulable {unschedulable}.
slots:
name: path.name
unschedulable: requestBody.unschedulable
- text: Set node {name} to {gpu_slots} GPU slots and tags {tags}.
slots:
name: path.name
gpu_slots: requestBody.gpu_slots
tags: requestBody.tags
method: generated
generated: '2026-09-26'
- target: $.paths['/1.0/nodes?recursion=1'].get
update:
x-apievangelist-phrasing:
intent: List Anbox nodes with full details
effect: read
questions:
- Can I get every node's CPU, memory and GPU slots in one call?
- What resources does each AMS node have?
instructions:
- text: Fetch every AMS node with full resource details.
- text: Show all nodes expanded, recursion {recursion}.
slots:
recursion: query.recursion
method: generated
generated: '2026-09-26'
Work with this as data
Every overlay 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 openapi overlays
4 MCP tools reach this
find_overlaysBrowse and filter every overlay in the catalog.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.
Call it yourself
curl for this page
This overlay
curl "https://apis.io/api/v1/overlays/canonical-nodes-api-phrasing-overlay"
All openapi overlays
curl "https://apis.io/api/v1/overlays?limit=25"
Calls without X-API-Key need no key. Calls with it need a paid plan — get a key.
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.