Canonical · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for LXD external REST Network Forwards API
8 actions
8 updates
phrasing
extends
openapi/canonical-network-forwards-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 8
$.info
$.paths['/1.0/networks/{networkName}/forwards'].get
$.paths['/1.0/networks/{networkName}/forwards'].post
$.paths['/1.0/networks/{networkName}/forwards/{listenAddress}'].get
$.paths['/1.0/networks/{networkName}/forwards/{listenAddress}'].put
$.paths['/1.0/networks/{networkName}/forwards/{listenAddress}'].delete
$.paths['/1.0/networks/{networkName}/forwards/{listenAddress}'].patch
$.paths['/1.0/networks/{networkName}/forwards?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 LXD external REST Network Forwards API
version: 1.0.0
extends: openapi/canonical-network-forwards-api-openapi.yml
actions:
- target: $.info
update:
x-apievangelist-phrasing:
method: generated
generated: '2026-10-01'
generator: build-phrasing.py
label: Generated by API Evangelist
operations: 7
- target: $.paths['/1.0/networks/{networkName}/forwards'].get
update:
x-apievangelist-phrasing:
intent: List network address forward URLs
effect: read
questions:
- Which address forwards are set up on an LXD network?
- Can I list the listen addresses forwarded on a network in one project?
instructions:
- text: List the address forwards on the network in project {project}.
slots:
project: query.project
- text: Show the URLs of every network forward.
- text: List the address forward URLs on network {network}.
slots:
network: path.networkName
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/networks/{networkName}/forwards'].post
update:
x-apievangelist-phrasing:
intent: Create a network address forward
effect: write
questions:
- How do I forward an external listen address to an instance on an LXD network?
- Can I forward only certain ports from a listen address?
instructions:
- text: Create an address forward on listen address {listen_address}.
slots:
listen_address: requestBody.listen_address
- text: Forward ports {ports} from {listen_address} on the network.
slots:
ports: requestBody.ports
listen_address: requestBody.listen_address
- text: Create an address forward on network {network} listening on {listen_address}.
slots:
network: path.networkName
listen_address: requestBody.listen_address
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/networks/{networkName}/forwards/{listenAddress}'].get
update:
x-apievangelist-phrasing:
intent: Get a network address forward
effect: read
questions:
- What ports and target does a specific address forward use?
- Can I view one network forward by its listen address?
instructions:
- text: Show the address forward for the given listen address in project {project}.
slots:
project: query.project
- text: Get the port mappings of one network forward.
- text: Show the address forward for {listen_address} on network {network}.
slots:
network: path.networkName
listen_address: path.listenAddress
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/networks/{networkName}/forwards/{listenAddress}'].put
update:
x-apievangelist-phrasing:
intent: Replace a network address forward
effect: write
questions:
- How do I overwrite all port rules of an address forward?
- Can I redefine a forward's whole configuration at once?
instructions:
- text: Replace the forward's port rules with {ports}.
slots:
ports: requestBody.ports
- text: Overwrite the address forward configuration with {config}.
slots:
config: requestBody.config
- text: Replace the port rules of forward {listen_address} on network {network} with {ports}.
slots:
network: path.networkName
listen_address: path.listenAddress
ports: requestBody.ports
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/networks/{networkName}/forwards/{listenAddress}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a network address forward
effect: destructive
questions:
- How do I stop forwarding a listen address on an LXD network?
- Can I remove an address forward from a project?
instructions:
- text: Delete the network address forward in project {project}.
slots:
project: query.project
- text: Remove this listen address forward.
- text: Delete the address forward for {listen_address} on network {network}.
slots:
network: path.networkName
listen_address: path.listenAddress
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/networks/{networkName}/forwards/{listenAddress}'].patch
update:
x-apievangelist-phrasing:
intent: Partially update a network address forward
effect: write
questions:
- Can I change just the description of an address forward?
- Is there a way to update a forward's ports without resending everything?
instructions:
- text: Change only the forward's description to {description}.
slots:
description: requestBody.description
- text: Patch the forward's ports to {ports}, keeping other settings.
slots:
ports: requestBody.ports
- text: Patch forward {listen_address} on network {network}, changing only its description to {description}.
slots:
network: path.networkName
listen_address: path.listenAddress
description: requestBody.description
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/networks/{networkName}/forwards?recursion=1'].get
update:
x-apievangelist-phrasing:
intent: List network forwards with details
effect: read
questions:
- Can I get every network forward with its ports and config expanded?
- Which call returns full address forward objects rather than URLs?
instructions:
- text: List all network forwards with full details in project {project}.
slots:
project: query.project
- text: Show expanded address forward records for the network.
- text: List every address forward on network {network} with full details.
slots:
network: path.networkName
method: generated
generated: '2026-10-01'
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-network-forwards-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.