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/OPTIONSwithout 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 #
| Method | Path | Purpose |
|---|---|---|
| GET | /v1 | Discovery (resource links) |
| GET | /v1/modules | Paginated list (category, official, featured, q, sort, os, arch filters) |
| GET | /v1/modules/{id} | Module detail |
| GET | /v1/modules/{id}/reviews | Published reviews of a module (average rating in meta) |
| GET | /v1/categories | Marketplace categories |
| GET | /v1/manifest | Signed manifest of the verified artefacts (Ed25519 signature in X-Kubuno-Signature) |
| GET | /v1/signing-key | Public 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.