Canonical · OpenAPI Overlay 1.0.0
API Evangelist conversational phrasing for Canonical Instances API
59 actions
59 updates
phrasing
extends
openapi/canonical-instances-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 59 · first 16 shown; the file carries all of them
$.info
$.paths['/1.0/instances'].get
$.paths['/1.0/instances'].put
$.paths['/1.0/instances'].post
$.paths['/1.0/instances'].delete
$.paths['/1.0/instances/{id_or_name}'].get
$.paths['/1.0/instances/{id_or_name}'].delete
$.paths['/1.0/instances/{id_or_name}'].patch
$.paths['/1.0/instances/{id_or_name}/exec'].post
$.paths['/1.0/instances/{id_or_name}/logs'].get
$.paths['/1.0/instances/{id_or_name}/logs/{name}'].get
$.paths['/1.0/instances?recursion=1'].get
$.paths['/1.0/instances/{name}'].get
$.paths['/1.0/instances/{name}'].put
$.paths['/1.0/instances/{name}'].post
$.paths['/1.0/instances/{name}'].delete
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 Canonical Instances API
version: 1.0.0
extends: openapi/canonical-instances-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: 58
- target: $.paths['/1.0/instances'].get
update:
x-apievangelist-phrasing:
intent: List Anbox instances as endpoint URLs
effect: read
questions:
- How do I get the URLs of every Anbox instance in AMS?
- Can I page through AMS instance links using limit and offset?
- Which filters narrow the AMS instance URL list, like app name or node?
instructions:
- text: List the endpoint URLs of AMS instances running app {app_name}.
slots:
app_name: query.app_name
- text: Get AMS instance URLs on node {node}, {limit} at a time.
slots:
node: query.node
limit: query.limit
method: generated
generated: '2026-09-26'
- target: $.paths['/1.0/instances'].put
update:
x-apievangelist-phrasing:
intent: Change the running state of all instances
effect: write
questions:
- Can I stop every instance at once instead of one by one?
- What bulk call starts all the instances in a project together?
instructions:
- text: Set every instance in project {project} to state {state}.
slots:
project: query.project
state: requestBody.state
- text: Start all of my instances in one bulk request.
method: generated
generated: '2026-09-26'
- target: $.paths['/1.0/instances'].post
update:
x-apievangelist-phrasing:
intent: Launch a new Anbox instance from an app or image
effect: write
questions:
- How do I launch a new Android instance in AMS from an application?
- Can I create an Anbox instance from a raw image instead of an app?
- What happens if AMS lacks the resources to create my instance?
instructions:
- text: Create an AMS instance of app {app_id} version {app_version}.
slots:
app_id: requestBody.app_id
app_version: requestBody.app_version
- text: 'Launch an AMS instance from image {image_id} on node {node} without starting it: {no_start}.'
slots:
image_id: requestBody.image_id
node: requestBody.node
no_start: requestBody.no_start
method: generated
generated: '2026-09-26'
- target: $.paths['/1.0/instances'].delete
update:
x-apievangelist-phrasing:
intent: Delete several Anbox instances at once
effect: destructive
questions:
- Can I delete a batch of AMS instances by their IDs in one call?
- What happens to a bulk AMS delete if one instance fails to delete?
instructions:
- text: Delete the AMS instances {ids}.
slots:
ids: requestBody.ids
- text: Force-delete AMS instances {ids} even if they are running.
slots:
ids: requestBody.ids
method: generated
generated: '2026-09-26'
- target: $.paths['/1.0/instances/{id_or_name}'].get
update:
x-apievangelist-phrasing:
intent: Get details of one Anbox instance
effect: read
questions:
- How can I look up a single AMS instance by its ID or name?
- What details does AMS return about one Anbox instance?
instructions:
- text: Show me the AMS instance {id_or_name}.
slots:
id_or_name: path.id_or_name
- text: Look up Anbox instance {id_or_name} and tell me its status.
slots:
id_or_name: path.id_or_name
method: generated
generated: '2026-09-26'
- target: $.paths['/1.0/instances/{id_or_name}'].delete
update:
x-apievangelist-phrasing:
intent: Delete one Anbox instance
effect: destructive
questions:
- How do I remove a single Anbox instance from AMS?
- Is deleting an AMS instance asynchronous, and how do I track it?
instructions:
- text: Delete AMS instance {id_or_name}.
slots:
id_or_name: path.id_or_name
- text: Force the deletion of Anbox instance {id_or_name}.
slots:
id_or_name: path.id_or_name
method: generated
generated: '2026-09-26'
- target: $.paths['/1.0/instances/{id_or_name}'].patch
update:
x-apievangelist-phrasing:
intent: Start or stop one Anbox instance
effect: write
questions:
- How do I stop a single Anbox instance without deleting it?
- Can I change the desired status of one AMS instance?
instructions:
- text: Set AMS instance {id_or_name} to desired status {desired_status}.
slots:
id_or_name: path.id_or_name
desired_status: requestBody.desired_status
- text: Stop Anbox instance {id_or_name}.
slots:
id_or_name: path.id_or_name
method: generated
generated: '2026-09-26'
- target: $.paths['/1.0/instances/{id_or_name}/exec'].post
update:
x-apievangelist-phrasing:
intent: Run a command inside an Anbox instance
effect: write
questions:
- Can I run a shell command inside an Android instance managed by AMS?
- Does AMS exec support an interactive session with a terminal size?
instructions:
- text: Run {command} inside AMS instance {id_or_name}.
slots:
command: requestBody.command
id_or_name: path.id_or_name
- text: Open an interactive shell in Anbox instance {id_or_name} with environment {environment}.
slots:
id_or_name: path.id_or_name
environment: requestBody.environment
method: generated
generated: '2026-09-26'
- target: $.paths['/1.0/instances/{id_or_name}/logs'].get
update:
x-apievangelist-phrasing:
intent: List collected logs for an Anbox instance
effect: read
questions:
- Where can I find the logs AMS collected when an instance went into error?
- Which log files are stored for a failed Anbox instance?
instructions:
- text: List the collected log files for AMS instance {id_or_name}.
slots:
id_or_name: path.id_or_name
- text: Show what logs AMS gathered from errored instance {id_or_name}.
slots:
id_or_name: path.id_or_name
method: generated
generated: '2026-09-26'
- target: $.paths['/1.0/instances/{id_or_name}/logs/{name}'].get
update:
x-apievangelist-phrasing:
intent: Download one collected Anbox instance log
effect: read
questions:
- How do I download a specific raw log file AMS stored for an instance?
- Can I read one collected log from a crashed Anbox instance?
instructions:
- text: Download log {name} from AMS instance {id_or_name}.
slots:
name: path.name
id_or_name: path.id_or_name
- text: Fetch the raw {name} log collected for Anbox instance {id_or_name}.
slots:
name: path.name
id_or_name: path.id_or_name
method: generated
generated: '2026-09-26'
- target: $.paths['/1.0/instances?recursion=1'].get
update:
x-apievangelist-phrasing:
intent: List Anbox instances with full details
effect: read
questions:
- How do I list AMS instances with their full records instead of just URLs?
- Can I get every Anbox instance's details filtered by status in one call?
instructions:
- text: List full records of AMS instances with status {status}.
slots:
status: query.status
- text: Give me detailed AMS instances built from image {image_id}.
slots:
image_id: query.image_id
method: generated
generated: '2026-09-26'
- target: $.paths['/1.0/instances/{name}'].get
update:
x-apievangelist-phrasing:
intent: Get an LXD instance's basic configuration
effect: read
questions:
- How do I look up an LXD instance's configuration by name?
- What does the basic LXD instance record include without state?
instructions:
- text: Show the basic config of my LXD instance in project {project}.
slots:
project: query.project
- text: Get the LXD record of instance {instance} without its runtime state.
slots:
instance: path.name
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}'].put
update:
x-apievangelist-phrasing:
intent: Replace an LXD instance's configuration
effect: write
questions:
- How do I replace the whole configuration of an LXD instance?
- Can I restore an LXD instance from one of its snapshots?
instructions:
- text: Replace the config of LXD instance {instance} with {config} and profiles {profiles}.
slots:
instance: path.name
config: requestBody.config
profiles: requestBody.profiles
- text: Restore the LXD instance to snapshot {restore}.
slots:
restore: requestBody.restore
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}'].post
update:
x-apievangelist-phrasing:
intent: Rename, move or migrate an LXD instance
effect: write
questions:
- How do I rename an LXD instance?
- Can I live-migrate an LXD instance to another cluster member?
- Is it possible to move an instance to a different storage pool?
instructions:
- text: Rename LXD instance {instance} to {new_name}.
slots:
instance: path.name
new_name: requestBody.name
- text: Live-migrate the LXD instance to cluster member {target}.
slots:
target: requestBody.target
- text: Move the LXD instance to storage pool {pool}.
slots:
pool: requestBody.pool
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}'].delete
update:
x-apievangelist-phrasing:
intent: Delete an LXD instance and its snapshots
effect: destructive
questions:
- Does deleting an LXD instance also remove its snapshots and backups?
- How do I permanently remove an LXD container or VM?
instructions:
- text: Delete the LXD instance in project {project}, including its snapshots and backups.
slots:
project: query.project
- text: Force-delete the LXD instance {instance}.
slots:
instance: path.name
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}'].patch
update:
x-apievangelist-phrasing:
intent: Change some settings of an LXD instance
effect: write
questions:
- Can I change just one config key on an LXD instance without resending everything?
- How do I add a device to an existing LXD instance?
instructions:
- text: Merge config {config} into the existing settings of LXD instance {instance}.
slots:
instance: path.name
config: requestBody.config
- text: Add devices {devices} to the LXD instance, keeping the rest unchanged.
slots:
devices: requestBody.devices
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}/backups'].get
update:
x-apievangelist-phrasing:
intent: List an LXD instance's backup URLs
effect: read
questions:
- Which backups exist for my LXD instance?
- How do I get links to all backups of an instance?
instructions:
- text: List backup URLs for the LXD instance in project {project}.
slots:
project: query.project
- text: Show the links to the backups of instance {instance}.
slots:
instance: path.name
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}/backups'].post
update:
x-apievangelist-phrasing:
intent: Create a backup of an LXD instance
effect: write
questions:
- How do I back up an LXD instance?
- Can an LXD backup skip snapshots and set an expiry date?
instructions:
- text: Back up LXD instance {instance} as {backup_name}, expiring at {expires_at}.
slots:
instance: path.name
backup_name: requestBody.name
expires_at: requestBody.expires_at
- text: Create an instance-only backup compressed with {compression_algorithm}.
slots:
compression_algorithm: requestBody.compression_algorithm
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}/backups/{backup}'].get
update:
x-apievangelist-phrasing:
intent: Get one backup of an LXD instance
effect: read
questions:
- How can I see the details of a single instance backup?
- When does a particular LXD backup expire?
instructions:
- text: Show the details of this LXD instance backup in project {project}.
slots:
project: query.project
- text: Look up backup {backup} of instance {instance} and report its expiry.
slots:
instance: path.name
backup: path.backup
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}/backups/{backup}'].post
update:
x-apievangelist-phrasing:
intent: Rename an LXD instance backup
effect: write
questions:
- Can I rename an existing instance backup?
- How do I give an LXD backup a clearer name?
instructions:
- text: Rename backup {backup} of instance {instance} to {new_name}.
slots:
instance: path.name
backup: path.backup
new_name: requestBody.name
- text: Change this LXD backup's name to {name} in project {project}.
slots:
name: requestBody.name
project: query.project
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}/backups/{backup}'].delete
update:
x-apievangelist-phrasing:
intent: Delete an LXD instance backup
effect: destructive
questions:
- How do I delete an old instance backup?
- Can I remove one backup while keeping the others?
instructions:
- text: Delete backup {backup} of the LXD instance {instance}.
slots:
instance: path.name
backup: path.backup
- text: Remove the instance backup from project {project}.
slots:
project: query.project
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}/backups/{backup}/export'].get
update:
x-apievangelist-phrasing:
intent: Download an LXD instance backup file
effect: read
questions:
- How do I download the raw backup tarball of an instance?
- Can I export an LXD backup off the server?
instructions:
- text: Download the raw file of backup {backup} for instance {instance}.
slots:
instance: path.name
backup: path.backup
- text: Export the instance backup file from project {project}.
slots:
project: query.project
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}/backups?recursion=1'].get
update:
x-apievangelist-phrasing:
intent: List an LXD instance's backups with details
effect: read
questions:
- Can I list every instance backup with its full details, not just links?
- What are the expiry dates of all my instance's backups?
instructions:
- text: List all backups of instance {instance} as full records.
slots:
instance: path.name
- text: Give me detailed backup entries for my instance in project {project}.
slots:
project: query.project
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}/console'].get
update:
x-apievangelist-phrasing:
intent: Read an LXD instance's console log
effect: read
questions:
- How do I see the boot console output of an LXD instance?
- Where can I read what an instance printed to its console?
instructions:
- text: Show the console log of LXD instance {instance}.
slots:
instance: path.name
- text: Fetch the instance console output in project {project}.
slots:
project: query.project
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}/console'].post
update:
x-apievangelist-phrasing:
intent: Attach to an LXD instance console
effect: write
questions:
- Can I attach to the live console of a running instance?
- Does LXD offer a graphical VGA console as well as a text one?
instructions:
- text: Connect to the {type} console of instance {instance}.
slots:
instance: path.name
type: requestBody.type
- text: Open a console session sized {width} by {height}.
slots:
width: requestBody.width
height: requestBody.height
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}/console'].delete
update:
x-apievangelist-phrasing:
intent: Clear an LXD instance's console log
effect: destructive
questions:
- How do I wipe the console log buffer of an instance?
- Can I reset the saved console output before a reboot?
instructions:
- text: Clear the console log buffer of instance {instance}.
slots:
instance: path.name
- text: Empty the instance console log in project {project}.
slots:
project: query.project
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}/exec'].post
update:
x-apievangelist-phrasing:
intent: Run a command inside an LXD instance
effect: write
questions:
- How do I run a command inside an LXD container as a specific user?
- Can LXD record the output of a command I execute in an instance?
instructions:
- text: Run {command} in the LXD instance as user {user} from directory {cwd}.
slots:
command: requestBody.command
user: requestBody.user
cwd: requestBody.cwd
- text: Execute {command} in instance {instance} and record its output.
slots:
instance: path.name
command: requestBody.command
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}/files'].get
update:
x-apievangelist-phrasing:
intent: Read a file or folder inside an instance
effect: read
questions:
- How do I read a file from inside an LXD instance?
- Can I list the contents of a directory in a container?
instructions:
- text: Read the file at {path} inside instance {instance}.
slots:
instance: path.name
path: query.path
- text: List the directory {path} in the instance.
slots:
path: query.path
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}/files'].post
update:
x-apievangelist-phrasing:
intent: Push a file into an instance
effect: write
questions:
- How do I upload a file into a running container?
- Can I set the owner and permissions of a file I push to an instance?
instructions:
- text: Write a file to {path} inside instance {instance}.
slots:
instance: path.name
path: query.path
- text: Create {path} in the instance owned by uid {uid} with mode {mode}.
slots:
path: query.path
uid: header.X-LXD-uid
mode: header.X-LXD-mode
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}/files'].delete
update:
x-apievangelist-phrasing:
intent: Delete a file inside an instance
effect: destructive
questions:
- How do I remove a file from inside a container without a shell?
- Can I delete a path in an instance's filesystem through the API?
instructions:
- text: Delete {path} from the filesystem of instance {instance}.
slots:
instance: path.name
path: query.path
- text: Remove the file {path} in project {project}'s instance.
slots:
path: query.path
project: query.project
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}/files'].head
update:
x-apievangelist-phrasing:
intent: Check a file's metadata inside an instance
effect: read
questions:
- Can I check whether a file exists in an instance without downloading it?
- How do I get the owner and mode of a path inside a container?
instructions:
- text: Check the metadata of {path} inside instance {instance}.
slots:
instance: path.name
path: query.path
- text: Tell me if {path} is a file or directory in the instance.
slots:
path: query.path
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}/logs'].get
update:
x-apievangelist-phrasing:
intent: List an LXD instance's log files
effect: read
questions:
- Which log files does LXD keep for an instance?
- How do I find the names of an instance's LXD log files?
instructions:
- text: List the LXD log file URLs for instance {instance}.
slots:
instance: path.name
- text: Show which LXD logs exist for the instance in project {project}.
slots:
project: query.project
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}/logs/{filename}'].get
update:
x-apievangelist-phrasing:
intent: Read one LXD instance log file
effect: read
questions:
- How do I read the lxc.log of an instance?
- Can I download a single LXD log file for a container?
instructions:
- text: Show me the contents of LXD log file {filename} for instance {instance}.
slots:
instance: path.name
filename: path.filename
- text: Download that LXD instance log from project {project}.
slots:
project: query.project
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}/logs/exec-output'].get
update:
x-apievangelist-phrasing:
intent: List recorded command output files
effect: read
questions:
- Where are the recorded outputs of commands I ran in an instance?
- Which exec record-output files exist for my instance?
instructions:
- text: List the recorded exec output files for instance {instance}.
slots:
instance: path.name
- text: Show exec record-output files in project {project}.
slots:
project: query.project
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}/logs/exec-output/{filename}'].get
update:
x-apievangelist-phrasing:
intent: Read one recorded command output file
effect: read
questions:
- How do I read the saved stdout of a command I executed earlier?
- Can I fetch a specific exec-output file from an instance?
instructions:
- text: Show the contents of recorded exec output file {filename} from instance {instance}.
slots:
instance: path.name
filename: path.filename
- text: Fetch the saved command output from the instance in project {project}.
slots:
project: query.project
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}/logs/exec-output/{filename}'].delete
update:
x-apievangelist-phrasing:
intent: Delete a recorded command output file
effect: destructive
questions:
- How do I clean up recorded exec output files?
- Can I delete one saved command output from an instance?
instructions:
- text: Delete recorded exec output file {filename} from instance {instance}.
slots:
instance: path.name
filename: path.filename
- text: Remove the saved command output from project {project}.
slots:
project: query.project
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}/metadata'].get
update:
x-apievangelist-phrasing:
intent: Get an instance's image metadata
effect: read
questions:
- How do I see the image metadata an instance was built with?
- What templates and properties are in my instance's metadata.yaml?
instructions:
- text: Show the image metadata of instance {instance}.
slots:
instance: path.name
- text: Get the instance image metadata in project {project}.
slots:
project: query.project
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}/metadata'].put
update:
x-apievangelist-phrasing:
intent: Replace an instance's image metadata
effect: write
questions:
- Can I overwrite all of an instance's image metadata?
- How do I replace the templates list in instance metadata?
instructions:
- text: Replace the instance image metadata with properties {properties} and templates {templates}.
slots:
properties: requestBody.properties
templates: requestBody.templates
- text: Overwrite the metadata architecture of instance {instance} with {architecture}.
slots:
instance: path.name
architecture: requestBody.architecture
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}/metadata'].patch
update:
x-apievangelist-phrasing:
intent: Update part of an instance's image metadata
effect: write
questions:
- Can I change a single property in an instance's image metadata?
- How do I set a new expiry date on instance metadata without resending it all?
instructions:
- text: Merge properties {properties} into the instance image metadata.
slots:
properties: requestBody.properties
- text: Patch the metadata expiry date of instance {instance} to {expiry_date}.
slots:
instance: path.name
expiry_date: requestBody.expiry_date
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}/metadata/templates'].get
update:
x-apievangelist-phrasing:
intent: List or read instance template files
effect: read
questions:
- Which image template files does my instance have?
- How do I read the content of one template file on an instance?
instructions:
- text: List the image template file names of instance {instance}.
slots:
instance: path.name
- text: Show the template file {path}.
slots:
path: query.path
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}/metadata/templates'].post
update:
x-apievangelist-phrasing:
intent: Upload an instance template file
effect: write
questions:
- How do I add a new image template file to an instance?
- Can I replace an existing template file on an instance?
instructions:
- text: Upload template file {path} to instance {instance}.
slots:
instance: path.name
path: query.path
- text: Replace the template {path} in project {project}.
slots:
path: query.path
project: query.project
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}/metadata/templates'].delete
update:
x-apievangelist-phrasing:
intent: Delete an instance template file
effect: destructive
questions:
- How do I remove an image template file from an instance?
- Can I drop a template I no longer need?
instructions:
- text: Delete the template file {path} from instance {instance}.
slots:
instance: path.name
path: query.path
- text: Remove template {path} in project {project}.
slots:
path: query.path
project: query.project
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}/rebuild'].post
update:
x-apievangelist-phrasing:
intent: Rebuild an instance from a new image
effect: destructive
questions:
- Can I reinstall an instance from a different image while keeping its name?
- How do I wipe an instance and rebuild it empty?
instructions:
- text: Rebuild instance {instance} from source {source}.
slots:
instance: path.name
source: requestBody.source
- text: Rebuild the instance as empty in project {project}.
slots:
project: query.project
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}/sftp'].get
update:
x-apievangelist-phrasing:
intent: Open an SFTP connection to an instance
effect: read
questions:
- Can I browse an instance's filesystem over SFTP?
- How do I get SFTP access to a container's files?
instructions:
- text: Open an SFTP connection to the filesystem of instance {instance}.
slots:
instance: path.name
- text: Upgrade to SFTP so I can transfer files with the instance.
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}/snapshots'].get
update:
x-apievangelist-phrasing:
intent: List an instance's snapshot URLs
effect: read
questions:
- Which snapshots exist for my instance?
- How do I get links to every snapshot of a container?
instructions:
- text: List the snapshot URLs of instance {instance}.
slots:
instance: path.name
- text: Show links to instance snapshots in project {project}.
slots:
project: query.project
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}/snapshots'].post
update:
x-apievangelist-phrasing:
intent: Take a snapshot of an instance
effect: write
questions:
- How do I snapshot an instance before an upgrade?
- Can a snapshot include the running memory state?
instructions:
- text: Snapshot instance {instance} as {snapshot_name}, expiring at {expires_at}.
slots:
instance: path.name
snapshot_name: requestBody.name
expires_at: requestBody.expires_at
- text: Take a stateful snapshot named {name}.
slots:
name: requestBody.name
method: generated
generated: '2026-10-01'
- target: $.paths['/1.0/instances/{name}/snapshots/{snapshot}'].get
update:
x-apievangelist-phrasing:
intent: Get one instance snapshot
effect: read
questions:
- How do I see the details of one snapshot?
- When was a particular instance snapshot created?
instructions:
- text: Show the details of snapshot {snapshot} of instance {instance}.
slots:
instance: path.name
snapshot: path.snapshot
- text: Get the snapshot record from project {project}.
slots:
project: query.project
method: generated
generated: '2026-10-01'
# --- truncated at 32 KB (38 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/canonical/refs/heads/main/overlays/canonical-instances-api-phrasing-overlay.yaml