Skip to content

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.


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.

Terminal window
curl https://api.lynxvizion.com/api/dashboard \
-H "Authorization: $LVZ_KEY"