cubeship
Templates

The catalog API

Read current templates and their manifests as JSON.

The public address is https://cubeship.dev/api/v2. Read endpoints need no key and allow requests from any origin.

EndpointResult
GET /templates?q&cursor&limitSearch by directory, display name or README description. limit is 1 to 48; next_cursor pages results.
GET /templates/{owner}/{repo}One template, including README, YAML source, source URL and normalized manifest. New templates use owner cubeshipd and the directory name as repo.
GET /templates/{owner}/{repo}/manifestThe current normalized manifest.
GET /icons/{repository}/{commit}.pngThe validated icon at an immutable commit address.
GET /tagsAn empty list; the route remains for older clients.

The title in a listing comes from top-level name in template.yaml. The release object remains in JSON for older instance clients; its commit is the source commit, not a selectable version. The catalog serves one current template per directory.

curl -s 'https://cubeship.dev/api/v2/templates?q=umami'

Errors use { "error": { "code": "not_found", "message": "..." } }. Codes are invalid_query (400), not_found (404) and unavailable (503).

/api/v1 remains available with a frozen legacy catalog for older daemons. New templates and updates to template definitions are published through /api/v2. Existing installations are not updated automatically.