Dashboard
The Dashboard endpoint returns all user data in a single API call using a batched Turso pipeline (one HTTP round-trip for 8 SQL queries). Use this instead of calling multiple endpoints individually.
GET /dashboard
Section titled “GET /dashboard”Fetch all user data in one request.
Auth: Required
Response:
{ "profile": { "id": "1", "user_id": "550e8400-...", "full_name": "John Doe", "email": "john@example.com", "avatar_url": null, "timezone": "America/New_York", "is_admin": 0, "bonus_minutes": 0, "created_at": "2025-01-10T08:00:00", "updated_at": "2025-01-10T08:00:00" }, "api_keys": [ { "id": "1", "name": "Production Key", "key_prefix": "lvz_live_abcdef...", "raw_key": "lvz_live_abcdef1234...", "is_active": 1, "last_used_at": "2025-01-15T10:30:00", "created_at": "2025-01-10T08:00:00" } ], "usage": { "total_jobs": 47, "total_minutes": 125.5, "total_duration_minutes": 125.5, "by_action": { "process": 42, "reprocess": 5 }, "plan": "standard", "trial_status": "active", "remaining_trial_minutes": 2874.5, "total_limit_minutes": 3000, "usage_percentage": 4.2, "bonus_minutes": 0, "first_usage": "2025-01-10T08:00:00", "total_file_size_gb": 12.34 }, "videos": [ { "id": "1", "job_id": "a1b2c3d4-...", "name": "Product Demo", "status": "completed", "duration": 120.5, "..." } ], "projects": [ { "id": "1", "name": "Q1 Campaign", "video_count": 12, "..." } ]}The usage object has the same shape as GET /usage/summary.
curl https://api.lynxvizion.com/api/dashboard \ -H "Authorization: $LVZ_KEY"