Canonical Search API

The Search API from Canonical — 1 operation(s) for search.

OpenAPI Specification

canonical-search-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: Canonical Snap Store Device Assertions Search 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: Search
paths:
  /api/v1/search:
    get:
      summary: Search (legacy v1)
      parameters:
      - in: query
        name: q
        schema:
          type: string
      - in: query
        name: section
        schema:
          type: string
      - in: query
        name: fields
        schema:
          type: string
      - $ref: '#/components/parameters/DeviceSeries'
      responses:
        '200':
          $ref: '#/components/responses/Generic'
      tags:
      - Search
components:
  responses:
    Generic:
      description: Generic JSON response.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Generic'
  schemas:
    Generic:
      type: object
      additionalProperties: true
  parameters:
    DeviceSeries:
      in: header
      name: Snap-Device-Series
      required: true
      schema:
        type: string
        default: '16'
      description: Snap device series; required by the Device API.