Skip to main content

Get User Profile

Retrieve the current user’s profile information.

Endpoint

Headers

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

Headers

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

Headers

Request Body

Response

Success (200):
Error (401/404/500):

Data Cleanup

The deletion process includes:
  1. Terminating all active sessions
  2. Deleting gallery photos and files
  3. Removing user document from MongoDB
  4. Cleaning up organization memberships
  5. 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

Headers

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

Headers

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

Headers

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

Headers

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

Headers

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

Headers

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

Headers

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