client.Project to list projects, create a new project, or check permissions before you load or publish model data.
Methods
Retrieves a project by id.
GetWithModels
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.
GetWithTeam
Task<ProjectWithTeam> GetWithTeam(string projectId, CancellationToken cancellationToken = default)
Retrieves a project along with its team members and pending invites.
GetPermissions
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.Create
Task<Project> Create(ProjectCreateInput input, CancellationToken cancellationToken = default)
Creates a personal (non-workspace) project.
ProjectCreateInput(string? name, string? description, ProjectVisibility? visibility).CreateInWorkspace
Task<Project> CreateInWorkspace(WorkspaceProjectCreateInput input, CancellationToken cancellationToken = default)
Creates a project inside a workspace. Only supported on workspace-enabled servers.
Update
Task<Project> Update(ProjectUpdateInput input, CancellationToken cancellationToken = default)
Updates project fields (name, description, visibility, and others).
UpdateRole
Task<ProjectWithTeam> UpdateRole(ProjectUpdateRoleInput input, CancellationToken cancellationToken = default)
Updates a team member’s role on the project.
Deletes a project.
Usage
Projects replace what used to be called “Streams” in prior versions of Speckle.
FAQ
How do I create a project inside a workspace?
How do I create a project inside a workspace?
Call
CreateInWorkspace with a WorkspaceProjectCreateInput on a workspace-enabled server. Use Create for personal (non-workspace) projects. Check client.Server.IsWorkspaceEnabled() first.Create failed — workspace at project limit
Create failed — workspace at project limit
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