Most user-related endpoints are covered in the Authentication section. This page documents additional user operations.
User Object
The user object is returned by various endpoints:Unique user UUID
User’s email address (unique)
User’s display name (max 100 characters)
Relative URL to profile image, or
null if not setWhether user has admin privileges
User account status:
active- Normal active userpending- Awaiting admin approval
ISO 8601 timestamp of account creation
ISO 8601 timestamp of last update
The
password, apiToken, and oidcSubject fields are never returned by the API for security reasons.Get Current User
See Authentication - Get Current UserUpdate Profile
See Authentication - Update ProfileProfile Image Management
Upload Profile Image
See Authentication - Upload Profile ImageDelete Profile Image
See Authentication - Delete Profile ImageChange Password
See Authentication - Change PasswordUser Status
Active Users
Active users have full access to the application:- Can log in and receive tokens
- Can create and manage notes
- Can share notes with other users
- Can access all user features
Pending Users
When registration mode is set toreview, new users are created with pending status:
- Cannot log in until approved by admin
- Do not receive access tokens on registration
- Must wait for admin approval
- Receive error on login attempt
Admin Users
First User
The first user to register automatically becomes an admin:isAdmin: trueis set automatically- No additional configuration needed
- Cannot be changed via user endpoints
Admin Privileges
Admin users have access to:- Admin API endpoints
- User management functions
- System settings configuration
- Registration mode control
- OIDC settings management
User Discovery
There is no public user directory or search endpoint. Users can discover others by:- Email-based sharing: Knowing the exact user UUID (typically obtained through admin panel or prior interaction)
- Admin panel: Admins can view all users via Admin - List Users
Profile Images
Storage
Profile images are stored in/data/uploads/profiles/ and served at /uploads/profiles/:
Constraints
- Max file size: 5MB
- Allowed formats: JPEG, PNG, WebP
- Validation: File type validated on server
File naming
Images are renamed on upload:- One image per user (uploading new image replaces old)
- No filename conflicts
- Simple cleanup on user deletion
OIDC Authentication
OIDC Users
Users can authenticate via OIDC providers when configured:oidcSubjectfield stores the provider’s subject identifierpasswordfield isnullfor OIDC-only users- Cannot use password-based login
- Cannot change password via API
Hybrid Users
Users can have both password and OIDC authentication:- Created with password initially
- Later linked to OIDC provider
- Can authenticate using either method
- Can change password even with OIDC linked
OIDC configuration is managed via the Admin API.
Data Privacy
User data is protected:- Passwords are hashed with bcrypt (10 rounds)
- API tokens are unique and revocable
- Refresh tokens are stored securely and expire after 90 days
- Email addresses are unique and case-sensitive
- No public user directory exists
Account Deletion
Only admins can delete users via Admin - Delete User. When a user is deleted:- All owned notes are deleted (cascade)
- All tags are deleted (cascade)
- All shares created by user are deleted (cascade)
- All shares to user are deleted (cascade)
- All refresh tokens are deleted (cascade)
- Profile image is removed from filesystem
Search Users
Search for Users
Search for users by name or email. Used for finding users to share notes with.
Search query string (searches both name and email fields)
User UUID
User’s email address
User’s display name
Relative URL to profile image, or
null if not set- Search is case-insensitive and matches partial strings
- Results exclude the requesting user
- Only active users are returned (pending users are excluded)
- Maximum 50 results returned