Overview
The Account API handles user registration, login, profile management, and password operations.Registration
Register New User
Create a new user account.POST /api/account/register
Rate limited. May require captcha verification and email confirmation based on platform settings.
Unique username (3-15 characters)
Valid email address
User password (may require encryption)
Verify Email
Confirm email address using verification token.POST /api/account/verify
Base64-encoded email address
Base64-encoded verification token from email
After successful verification, the user is automatically logged in.
Authentication
See the Authentication page for detailed login and logout procedures.Profile Management
Get Profile
Retrieve current user’s profile information.GET /api/account/profile
Requires User authentication.
Update Profile
Update user information.PUT /api/account/update
New username
User bio/description
Phone number
Real name
Student number or identifier
Changing username may be restricted based on platform policy.
Update Avatar
Upload a new profile avatar.PUT /api/account/avatar
Image file (max 3MB, automatically resized to 300x300)
Password Management
Change Password
Update account password (requires current password).PUT /api/account/changepassword
Current password (encrypted)
New password (encrypted)
Request Password Reset
Request a password reset email.POST /api/account/recovery
Rate limited. May require captcha verification.
Registered email address
Reset Password
Reset password using email token.POST /api/account/passwordreset
Base64-encoded email address
Base64-encoded reset token from email
New password (encrypted)
Email Management
Change Email
Request email address change.PUT /api/account/changeemail
Rate limited. Requires email verification for the new address.
New email address
Confirm Email Change
Confirm new email address using verification token.POST /api/account/mailchangeconfirm
Base64-encoded new email address
Base64-encoded verification token
Configuration Notes
Email Verification
Email Verification
When
EmailConfirmationRequired is enabled:- Registration sends verification email
- Users cannot log in until email is confirmed
- Email URL format:
/account/verify?token={token}&email={email}
Admin Approval
Admin Approval
When
ActiveOnRegister is disabled and EmailConfirmationRequired is disabled:- New accounts require manual admin approval
- Users cannot log in until approved
- Admins must change status via
/api/admin/users/{id}
Password Encryption
Password Encryption
If the platform has
ApiEncryption enabled:- All password fields must be encrypted client-side
- Use the platform’s public key for encryption
- Check
/api/admin/configfor encryption status
Email Domains
Email Domains
Platform may restrict registration to specific email domains:
- Configured via
EmailDomainListin account policy - Format: comma-separated list (e.g., “edu,org.edu”)
- Empty list allows all domains
Development Mode
In development mode, verification and reset links are logged instead of sent via email. Check server logs for tokens.
Next Steps
Authentication
Login and session management
Team API
Create and join teams