Overview
Your JOIP profile contains personal information, account settings, credit balance, and usage statistics. You can update most profile fields at any time through the API or web interface.Profile Structure
User Profile Fields
User Interests
Set during onboarding or updated later:Updating Your Profile
Editable Fields
You can update these fields viaPATCH /api/auth/user:
firstName- Your first namelastName- Your last nameprofileImageUrl- URL to your profile picture
Protected Fields
These fields cannot be changed via standard profile update:email- Set by authentication providerrole- Admin-only modificationisActive- Admin-only modificationreferralCode- Auto-generated, permanentreferredBy- Set once during signupcredits- Managed by credit system
Input Validation
All profile updates are validated:- First and last names: 1-100 characters
- Profile image URL must be valid URL format
- All fields are optional (only update what you provide)
Age Verification
Why It’s Required
Age verification is required for:- Compliance with adult content regulations
- Access to certain NSFW features
- Legal protection for the platform
Verification Process
Endpoint:POST /api/auth/verify-age
Request:
- Birth date must be in
YYYY-MM-DDformat - Must be a valid calendar date
- Cannot be in the future
- Cannot be less than 18 years ago
Privacy & Compliance
Age verification is logged for compliance:- Birth date stored encrypted in database
- Only used for age verification, not shared publicly
- Logged activity includes timestamp and IP for legal compliance
Onboarding Preferences
First-Time Setup
New users complete onboarding to personalize their experience: Endpoint:POST /api/auth/onboarding
Request:
contentRole: Must be “creator” or “consumer”preferredFeatures: Maximum 2 feature slugspreferredTags: Maximum 5 tag slugs
Resetting Onboarding
Onboarding can only be completed once unless reset by admin or in dev environment. Endpoint:POST /api/auth/onboarding/reset (Admin/Dev only)
Authorization:
- Admin users (role:
adminorsuper_admin) - Development environment (
NODE_ENV !== 'production')
Credit Balance
Your profile includes current credit information:Credit Info Structure
Viewing Credit Balance
Client-Side:Credit History
View detailed transaction history:Referral Information
Your profile includes referral statistics:Referral Code
Every user has a unique 8-character referral code:Referral Stats
Who Referred You
If you were referred:Usage Statistics
Your account tracks comprehensive usage metrics:Tracked Metrics
Sessions:- Sessions created
- Sessions viewed
- Sessions edited/deleted
- Sessions shared/favorited
- Total captions generated
- Custom vs themed captions
- Caption themes used (JOI, Forced-Bi, Beta, etc.)
- Images created
- Remixes created
- Layouts used (side-by-side vs top-bottom)
- Total animations created
- Media uploaded/deleted
- Media shared/downloaded
- Bulk downloads
- Login count
- Pages viewed
- API calls total
- Time spent (minutes)
Viewing Your Stats
Usage statistics are tracked in theuser_usage_stats table:
Activity Logs
Detailed activity logs are also maintained:Account Roles
User Roles
| Role | Permissions |
|---|---|
user | Standard access to all features |
admin | User management, analytics, settings |
super_admin | Full system access, admin management |
Role-Based Access
Certain features require specific roles:Requesting Admin Access
Admin access is granted manually:- Contact platform administrators
- Provide justification for admin access
- Admin creates temporary or permanent admin grant
- Access logged in admin audit logs
Profile Privacy
What’s Public
- First name (if you share content publicly)
- Profile image (if you share content publicly)
- Public sessions and media you create
What’s Private
- Email address
- Last name
- Birth date
- Credit balance and transactions
- Referral earnings
- Usage statistics
- Activity logs
- IP addresses
Data Sanitization
Sensitive data is removed before sending to client:- Password hashes (local auth only)
- Session tokens
- Internal database IDs (in some contexts)
Account Deletion
Request Deletion
To delete your account:- Contact support with deletion request
- Verify your identity
- Admin processes deletion
What Gets Deleted
Immediately:- User profile record
- Session cookies
- Active sessions
- All sessions you created
- All media in your vault
- All activity logs
- Credit balance and transaction history
- Referral records (as referred user)
- Community content you shared (anonymized)
- Referral records (as referrer - anonymized)
- Aggregate analytics (no personal identifiers)
Cascade Behavior
Database foreign keys withON DELETE CASCADE:
API Reference
Get Current User
GET /api/auth/user
GET /api/auth/user
Get your complete profile including credits.Response:
Update Profile
PATCH /api/auth/user
PATCH /api/auth/user
Update your profile information.Request Body:Response: Returns updated user object (sanitized)Rate Limiting: Subject to public API rate limitsActivity Logging: Update is logged with fields changed
Verify Age
POST /api/auth/verify-age
POST /api/auth/verify-age
Update age verification status.Request Body:Response:
Complete Onboarding
POST /api/auth/onboarding
POST /api/auth/onboarding
Save onboarding preferences.Request Body:Can only be completed once unless reset by admin/dev
Best Practices
Profile Security
-
Use Strong Profile Images
- Host on trusted CDN (Imgur, Cloudinary, etc.)
- Use HTTPS URLs only
- Avoid exposing personal information in image
-
Be Mindful of Public Info
- First name is visible on shared content
- Profile image appears on community posts
- Consider pseudonym for privacy
-
Complete Age Verification Early
- Required for many features
- One-time process
- Logged for compliance
Profile Optimization
-
Complete Onboarding
- Personalizes your experience
- Helps with content recommendations
- Quick 2-minute process
-
Monitor Credit Balance
- Set up low balance alerts
- Track usage patterns
- Plan tier upgrades if needed
-
Use Referral Code
- Share to earn free credits
- Help grow the community
- Track your referral success
Client-Side Integration
Related Documentation
- Authentication System - Login and session management
- Credits System - Credit balance and transactions
- Referral Program - Earn credits by referring friends