Canonical Assertions API

The Assertions API from Canonical — 1 operation(s) for assertions.

Operations 1

GET /v2/assertions/{type}/{primaryKey} Fetch an assertion

Work with this as data

Every API 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 apis

7 MCP tools reach this
  • find_apisBrowse and filter every API in the catalog.
  • get_api_artifactsOne API's artifacts, grouped by type.
  • get_openapiThe primary OpenAPI for this API.
  • find_similar_apisAPIs that look like this one.
  • 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.
All 92 tools →

Call it yourself

curl for this page
This API
curl "https://apis.io/api/v1/apis/canonical-assertions-api"
All apis
curl "https://apis.io/api/v1/apis?limit=25"

Discovery needs no key. Ratings and market analysis are Pro.

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.

OpenAPI Specification

canonical-assertions-api-openapi.yml Raw ↑
openapi: 3.2.0
x-generated-from: documentation
x-provenance-note: >-
  Hand-authored by API Evangelist from the publicly documented Snap Store Device API
  reference at https://api.snapcraft.io/docs/ — NOT harvested from a Canonical-published
  machine-readable contract, because Canonical publishes none for api.snapcraft.io. Marked
  2026-09-05 so this file is never mistaken for a provider artifact. The specs Canonical does
  publish are the other thirteen documents in openapi/, each harvested verbatim.
info:
  title: Canonical Snap Store Device Assertions API
  description: 'Public Snap Store Device API (api.snapcraft.io) used by snap clients to

    discover snaps, fetch metadata, refresh installed snaps, search the

    store, and download assertions. Endpoints come from the publicly

    documented snap store reference (https://api.snapcraft.io/docs/).


    Most endpoints are open / unauthenticated. Authenticated endpoints under

    /api/v1/snaps/auth/ use Ubuntu One macaroons and require the

    Snap-Device-Series header.


    This specification is a best-effort, hand-authored representation. The

    Charmhub API (api.charmhub.io), Snapcraft Dashboard API, snapd local

    REST API, LXD REST API, MAAS API, Juju, Launchpad, Ubuntu Pro Client,

    and Landscape APIs are not modeled here — see apis.yml for those

    surfaces and their respective Canonical documentation.

    '
  version: v2
  contact:
    name: Canonical / Snapcraft
    url: https://api.snapcraft.io/docs/
servers:
- url: https://api.snapcraft.io
tags:
- name: Assertions
paths:
  /v2/assertions/{type}/{primaryKey}:
    parameters:
    - in: path
      name: type
      required: true
      schema:
        type: string
        enum:
        - snap-declaration
        - snap-revision
        - account
        - account-key
        - validation-set
    - in: path
      name: primaryKey
      required: true
      schema:
        type: string
    get:
      summary: Fetch an assertion
      description: Retrieve a signed assertion document by type and primary key.
      responses:
        '200':
          description: Signed assertion document (application/x.ubuntu.assertion).
          content:
            application/x.ubuntu.assertion:
              schema:
                type: string
      tags:
      - Assertions