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

# Workspace

> client.Workspace — list organization workspaces and projects

Use **`client.Workspace`** on servers with workspaces enabled. Call **`client.Server.IsWorkspaceEnabled()`** first.

<Warning>
  Workspace features are only available on servers with the workspaces module enabled. Check with `client.Server.IsWorkspaceEnabled()` before relying on this resource — see [ServerResource](/developers/sdks/dotnet/api-reference/resources/server).
</Warning>

## Methods

<ResponseField name="Get" type="Task<Workspace> Get(string workspaceId, CancellationToken cancellationToken = default)">
  Retrieves a workspace by id, including role, slug, and permission checks (`canCreateProject`).
</ResponseField>

<ResponseField name="GetProjects" type="Task<ResourceCollection<Project>> GetProjects(string workspaceId, int limit = 25, string? cursor = null, WorkspaceProjectsFilter? filter = null, CancellationToken cancellationToken = default)">
  Lists projects within a workspace.
</ResponseField>

## Usage

```csharp Example lines icon="https://mintcdn.com/speckle/VtRPWzmN-ULoLfIv/images/developers/sdks/csharp.svg?fit=max&auto=format&n=VtRPWzmN-ULoLfIv&q=85&s=f2970e3b8bd4a2c7899b46211a42f251" theme={null}
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);
}
```

<Note>
  This resource is read-only. Workspace creation and membership management are not exposed via `Speckle.Sdk` — use the Speckle web app.
</Note>

## FAQ

<AccordionGroup>
  <Accordion title="How do I know if workspaces are available?">
    Call `await client.Server.IsWorkspaceEnabled()` before using `client.Workspace` or workspace methods on `client.ActiveUser`.
  </Accordion>

  <Accordion title="Can I create a workspace from the SDK?">
    No. This resource is read-only — create and manage workspaces in the Speckle web app.
  </Accordion>
</AccordionGroup>

## Next Steps

<CardGroup cols={3}>
  <Card title="Core concepts" icon="book" href="/developers/sdks/dotnet/concepts/overview">
    Workspaces in the platform model
  </Card>

  <Card title="Handling server capabilities" icon="shield-check" href="/developers/sdks/dotnet/guides/handling-server-capabilities">
    IsWorkspaceEnabled guard pattern
  </Card>

  <Card title="ProjectResource" icon="folder" href="/developers/sdks/dotnet/api-reference/resources/project">
    Projects inside a workspace
  </Card>
</CardGroup>
