client.ActiveUser for the authenticated user’s profile and accessible projects. Use after Authentication.
ActiveUserResource
Task<User?> Get(CancellationToken cancellationToken = default)
Gets the authenticated user’s profile. Returns
null if the client’s account is unauthenticated.Task<User> Update(UserUpdateInput input, CancellationToken cancellationToken = default)
Updates the authenticated user’s profile fields.
Task<ResourceCollection<Project>> GetProjects(int limit = 25, string? cursor = null, UserProjectsFilter? filter = null, CancellationToken cancellationToken = default)
Lists projects the authenticated user has access to.
Task<ResourceCollection<ProjectWithPermissions>> GetProjectsWithPermissions(int limit = 25, string? cursor = null, UserProjectsFilter? filter = null, CancellationToken cancellationToken = default)
Same as
GetProjects, but each project includes a permissions field typed as
ProjectPermissionChecks. This query populates canCreateModel, canDelete, and canLoad only
— not canPublish (which client.Project.GetPermissions still queries but is obsolete in the
SDK; use client.Model.GetPermissions(...).canCreateVersion for publish checks).Task<List<PendingStreamCollaborator>> GetProjectInvites(CancellationToken cancellationToken = default)
Lists pending project invitations for the authenticated user.
Task<PermissionCheckResult> CanCreatePersonalProjects(CancellationToken cancellationToken = default)
Checks whether the user can create personal (non-workspace) projects.
Task<ResourceCollection<Workspace>> GetWorkspaces(int limit = 25, string? cursor = null, UserWorkspacesFilter? filter = null, CancellationToken cancellationToken = default)
Lists workspaces the authenticated user belongs to. Only available on workspace-enabled servers.
Task<LimitedWorkspace?> GetActiveWorkspace(CancellationToken cancellationToken = default)
Gets the user’s last-selected workspace. Returns a
LimitedWorkspace because the user may not be
a member.Most
ActiveUser methods throw SpeckleException if the client’s account is unauthenticated —
check Get() for null first if you’re unsure.OtherUserResource
Task<LimitedUser?> Get(string id, CancellationToken cancellationToken = default)
Gets a limited public profile for any user by id. Returns
null if the user doesn’t exist.Task<UserSearchResultCollection> UserSearch(string query, int limit = 25, string? cursor = null, bool emailOnly = false, CancellationToken cancellationToken = default)
Searches for users by name or email (minimum 3 characters).
Usage
Example
FAQ
ActiveUser.Get returns null
ActiveUser.Get returns null
The client’s account is not authenticated. Build an
Account with IAccountFactory or reuse a
stored account — see Authentication.Next Steps
Core concepts
How users relate to projects
Authentication
Build an Account and IClient
ProjectResource
Create and list projects