Shopkeep (Extensions)
All endpoints are public (no auth required).
| Method | Path | Description |
|---|---|---|
| GET | /api/v1/extensions | List extensions |
| GET | /api/v1/extensions/{id} | Extension details |
| GET | /api/v1/extensions/{id}/versions | Version list |
| GET | /api/v1/extensions/{id}/versions/{ver} | Version details |
| GET | /api/v1/extensions/{id}/versions/{ver}/download | Download .empkg |
| GET | /api/v1/extensions/{id}/latest/download | Download latest |
| GET | /api/v1/extensions/{id}/readme | README |
| GET | /api/v1/extensions/{id}/icon | Icon |
| POST | /api/v1/extensions/check | Check for updates |
GET /api/v1/extensions
Section titled “GET /api/v1/extensions”Query: ?query=sql (search), ?category=data (filter), ?page=1&per_page=20 (pagination).
Response:
{ "items": [ { "id": "sql", "name": "SQL Query Tool", "version": "1.0.0", "description": "Execute SQL queries against connected databases", "author": "inboard AI", "license": "MIT", "categories": ["data"], "has_icon": true } ], "total": 5, "page": 1, "per_page": 20, "total_pages": 1}POST /api/v1/extensions/check
Section titled “POST /api/v1/extensions/check”Check for updates to installed extensions:
{"extensions": [{"id": "sql", "version": "0.9.0"}, {"id": "databricks", "version": "1.0.0"}]}Response: list of extensions with available updates.