| title | Metadata & Package API |
|---|---|
| description | REST endpoints for object schemas, metadata types, UI views, and package management. |
Manage object schemas, metadata types, UI views, and installed packages over REST. All paths are relative to the base URL (defaults to /api/v1) — see the API Overview for discovery and service availability.
Retrieve and manage object schemas, metadata types, and UI views. Always available — provided by the kernel.
List all registered metadata types.
Response: { types: ["object", "view", "plugin", ...] }
List all items of a metadata type.
| Parameter | Location | Description |
|---|---|---|
type |
path | Metadata type name (e.g. object, view) |
Response: { type: "object", items: [{ name: "account", ... }, ...] }
Get a specific metadata item with optional ETag caching.
| Parameter | Location | Description |
|---|---|---|
type |
path | Metadata type name |
name |
path | Item name (snake_case) |
If-None-Match |
header | ETag for conditional request |
Response: { type: "object", name: "account", item: { ... } }
304 if ETag matches (not modified).
Create or update a metadata item.
Body: { type: "object", name: "account", item: { ... } }
Response: { success: true }
Get an auto-generated UI view for an object.
| Parameter | Location | Description |
|---|---|---|
object |
path | Object name (snake_case) |
type |
path | list or form |
Response: Full ViewSchema definition with columns/fields derived from the object schema.
Manage installed plugins/packages.
List installed packages.
Install a package from its manifest (SDK: client.packages.install). Re-installing an
already-installed id returns 409 Conflict unless overwrite: true.
Body: { manifest: { id: "plugin-auth", name: "Plugin Auth", version: "1.0.0", ... }, settings?: { ... }, enableOnInstall?: true, overwrite?: false }
Response: { package: { id: "plugin-auth", version: "1.0.0", ... }, message?: "..." }
Publish a package (manifest + metadata) to the package marketplace registry. This is publisher tooling, not part of the app SDK surface.
Body: { manifest: { id: "plugin-auth", name: "Plugin Auth", version: "1.0.0", ... }, metadata: { objects: [...], views: [...], ... } }
Response: { success: true, message: "...", package: { id: "plugin-auth", version: "1.0.0" } }
Get package details.
Uninstall a package.
Enable a disabled package.
Disable a package without uninstalling.
- API Overview — discovery, error handling, and protocol types
- Data API — CRUD, batch operations, and analytics