API Summary
Status: CRUD (Milestone 4), Authentication (Milestone 7), Storage (Milestone 8), Realtime (Milestone 9), Admin API (Milestone 10), and SDKs (Milestone 11) implemented.
REST API (Milestone 4)
Auto-generated CRUD per collection:
GET /api/{collection}
POST /api/{collection}
GET /api/{collection}/:id
PUT /api/{collection}/:id
DELETE /api/{collection}/:id
Full specification: docs/api/rest-api.md
Authentication (Milestone 7 — implemented)
POST /api/auth/register
POST /api/auth/login
POST /api/auth/refresh
POST /api/auth/logout
Storage (Milestone 8 — implemented)
POST /api/storage/upload # multipart: file, visibility (public|protected)
GET /api/storage/:id # download (ACL enforced)
DELETE /api/storage/:id # owner or admin
Upload response: { id, filename, mimeType, size, visibility, userId, createdAt }
Full specification: docs/api/storage.md
WebSocket (Milestone 9 — implemented)
WS /api/realtime?token=<jwt>
Client messages: { "action": "subscribe"|"unsubscribe"|"ping", "channel": "..." }
Channels (all Event Bus types):
{collection}.created|updated|deleted(wildcard:{collection}.*)auth.login|logout|registerstorage.uploaded|deletedfunction.started|completed|failedjob.started|completed|failedsystem.collection.created
Collection events are filtered by read permission. Full spec: docs/api/websocket-api.md
Admin API (Milestone 10 — implemented)
Dashboard at /_/. Requires admin role.
GET /api/auth/me
GET /api/admin/collections
POST /api/admin/collections
PUT /api/admin/collections/:name
DELETE /api/admin/collections/:name
GET /api/admin/users
PATCH /api/admin/users/:id
DELETE /api/admin/users/:id
GET /api/admin/storage
GET /api/admin/functions
GET /api/admin/jobs
GET /api/admin/jobs/:name/runs
GET /api/admin/logs
Full specification: docs/api/admin-api.md
SDKs (Milestone 11 — implemented)
| Package | Path |
|---|---|
@bakend/client (JS/TS) | sdk/javascript/ |
bakend (Dart) | sdk/dart/ |
import { BakendClient } from "@bakend/client";
const client = new BakendClient("http://localhost:8080");
Full reference: docs/llm/sdk.md, docs/sdk/javascript.md, docs/sdk/dart.md
Response Format
JSON with consistent error structure. See docs/api/rest-api.md for details.