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 Applications API

The applications API from Canonical — 20 operation(s) for applications.

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

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

This API exposes 45 operations across 20 paths, and defines 37 schemas. It is described by OpenAPI 3.2.0, at version 1.0.

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

45 operations 20 paths 37 schemas 8 DELETE17 GET8 PATCH8 POST4 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 45

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

Applications 45
GET
/1.0/applications
Get a list of applications
applications_get 14 params → 200default
POST
/1.0/applications
Create a new application
application_post 2 params body → 202400404default
DELETE
/1.0/applications
Delete multiple applications
applications_delete body → 202400404500
GET
/1.0/applications/{id}
Get information about an application
application_get 1 param → 200400404default
DELETE
/1.0/applications/{id}
Delete an application
application_delete 1 param → 202400403404default
PATCH
/1.0/applications/{id}
Update an application with a new package
application_patch_upload 2 params body → 202400404default
PATCH
/1.0/applications/{id}/
Update an applications's metadata
application_patch_meta 1 param body → 202400404default
GET
/1.0/applications/{id}/manifest
Get an application's manifest
application_manifest_get 1 param → 200400403404default
GET
/1.0/applications/{id}/{version}
Get information about an application's specific version
application_version_get 2 params → 200400403404default
DELETE
/1.0/applications/{id}/{version}
Delete a version of an application
application_version_delete 2 params body → 202400403404default
PATCH
/1.0/applications/{id}/{version}
Update a specific version of an application
application_version_patch 2 params body → 202400403404default
GET
/1.0/applications/{id}/{version}/manifest
Get the manifest for a specific version of an application
application_version_manifest_get 2 params → 200400403404default
GET
/1.0/applications?recursion=1
Get a list of applications with expanded object definitions
applications_get_recursion1 14 params → 200default
GET
/api/v1/applications/foxglove/dashboards/
List Foxglove dashboards
applications_foxglove_dashboards_list → 200
POST
/api/v1/applications/foxglove/dashboards/
Add a Foxglove dashboard
applications_foxglove_dashboards_create body → 201400
GET
/api/v1/applications/foxglove/dashboards/{uid}/
Download Foxglove dashboard JSON file
applications_foxglove_dashboards_retrieve 1 param → 200404
PUT
/api/v1/applications/foxglove/dashboards/{uid}/
Update a Foxglove dashboard completely
applications_foxglove_dashboards_update 1 param body → 201400404
PATCH
/api/v1/applications/foxglove/dashboards/{uid}/
Update a Foxglove dashboard partially
applications_foxglove_dashboards_partial_update 1 param body → 201400404
DELETE
/api/v1/applications/foxglove/dashboards/{uid}/
Delete a Foxglove dashboard
applications_foxglove_dashboards_destroy 1 param → 204404
GET
/api/v1/applications/grafana/dashboards/
List Grafana dashboards
applications_grafana_dashboards_list → 200
POST
/api/v1/applications/grafana/dashboards/
Add a Grafana dashboard
applications_grafana_dashboards_create body → 201400
GET
/api/v1/applications/grafana/dashboards/{uid}/
Download Grafana dashboard JSON file
applications_grafana_dashboards_retrieve 1 param → 200404
PUT
/api/v1/applications/grafana/dashboards/{uid}/
Update a Grafana dashboard completely
applications_grafana_dashboards_update 1 param body → 201400404
PATCH
/api/v1/applications/grafana/dashboards/{uid}/
Update a Grafana dashboard partially
applications_grafana_dashboards_partial_update 1 param body → 201400404
DELETE
/api/v1/applications/grafana/dashboards/{uid}/
Delete a Grafana dashboard
applications_grafana_dashboards_destroy 1 param → 204404
GET
/api/v1/applications/loki/alert_rules/
List Loki alert rule file
applications_loki_alert_rules_retrieve → 200
POST
/api/v1/applications/loki/alert_rules/
Add a Loki alert rule file
applications_loki_alert_rules_create body → 201400
GET
/api/v1/applications/loki/alert_rules/{uid}/
Download Loki alert rule file
applications_loki_alert_rules_retrieve_2 1 param → 200404
PUT
/api/v1/applications/loki/alert_rules/{uid}/
Update a Loki alert rule file completely
applications_loki_alert_rules_update 1 param body → 201400404
PATCH
/api/v1/applications/loki/alert_rules/{uid}/
Update a Loki alert rule file partially
applications_loki_alert_rules_partial_update 1 param body → 201400404
DELETE
/api/v1/applications/loki/alert_rules/{uid}/
Delete a Loki alert rule file
applications_loki_alert_rules_destroy 1 param → 204404
GET
/api/v1/applications/prometheus/alert_rules/
List Prometheus alert rule file
applications_prometheus_alert_rules_retrieve → 200
POST
/api/v1/applications/prometheus/alert_rules/
Add a Prometheus alert rule file
applications_prometheus_alert_rules_create body → 201400
GET
/api/v1/applications/prometheus/alert_rules/{uid}/
Download Prometheus alert rule file
applications_prometheus_alert_rules_retrieve_2 1 param → 200404
PUT
/api/v1/applications/prometheus/alert_rules/{uid}/
Update a Prometheus alert rule file completely
applications_prometheus_alert_rules_update 1 param body → 201400404
PATCH
/api/v1/applications/prometheus/alert_rules/{uid}/
Update a Prometheus alert rule file partially
applications_prometheus_alert_rules_partial_update 1 param body → 201400404
DELETE
/api/v1/applications/prometheus/alert_rules/{uid}/
Delete a Prometheus alert rule file
applications_prometheus_alert_rules_destroy 1 param → 204404
GET
/v1/applications
Get Applications
get_applications_v1_applications_get → 200
POST
/v1/applications
Create Application
create_application_v1_applications_post body → 200422
POST
/v1/applications/me/rotate
Rotate Own Api Key
rotate_own_api_key_v1_applications_me_rotate_post → 200
POST
/v1/applications/{application_id}/rotate
Rotate Api Key
rotate_api_key_v1_applications__application_id__rotate_post 1 param → 200422
GET
/v1/applications/me
Get Authenticated Application
get_authenticated_application_v1_applications_me_get → 200
GET
/v1/applications/{application_id}
Get Application
get_application_v1_applications__application_id__get 1 param → 200422
DELETE
/v1/applications/{application_id}
Delete Application
delete_application_v1_applications__application_id__delete 1 param → 204422
PATCH
/v1/applications/{application_id}
Update Application
update_application_v1_applications__application_id__patch 1 param body → 200422

