Skip to main content
Use client.Workspace on servers with workspaces enabled. Call client.Server.IsWorkspaceEnabled() first.
Workspace features are only available on servers with the workspaces module enabled. Check with client.Server.IsWorkspaceEnabled() before relying on this resource — see ServerResource.

Methods

Get
Task<Workspace> Get(string workspaceId, CancellationToken cancellationToken = default)
Retrieves a workspace by id, including role, slug, and permission checks (canCreateProject).
GetProjects
Task<ResourceCollection<Project>> GetProjects(string workspaceId, int limit = 25, string? cursor = null, WorkspaceProjectsFilter? filter = null, CancellationToken cancellationToken = default)
Lists projects within a workspace.

Usage

https://mintcdn.com/speckle/VtRPWzmN-ULoLfIv/images/developers/sdks/csharp.svg?fit=max&auto=format&n=VtRPWzmN-ULoLfIv&q=85&s=f2970e3b8bd4a2c7899b46211a42f251Example
var workspaces = await client.ActiveUser.GetWorkspaces();
var workspace = workspaces.items.First();

var projects = await client.Workspace.GetProjects(workspace.id);
foreach (var project in projects.items)
{
    Console.WriteLine(project.name);
}
This resource is read-only. Workspace creation and membership management are not exposed via Speckle.Sdk — use the Speckle web app.

FAQ

Call await client.Server.IsWorkspaceEnabled() before using client.Workspace or workspace methods on client.ActiveUser.
No. This resource is read-only — create and manage workspaces in the Speckle web app.

Next Steps

Core concepts

Workspaces in the platform model

Handling server capabilities

IsWorkspaceEnabled guard pattern

ProjectResource

Projects inside a workspace
Last modified on July 10, 2026