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.
| Endpoint | Result |
|---|---|
GET /templates?q&cursor&limit | Search 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}/manifest | The current normalized manifest. |
GET /icons/{repository}/{commit}.png | The validated icon at an immutable commit address. |
GET /tags | An 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.