How AI is applied across API Evangelist and APIs.io. Read my AI disclosure →
API Evangelist API Evangelist
Discovery
Learnings
Guidance
Toolbox
Alignment
API Evangelist LLC

Canonical Images API

The images API from Canonical — 19 operation(s) for images.

Canonical Images API is one of 122 APIs that Canonical publishes on the APIs.io network, described by a machine-readable OpenAPI specification.

Tagged areas include Image. The published artifact set on APIs.io includes an OpenAPI specification, API documentation, an API reference, and release notes.

This API exposes 31 operations across 19 paths, and defines 27 schemas. It is described by OpenAPI 3.2.0, at version 1.0.

Requests are made against the base URL https://api.snapcraft.io.

31 operations 19 paths 27 schemas 4 DELETE13 GET4 PATCH8 POST2 PUT

Metadata

The identity and technical contract details declared by the specification.

Specification
OpenAPI 3.2.0
API Version
1.0
Base URL
https://api.snapcraft.io
Resource Areas
1

Paths & Operations 31

Across 19 paths, the API surfaces 31 operations — 4 DELETE, 13 GET, 4 PATCH, 8 POST, 2 PUT. Each is listed below with its method, path, parameters, and response codes.

Images 31
GET
/1.0/images
Get a list of images
images_get 1 param → 200default
POST
/1.0/images
Import an image
image_post_import body → 202400409default
POST
/1.0/images/
Upload a package to create an image
image_post_upload 2 params → 202400409default
GET
/1.0/images/{id_or_name}
Get information about an image
image_get 2 params → 200400404default
DELETE
/1.0/images/{id}
Delete an image
image_delete 2 params body → 202400404default
PATCH
/1.0/images/{id}
Update an image with a new package to upload
image_patch_upload 3 params → 202400404default
PATCH
/1.0/images/{id}/
Update an image's metadata
image_patch_meta 1 param body → 202400404default
DELETE
/1.0/images/{id}/{version}
Delete an image version
image_version_delete 2 params → 200400404default
GET
/1.0/images?recursion=1
Get the list of images expanded
images_get_recursion1 1 param → 200default
DELETE
/1.0/images/{fingerprint}
Delete the image
delete10ImagesByFingerprint 1 param → 202400403500
GET
/1.0/images/{fingerprint}
Get the image
get10ImagesByFingerprint 1 param → 200403500
PATCH
/1.0/images/{fingerprint}
Partially update the image
image_patch 1 param body → 200400403412500
PUT
/1.0/images/{fingerprint}
Update the image
image_put 1 param body → 200400403412500
GET
/1.0/images/{fingerprint}/export
Get the raw image file(s)
image_export_get 1 param → 200403500
POST
/1.0/images/{fingerprint}/export
Make LXD push the image to a remote server
images_export_post 1 param body → 202403500
GET
/1.0/images/{fingerprint}/export?public
Get the raw image file(s)
image_export_get_untrusted 2 params → 200403500
POST
/1.0/images/{fingerprint}/refresh
Refresh an image
images_refresh_post 1 param → 202403500
POST
/1.0/images/{fingerprint}/secret
Generate secret for retrieval of the image by an untrusted client
images_secret_post 1 param → 202403500
GET
/1.0/images/{fingerprint}?public
Get the public image
image_get_untrusted 2 params → 200403500
GET
/1.0/images/aliases
Get the image aliases
images_aliases_get 1 param → 200403500
POST
/1.0/images/aliases
Add an image alias
images_aliases_post 1 param body → 200400403500
DELETE
/1.0/images/aliases/{name}
Delete the image alias
image_alias_delete 1 param → 200400403500
GET
/1.0/images/aliases/{name}
Get the image alias
image_alias_get 1 param → 200403500
PATCH
/1.0/images/aliases/{name}
Partially update the image alias
images_alias_patch 1 param body → 200400403412500
POST
/1.0/images/aliases/{name}
Rename the image alias
images_alias_post 1 param body → 200400403500
PUT
/1.0/images/aliases/{name}
Update the image alias
images_aliases_put 1 param body → 200400403412500
GET
/1.0/images/aliases/{name}?public
Get the public image alias
image_alias_get_untrusted 1 param → 200403500
GET
/1.0/images/aliases?recursion=1
Get the image aliases
images_aliases_get_recursion1 1 param → 200403500
GET
/1.0/images?public
Get the public images
images_get_untrusted 3 params → 200403500
POST
/1.0/images?public
Add an image
images_post_untrusted 1 param body → 200400403500
GET
/1.0/images?public&recursion=1
Get the public images
images_get_recursion1_untrusted 3 params → 200403500

