Get User Profile
Retrieve the current user’s profile information.
Endpoint
Response
Success (200):
Error (401/404/500):
Implementation
- File:
packages/cloud/src/routes/account.routes.ts:153-194
- Middleware:
validateCoreToken
- Source: Supabase auth.users table
Update User Profile
Update the current user’s profile information.
Endpoint
Request Body
Response
Success (200):
Error (401/404/500):
Implementation
- File:
packages/cloud/src/routes/account.routes.ts:200-283
- Service: Updates Supabase user metadata
Delete Account
Immediately delete the user account and all associated data.
This action is irreversible and will permanently delete all user data including photos, settings, and app installations.
Endpoint
Request Body
Response
Success (200):
Error (401/404/500):
Data Cleanup
The deletion process includes:
- Terminating all active sessions
- Deleting gallery photos and files
- Removing user document from MongoDB
- Cleaning up organization memberships
- Deleting user from Supabase auth
Implementation
- File:
packages/cloud/src/routes/account.routes.ts:292-345
- Cleanup Function:
performCompleteUserDataCleanup() at lines 49-121
Request Data Export
Request an export of all user data in JSON or CSV format.
Endpoint
Request Body
Response
Success (200):
Error (401/404/500):
Implementation
- File:
packages/cloud/src/routes/account.routes.ts:354-440
- Storage: Temporary file storage with 24-hour retention
- Cleanup: Automatic cleanup of old exports
Get Export Status
Check the status of a data export request.
Endpoint
Query Parameters
Response
Success (200):
Error (400/401/403/404):
Implementation
- File:
packages/cloud/src/routes/account.routes.ts:507-554
Download Export
Download a completed data export.
Endpoint
Parameters
Response
Success (200):
- File download with appropriate content type:
application/json for JSON exports
text/csv for CSV exports
- Content-Disposition header for file download
Error (400/401/403/404):
Implementation
- File:
packages/cloud/src/routes/account.routes.ts:560-616
- Note: Streams file directly to response
Get Privacy Settings
Retrieve user’s privacy settings.
Endpoint
Response
Success (200):
Error (401/404/500):
Implementation
- File:
packages/cloud/src/routes/account.routes.ts:622-679
- Note: Returns default settings if not set
Update Privacy Settings
Update user’s privacy settings.
Endpoint
Request Body
Response
Success (200):
Error (401/404/500):
Implementation
- File:
packages/cloud/src/routes/account.routes.ts:685-754
- Service: Updates Supabase user metadata
Get OAuth App Details
Get app details for OAuth authentication flow.
Endpoint
Parameters
Response
Success (200):
Error (400/401/404):
Implementation
- File:
packages/cloud/src/routes/account.routes.ts:762-818
- Validation: Checks if app has webviewURL configured
Generate OAuth Token
Generate a signed JWT token for app OAuth authentication.
Endpoint
Request Body
Response
Success (200):
Error (400/401/500):
Implementation
- File:
packages/cloud/src/routes/account.routes.ts:826-872
- Service: Uses tokenService.issueUserToken()
- Expiry: 10 minutes
Error Codes
Notes
- Account deletion is immediate without email verification since the mobile app has a 3-step confirmation process
- Export files are automatically deleted after 24 hours
- All endpoints require valid core token authentication
- Privacy settings are stored in Supabase user metadata
- OAuth tokens are signed JWTs with 10-minute expiration