Skip to main content

Workspaces

Workspaces allow teams to share rooms and collaborate. Each user has a default "Personal" workspace. Additional workspaces can be created and members invited.

Roles

RolePermissions
OwnerFull access. Can rename workspace, manage all members, create/delete API keys and webhooks, delete workspace.
AdminCan invite members, manage member roles (except other admins), create API keys and webhooks.
MemberRead-only access to workspace rooms. Can leave the workspace.

List Workspaces

GET /api/workspaces

Response:

{
"workspaces": [
{
"id": 1,
"name": "Personal",
"slug": "personal-1710000000",
"owner_id": 1,
"created_at": 1710000000
}
]
}

Create Workspace

POST /api/workspaces

Request body:

FieldTypeRequiredDescription
namestringYesWorkspace name

Response:

{
"workspace": { "id": 2, "name": "My Team", ... }
}

Get Workspace

Returns workspace details including members.

GET /api/workspaces/:id

Response:

{
"workspace": {
"id": 2,
"name": "My Team",
"members": [
{
"id": 1,
"name": "John",
"email": "john@example.com",
"role": "owner",
"joined_at": 1710000000
}
]
}
}

Update Workspace

Rename a workspace. Owner only.

PATCH /api/workspaces/:id

Request body:

{ "name": "New Name" }

Delete Workspace

Permanently delete a workspace. Owner only. Cannot delete the "Personal" workspace.

DELETE /api/workspaces/:id

Response:

{ "ok": true }

Invite Members

Generate or retrieve an invite link. Owner or admin only.

POST /api/workspaces/:id/invite

Response:

{ "token": "abc123-uuid" }

Use the token to build an invite URL: https://app.nexus.livestorm.co/join/{token}


Join via Invite

POST /api/workspaces/join/:token

Response:

{
"workspace": { ... }
}

Update Member Role

Owner or admin only.

PATCH /api/workspaces/:id/members/:userId

Request body:

{ "role": "admin" }

Remove Member

DELETE /api/workspaces/:id/members/:userId

List Workspace Rooms

GET /api/workspaces/:id/rooms