Schemas 27

The contract defines 27 schemas that model the data the API accepts and returns. The most detailed are Image_2 (20 properties), Operation_2 (15 properties), ImagesPostSource (14 properties), Operation (12 properties). Each schema is shown below with its type and property counts.

ImagesPost
object
ImagesPost represents the fields to upload a new image
4 properties
StatusCode
integer
StatusCode represents a valid REST operation
ImageVersion
object
ImageVersion describes a single version of an image
7 properties
Operation
object
Operation represents a background operation
12 properties
ImageDelete
object
ImageDelete describes a request used to delete an image
1 property
NoMetaSyncResponse
object
Swagger Synchronous response without metadata field
4 properties
ImageType
string
ImageType specifies the type of an image
ImagePatch
object
ImagePatch represents the fields to update an existing image
2 properties
CollectionResponse
Collection Response
OperationResponse
object
Operation
5 properties
ImageStatus
integer
ImageStatus represents the status of an image
Image
object
Image represents an image available in AMS
10 properties
ImageAlias
object
ImageAlias represents an alias from the alias list of a LXD image
2 properties
SourceType
string
ImageAliasesEntry
object
ImageAliasesEntry represents a LXD image alias
5 properties
ImageAliasesPost
object
ImageAliasesPost represents a new LXD image alias
5 properties
ImageSource
object
ImageSource represents the source of a LXD image
6 properties
ImageAliasesEntryPut
object
ImageAliasesEntryPut represents the modifiable fields of a LXD image alias
2 properties
ImagePut
object
ImagePut represents the modifiable fields of a LXD image
5 properties
ImagesPostSource
object
ImagesPostSource represents the source of a new LXD image
14 properties
StatusCode_2
integer
Operation_2
object
Operation represents a LXD background operation
15 properties
ImageExportPost
object
ImageExportPost represents the fields required to export a LXD image
6 properties
ImageAliasesEntryPost
object
ImageAliasesEntryPost represents the required fields to rename a LXD image alias
1 property
Image_2
object
Image represents a LXD image
20 properties
ImagesPost_2
object
ImagesPost represents the fields available for a new LXD image
9 properties
OperationRequestor
object
API extension: operationrequestor.
3 properties

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

canonical-images-api-openapi.yml Raw ↑

Other APIs Canonical publishes across the network.

Snap Store API
Charmhub API
MAAS API
Juju Client / Controller API
Launchpad Web Services API
Ubuntu Pro Client API
Canonical Assertions API
Canonical Search API
Canonical Snaps API
MicroCeph REST API
Canonical App Authorization Service API
Canonical Application API
Where this information came from

This is an independent, third-party profile of Canonical Images API, published by API Evangelist. We do not operate, host, resell, or support these APIs, and we are not affiliated with or endorsed by the company unless stated above. Everything here is built from publicly available information — the company's own site, developer portal, documentation, public repositories, and the specifications it publishes for public use. Nothing is obtained by breaching a system, defeating an access control, or using credentials.

The Kin Score and Agent Readiness rating are independently calculated assessments of a company's public API artifacts, scored against a published rubric. They are not certifications, endorsements, security assessments, or audits.

Corrections, re-scores, and removal are free — no partnership or purchase required, and you do not need to justify the request. A removed company is recorded as unrated, never scored zero for having asked. Acknowledgement within one business day; removal within two.

info@apievangelist.com · Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.