Skip to main content

Overview

User proxy endpoints provide authenticated access to profile data and file uploads using Directus admin token for elevated permissions.

PATCH /api/user/me

Update authenticated user’s profile.

Authentication

Requires Directus JWT token.

Request Body

Any valid Directus user fields:
first_name
string
User’s first name
last_name
string
User’s last name
email
string
Email address (must be unique)
avatar
string
Directus file UUID for profile avatar

Response

Returns updated Directus user object.

Example

cURL
curl -X PATCH http://localhost:3001/api/user/me \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "first_name": "Jane",
    "last_name": "Creator"
  }'

POST /api/user/upload

Upload file to Directus files collection.

Authentication

Requires Directus JWT token.

Request Body

Multipart form data:
file
file
required
File to upload (images, videos, documents)
folder
string
Directus folder UUID (optional)
title
string
File title/description

Response

data
object
Directus file object with UUID, filename, filesize, type

Example

cURL
curl -X POST http://localhost:3001/api/user/upload \
  -H "Authorization: Bearer YOUR_JWT_TOKEN" \
  -F "file=@/path/to/avatar.jpg" \
  -F "title=Profile Avatar"
{
  "data": {
    "id": "abc-123-def-456",
    "filename_disk": "abc-123-def-456.jpg",
    "filename_download": "avatar.jpg",
    "type": "image/jpeg",
    "filesize": 245678,
    "uploaded_by": "user-id",
    "uploaded_on": "2026-03-04T12:30:00Z"
  }
}

POST /api/files/upload

Alias endpoint for /api/user/upload. Identical functionality.

GET /api/user/creator-profile

Retrieve creator profile data for authenticated user.

Authentication

Requires Directus JWT token.

Response

data
object
User persona record from user_personas collection

Example

cURL
curl http://localhost:3001/api/user/creator-profile \
  -H "Authorization: Bearer YOUR_JWT_TOKEN"
{
  "data": {
    "id": "persona-123",
    "user_id": "user-456",
    "pricing_tier": "creator",
    "onboarding_state": "COMPLETE",
    "brand_primary_color": "#485697",
    "posts_ai_assisted_used": 12,
    "posts_ai_assisted_limit": 30
  }
}

File Upload Limits

By Pricing Tier

TierMax File SizeStorage Quota
Starter50 MB1 GB
Creator500 MB25 GB
Pro2 GB100 GB
Studio5 GB500 GB

Supported File Types

  • Images: JPEG, PNG, GIF, WebP, SVG
  • Videos: MP4, MOV, AVI, WebM, MKV
  • Documents: PDF, DOCX, TXT, MD
  • Archives: ZIP, TAR, GZ

Implementation Details

Source: server/endpoints/api/userProxy.js All endpoints proxy to Directus using admin token for elevated permissions:
  • Bypasses user-level file upload restrictions
  • Allows profile updates without exposing Directus admin UI
  • Maintains audit trail through Directus revision system
File uploads consume server disk space. Implement cleanup policies for abandoned uploads and enforce tier-based quotas.

Onboarding

Manage onboarding state and data imports

Usage Tracking

Monitor usage limits and tier enforcement

Build docs developers (and LLMs) love