REST API

Two APIs are easily confused. The one described here is Kubuno's public API, on api.kubuno.com: the marketplace catalogue, the signed manifest and the verification key — free to read, no authentication. A Kubuno instance, for its part, exposes its own authenticated API under /api/v1 (see the box at the foot of the page). This public API is the one the Kubuno application queries to install modules.

Open the interactive reference (Swagger) →

Base URL & conventions #

  • Base: https://api.kubuno.com/v1 · JSON format · open CORS · Cache-Control: public, max-age=300.
  • Free to read: GET/HEAD/OPTIONS without authentication; writes (reviews, installs, messages) are reserved to key-authorised clients.
  • Collections: { data, meta:{page,per_page,total,total_pages}, links }; resource: { data }; error: { error:{status,code,message} }.

Endpoints #

MethodPathPurpose
GET/v1Discovery (resource links)
GET/v1/modulesPaginated list (category, official, featured, q, sort, os, arch filters)
GET/v1/modules/{id}Module detail
GET/v1/modules/{id}/reviewsPublished reviews of a module (average rating in meta)
GET/v1/categoriesMarketplace categories
GET/v1/manifestSigned manifest of the verified artefacts (Ed25519 signature in X-Kubuno-Signature)
GET/v1/signing-keyPublic key for verifying the manifest
curl 'https://api.kubuno.com/v1/modules?category=Ops&sort=rating'
curl -D - 'https://api.kubuno.com/v1/manifest'
Tip

Machine-readable spec (OpenAPI 3.0): /openapi.json — handy for generating clients automatically.