Workspace
Workspaces
Section titled “Workspaces”| Method | Path | Auth | Description |
|---|---|---|---|
| GET | /api/v1/workspaces | JWT | List workspaces |
| POST | /api/v1/workspaces | JWT | Create workspace |
| GET | /api/v1/workspaces/{id} | JWT | Get workspace |
| DELETE | /api/v1/workspaces/{id} | Owner | Delete workspace |
Create: {"name": "Budget Model", "description": "..."}
Members
Section titled “Members”| Method | Path | Auth | Description |
|---|---|---|---|
| GET | /api/v1/workspaces/{id}/members | JWT | List members |
| POST | /api/v1/workspaces/{id}/members | Admin | Add member |
| PUT | /api/v1/workspaces/{id}/members/{uid} | Admin | Update role |
| DELETE | /api/v1/workspaces/{id}/members/{uid} | Admin | Remove member |
Add: {"user_id": "...", "role": "edit"}. Roles: view, edit, admin.
Threads
Section titled “Threads”| Method | Path | Auth | Description |
|---|---|---|---|
| GET | /api/v1/workspaces/{id}/threads | JWT | List threads |
| POST | /api/v1/workspaces/{id}/threads | JWT | Create thread |
| PATCH | /api/v1/workspaces/{id}/threads/{tid} | JWT | Resolve/unresolve |
| DELETE | /api/v1/workspaces/{id}/threads/{tid} | Admin | Delete thread |
Query: ?resolved=true or ?resolved=false to filter.
Create:
{ "content": "...", "anchor": {"Cell": {"sheet": "Sheet1", "cell": "B4"}}, "mentions": [{"User": {"id": "..."}}]}Resolve: {"resolved": true}
Comments
Section titled “Comments”| Method | Path | Auth | Description |
|---|---|---|---|
| GET | /api/v1/workspaces/{id}/threads/{tid}/comments | JWT | List |
| POST | /api/v1/workspaces/{id}/threads/{tid}/comments | JWT | Create |
| PUT | /api/v1/workspaces/{id}/threads/{tid}/comments/{cid} | JWT | Edit |
| DELETE | /api/v1/workspaces/{id}/threads/{tid}/comments/{cid} | JWT | Delete |
Create: {"content": "...", "mentions": [{"Agent": {"id": "analyst"}}]}
WebSocket
Section titled “WebSocket”Real-time collaboration: ws://<host>:8080/api/room/{workspace_id}?token=<jwt>
This is a binary WebSocket protocol used by the inboard desktop app for real-time document sync.