> ## Documentation Index
> Fetch the complete documentation index at: https://docs.kair.is/llms.txt
> Use this file to discover all available pages before exploring further.

# Workspaces

> Workspaces isolate groups, projects, or organisations within the platform.

## What is a workspace?

A workspace is a container for sessions and members. Think of it as a project or organisation unit. Each workspace has its own:

* Session history
* Member list and roles
* Pinned sessions (for quick dashboard access)

Users can belong to multiple workspaces. Admins see all workspaces.

## Workspace membership

Users join a workspace via an invitation or are added by an admin. Membership is scoped — a user's role within a workspace is independent of their global platform role.

## Key endpoints

### List workspaces

`GET /api/workspaces`

Returns workspaces the authenticated user is a member of.

### Create a workspace

`POST /api/workspaces`

```json theme={null}
{
  "name": "City Council Q2 2026"
}
```

Admin only.

### Get workspace details

`GET /api/workspaces/{workspace_id}`

Includes member list and recent sessions.

### Pin / unpin a workspace

`PUT /api/workspaces/{workspace_id}/pin`
`DELETE /api/workspaces/{workspace_id}/pin`

Pinned workspaces appear at the top of the dashboard. Per-user, not global.

### Join a workspace

`POST /api/workspaces/{workspace_id}/join`

Used during the workspace join flow. Requires a valid invite token.

### List workspace members

`GET /api/workspaces/{workspace_id}/members`

Returns members with their roles.

## Sessions within a workspace

Sessions always belong to a workspace. When listing sessions, filter by `workspace_id`:

`GET /api/sessions?workspace_id={workspace_id}`

The dashboard shows the most recent sessions per pinned workspace plus any live session banners.

## Workspace join flow

See the [Workspace Join Flow](/flows/workspace-join) diagram for the full sequence of invitation → acceptance → membership.
