Skip to main content

Workspaces

Workspaces are the top-level organizational unit. Each workspace contains documents and members with specific roles.

Base Path: /api/v1/workspaces Authentication: Required (Bearer Token) Tag: Workspaces


List Workspaces

Retrieve all workspaces the authenticated user belongs to.

GET /workspaces

Response

{
"success": true,
"data": [
{
"id": "660e8400-e29b-41d4-a716-446655440000",
"name": "Engineering Team",
"description": "Technical documentation workspace",
"icon": "🏗️",
"color": "#4A90D9",
"ownerId": "880e8400-e29b-41d4-a716-446655440000",
"isDefault": true,
"isArchived": false,
"documentCount": 42,
"createdAt": "2025-01-01T00:00:00Z",
"updatedAt": "2025-01-15T10:30:00Z"
}
]
}

Response Type: ApiResponse<List<WorkspaceResponse>>


Get Workspace

Retrieve a single workspace by ID.

GET /workspaces/{id}

Path Parameters

ParameterTypeDescription
idUUIDWorkspace ID

Response Type: ApiResponse<WorkspaceResponse>


Create Workspace

Create a new workspace. The authenticated user becomes the owner.

POST /workspaces

Request Body

{
"name": "New Workspace",
"description": "A workspace for the team",
"icon": "🚀",
"color": "#FF5733"
}
FieldTypeRequiredValidationDescription
nameStringYesNot blank, max 255 charsWorkspace name
descriptionStringNoMax 1000 charsDescription
iconStringNoMax 50 charsWorkspace icon/emoji
colorStringNoMax 20 charsTheme color (hex)

Response

Status: 201 Created Response Type: ApiResponse<WorkspaceResponse>


Update Workspace

Update workspace properties.

PUT /workspaces/{id}

Path Parameters

ParameterTypeDescription
idUUIDWorkspace ID

Request Body

{
"name": "Updated Name",
"description": "Updated description",
"icon": "📋",
"color": "#28A745",
"isArchived": false
}
FieldTypeRequiredValidationDescription
nameStringNoMax 255 charsNew name
descriptionStringNoMax 1000 charsNew description
iconStringNoMax 50 charsNew icon
colorStringNoMax 20 charsNew color
isArchivedBooleanNo-Archive status

Response Type: ApiResponse<WorkspaceResponse>

:::info Required Role ADMIN or OWNER role required to update a workspace. :::


Delete Workspace

Delete a workspace and all associated data.

DELETE /workspaces/{id}

Path Parameters

ParameterTypeDescription
idUUIDWorkspace ID

Response Type: ApiResponse<Void>

danger

Only the workspace OWNER can delete a workspace. This action is irreversible.