Skip to main content

Overview

The ActiveUserResource provides methods for managing the currently authenticated user’s profile, projects, and settings. Access it via client.active_user after authenticating your SpeckleClient. This resource represents your own user account and provides access to personal information, projects you have access to, and workspace memberships.

Methods

get()

Get your own user profile information.
Parameters: None Returns:
User | None
Your user profile, or None if not authenticated. See User
Example:

update()

Update your user profile.
Parameters:
UserUpdateInput
required
Profile update parameters. See UserUpdateInput
Returns:
User
The updated user profile. See User
Example:
UserUpdateInput Fields:
  • name (str, optional) - New display name
  • bio (str, optional) - New biography
  • company (str, optional) - New company name
  • avatar (str, optional) - New avatar URL
Email and other sensitive fields cannot be updated via the API. Use the web interface to change your email address.

get_projects()

Get all projects you have access to.
When to use this method:
  • Non-workspace servers (self-hosted/open-source): Use this method to list all projects you have access to.
  • Workspace-enabled servers (e.g., app.speckle.systems): Use this method with filters to list personal projects, or use client.workspace.get_projects(workspace_id) to list projects within a specific workspace.
For workspace-enabled servers, consider using UserProjectsFilter(personalOnly=True) to explicitly get only your personal projects, or filter by workspaceId for workspace projects.Note: In earlier versions of specklepy, this functionality was provided by the stream resource with a list() method.
Parameters:
int
default:"25"
Maximum number of projects to return
str
default:"None"
Cursor for pagination
UserProjectsFilter
default:"None"
Filter criteria. See UserProjectsFilter
Returns:
ResourceCollection[Project]
Collection of projects
Example:
With Filtering:

get_projects_with_permissions()

Get your projects with detailed permission information.
Parameters:
int
default:"25"
Maximum number of projects to return
str
default:"None"
Cursor for pagination
UserProjectsFilter
default:"None"
Filter criteria. See UserProjectsFilter
Returns:
ResourceCollection[ProjectWithPermissions]
Projects with permissions
Example:
This method is useful when you need to check permissions before attempting operations, helping you build more robust applications.

get_project_invites()

Get pending project invitations.
Parameters: None Returns:
List[PendingStreamCollaborator]
List of pending invitations
Example:
Use the Speckle web interface to accept or decline invitations. This method only retrieves pending invitations. See PendingStreamCollaborator for property details.

can_create_personal_projects()

Check if you have permission to create personal (non-workspace) projects.
Parameters: None Returns:
PermissionCheckResult
Permission check result. See PermissionCheckResult
Example:

get_workspaces()

Get workspaces you’re a member of (workspace-enabled servers only).
Parameters:
int
default:"25"
Maximum number of workspaces to return
str
default:"None"
Cursor for pagination
UserWorkspacesFilter
default:"None"
Filter criteria. See UserWorkspacesFilter
Returns:
ResourceCollection[Workspace]
Collection of workspaces
Example:
See Workspace for property details.
This method only works on workspace-enabled servers (e.g., app.speckle.systems). On other servers, it will raise an error.

get_active_workspace()

Get your currently active workspace (workspace-enabled servers only).
Parameters: None Returns:
LimitedWorkspace | None
Active workspace, or None if none selected
Example:
This method only works on workspace-enabled servers (e.g., app.speckle.systems).

Types

User

Represents a Speckle user’s full profile (your own account).
str
User ID
str
Email address
str
Display name
str
User biography
str
Company name
str
Avatar image URL
bool
Whether email is verified
str
Server role (e.g., “server:user”, “server:admin”)

PendingStreamCollaborator

Represents a pending project invitation.
str
Invitation ID
str
Invite token ID
str
Project ID
str
Project name
str
Invitation title
str
Proposed role
str
Invitation token
LimitedUser
User who sent the invitation. See LimitedUser
LimitedUser
Invited user (you). See LimitedUser

Input Types

UserUpdateInput

Used with update(). Fields:
  • avatar (str, optional) - Avatar image URL
  • bio (str, optional) - User biography
  • company (str, optional) - Company name
  • name (str, optional) - Display name

Filters

UserProjectsFilter

Used with get_projects() and get_projects_with_permissions(). Fields:
  • search (str, optional) - Search by project name or description
  • only_with_roles (List[str], optional) - Filter by user roles
  • workspace_id (str, optional) - Filter to specific workspace
  • personal_only (bool, optional) - Only return personal (non-workspace) projects
  • include_implicit_access (bool, optional) - Include projects with implicit access

UserWorkspacesFilter

Used with get_workspaces(). Fields:
  • search (str, optional) - Search by workspace name

OtherUserResource

Look up other users on the server

ProjectResource

Work with your projects

Authentication Guide

Learn about authentication methods

SpeckleClient

Main client documentation
Last modified on July 18, 2026