Schemas 37

The contract defines 37 schemas that model the data the API accepts and returns. The most detailed are ApplicationVersion (19 properties), Application (18 properties), ApplicationPatch (16 properties), Operation (12 properties). Each schema is shown below with its type and property counts.

NetworkServiceSpec
object
NetworkServiceSpec is used to define the user defined network services that should be opened on a container
5 properties
VideoEncoderType
string
VideoEncoderType describes the type of a video encoder is used by an application
ApplicationAddon
object
ApplicationAddon describes a specific version of an addon an application version uses
2 properties
ImageStatus
integer
ImageStatus represents the status of an image
ApplicationBootstrap
object
ApplicationBootstrap describes the fields used to configure the application bootstrap
1 property
ApplicationVersionPatch
object
ApplicationVersionPatch represents the fields used to update an application version
1 property
ApplicationResourcesPost
object
ApplicationResourcesPost represents the fields used to update an application resource
5 properties
CollectionResponse
Collection Response
ApplicationHooks
object
ApplicationHooks describes the fields used to configure the hooks of an application
1 property
OperationResponse
object
Operation
5 properties
ApplicationsDelete
object
ApplicationsDelete represents a list of application to delete together
2 properties
StatusCode
integer
StatusCode represents a valid REST operation
Operation
object
Operation represents a background operation
12 properties
ApplicationPatch
object
ApplicationPatch represents the fields a user can modify
16 properties
ApplicationVersionDelete
object
ApplicationVersionDelete represents the fields used to delete an application version
1 property
Application
object
Application represents an AMS application
18 properties
NetworkProtocol
string
NetworkProtocol describes a specific network protocol like TCP or UDP a ContainerService can use
ApplicationVersion
object
ApplicationVersion describes a single version of an application
19 properties
ApplicationWatchdog
object
ApplicationWatchdog describes the fields used to update an application watchdog
2 properties
ApplicationResources
object
ApplicationResources describes resources allocated for an application
5 properties
NoMetaSyncResponse
object
Swagger Synchronous response without metadata field
4 properties
ApplicationExtraData
object
ApplicationExtraData represents an extra application data
3 properties
ApplicationStatus
integer
ApplicationStatus represents the status an application can be in
PatchedFoxgloveDashboard
object
Foxglove Dashboard Serializer class.
2 properties
PatchedLokiAlertRuleFile
object
Loki Alert Rule Serializer class.
3 properties
PrometheusAlertRuleFile
object
Prometheus Alert Rule Serializer class.
3 properties 2 required
FoxgloveDashboard
object
Foxglove Dashboard Serializer class.
2 properties 2 required
PatchedGrafanaDashboard
object
Grafana Dashboard Serializer class.
2 properties
GrafanaDashboard
object
Grafana Dashboard Serializer class.
2 properties 2 required
LokiAlertRuleFile
object
Loki Alert Rule Serializer class.
3 properties 2 required
PatchedPrometheusAlertRuleFile
object
Prometheus Alert Rule Serializer class.
3 properties
Permission
string
HTTPValidationError
object
1 property
ApplicationPatch_2
object
1 property
ApplicationResponse
object
4 properties 4 required
ApplicationPost
object
2 properties 2 required
ValidationError
object
5 properties 3 required

Specification

The full machine-readable OpenAPI contract behind this narrative.

Source

canonical-applications-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 Applications 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.