REST API
All routes use the base path /api and require a Cognito JWT
(Authorization: Bearer <token>) unless noted otherwise.
- Bodies are
snake_case. - Query params are
camelCase(e.g.workspaceId, notwsId), read as-is by the backend with no conversion. - Responses are converted snake_case → camelCase automatically at the frontend HTTP boundary; the wire format documented on each page below is the raw backend shape.
This page is an index. Each domain has its own reference page with full route descriptions, request/response shapes, status codes, and known REST/MCP deviations:
| Domain | Page | Base route |
|---|---|---|
| Auth | Auth API | /api/auth/* |
| Workspaces | Workspaces API | /api/workspaces/* |
| Ideas | Ideas API | /api/ideas/* |
| Posts | Posts API | /api/posts/* |
| Comments | Comments API | /api/posts/{id}/comments/* |
| GenAI | GenAI API | /api/genai/* |
| Prompts | Prompts API | /api/prompts/* |
| Examples | Examples API | /api/examples/* |
| Actions | Actions API | /api/actions/* |
| Audiences & Languages | Audiences & Languages API | /api/audiences/*, /api/languages/* |
| Quick Capture | Quick Capture API | /api/quick-capture/* |
| Backups | Backups API | /api/admin/backups* (served by admin_handler) |
| Admin | Admin API | /api/admin/* |
See also the API Overview for the base conventions and the WebSocket API for real-time collaboration routes.
Each domain page cross-links its MCP equivalent (/mcp/<domain>) where one exists,
including where the two surfaces diverge — MCP tools are a narrower, independently
implemented subset of the REST surface, not a guaranteed match. See
MCP → Overview and specs/features/mcp.md in the repo for the full
picture.