Skip to main content
Use client.Project to list projects, create a new project, or check permissions before you load or publish model data.

Methods

Task<Project> Get(string projectId, CancellationToken cancellationToken = default)
Retrieves a project by id.
Task<ProjectWithModels> GetWithModels(string projectId, int modelsLimit = 25, string? modelsCursor = null, ProjectModelsFilter? modelsFilter = null, CancellationToken cancellationToken = default)
Retrieves a project along with a paginated list of its models.
Task<ProjectWithTeam> GetWithTeam(string projectId, CancellationToken cancellationToken = default)
Retrieves a project along with its team members and pending invites.
Task<ProjectPermissionChecks> GetPermissions(string projectId, CancellationToken cancellationToken = default)
Checks the active user’s permissions on the project (canCreateModel, canDelete, canLoad). Also queries canPublish, which is obsolete in the SDK — prefer client.Model.GetPermissions(...).canCreateVersion for publish/version checks.
Task<Project> Create(ProjectCreateInput input, CancellationToken cancellationToken = default)
Creates a personal (non-workspace) project. ProjectCreateInput(string? name, string? description, ProjectVisibility? visibility).
Task<Project> CreateInWorkspace(WorkspaceProjectCreateInput input, CancellationToken cancellationToken = default)
Creates a project inside a workspace. Only supported on workspace-enabled servers.
Task<Project> Update(ProjectUpdateInput input, CancellationToken cancellationToken = default)
Updates project fields (name, description, visibility, and others).
Task<ProjectWithTeam> UpdateRole(ProjectUpdateRoleInput input, CancellationToken cancellationToken = default)
Updates a team member’s role on the project.
Task Delete(string projectId, CancellationToken cancellationToken = default)
Deletes a project.

Usage

Example
Projects replace what used to be called “Streams” in prior versions of Speckle.

FAQ

Call CreateInWorkspace with a WorkspaceProjectCreateInput on a workspace-enabled server. Use Create for personal (non-workspace) projects. Check client.Server.IsWorkspaceEnabled() first.
Delete unused projects or upgrade the workspace plan before calling Create again.

Next Steps

Core concepts

Project → model → version hierarchy

Quickstart

Create a project in Step 3

ModelResource

Models within a project
Last modified on July 18, 2026