Skip to content

Workspace

MethodPathAuthDescription
GET/api/v1/workspacesJWTList workspaces
POST/api/v1/workspacesJWTCreate workspace
GET/api/v1/workspaces/{id}JWTGet workspace
DELETE/api/v1/workspaces/{id}OwnerDelete workspace

Create: {"name": "Budget Model", "description": "..."}

MethodPathAuthDescription
GET/api/v1/workspaces/{id}/membersJWTList members
POST/api/v1/workspaces/{id}/membersAdminAdd member
PUT/api/v1/workspaces/{id}/members/{uid}AdminUpdate role
DELETE/api/v1/workspaces/{id}/members/{uid}AdminRemove member

Add: {"user_id": "...", "role": "edit"}. Roles: view, edit, admin.

MethodPathAuthDescription
GET/api/v1/workspaces/{id}/threadsJWTList threads
POST/api/v1/workspaces/{id}/threadsJWTCreate thread
PATCH/api/v1/workspaces/{id}/threads/{tid}JWTResolve/unresolve
DELETE/api/v1/workspaces/{id}/threads/{tid}AdminDelete thread

Query: ?resolved=true or ?resolved=false to filter.

Create:

{
"content": "...",
"anchor": {"Cell": {"sheet": "Sheet1", "cell": "B4"}},
"mentions": [{"User": {"id": "..."}}]
}

Resolve: {"resolved": true}

MethodPathAuthDescription
GET/api/v1/workspaces/{id}/threads/{tid}/commentsJWTList
POST/api/v1/workspaces/{id}/threads/{tid}/commentsJWTCreate
PUT/api/v1/workspaces/{id}/threads/{tid}/comments/{cid}JWTEdit
DELETE/api/v1/workspaces/{id}/threads/{tid}/comments/{cid}JWTDelete

Create: {"content": "...", "mentions": [{"Agent": {"id": "analyst"}}]}

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.