Admin API
Administrative endpoints for system monitoring, metrics, logging, and user management.
🔐 Authentication
All admin endpoints require authentication with admin role.
Header:
Authorization: Bearer <admin_access_token>📡 Endpoints
Health Check
System, database, and email service health status.
Endpoint: GET /api/admin/health
Response:
{
"status": "healthy",
"timestamp": "2025-12-18T10:00:00.000Z",
"services": {
"database": {
"status": "connected",
"responseTime": 12
},
"email": {
"status": "operational",
"provider": "nodemailer"
},
"redis": {
"status": "connected",
"memory": "2.4MB"
}
},
"system": {
"uptime": 86400,
"memory": {
"used": "245MB",
"total": "512MB"
},
"cpu": {
"usage": "15%"
}
}
}Request Metrics
API request statistics and summaries.
Endpoint: GET /api/admin/metrics
Query Parameters:
?startDate=2025-12-01&endDate=2025-12-31&endpoint=/api/feedbackResponse:
{
"success": true,
"data": {
"totalRequests": 15420,
"successRate": 98.5,
"avgResponseTime": 145,
"endpoints": [
{
"path": "/api/feedback",
"method": "POST",
"requests": 3821,
"avgTime": 234,
"errors": 12
}
],
"errors": [
{
"statusCode": 400,
"count": 45
},
{
"statusCode": 500,
"count": 3
}
]
}
}Logs
Retrieve structured application logs.
Endpoint: GET /api/admin/logs
Query Parameters:
?level=error&startDate=2025-12-18&limit=100Response:
{
"success": true,
"data": [
{
"timestamp": "2025-12-18T10:00:00.000Z",
"level": "error",
"message": "Database connection failed",
"context": {
"service": "supabase",
"error": "Connection timeout"
}
}
],
"pagination": {
"total": 250,
"limit": 100,
"offset": 0
}
}Add Log Entry
Endpoint: POST /api/admin/logs
Request Body:
{
"level": "info",
"message": "Manual log entry",
"context": {
"action": "user_action",
"userId": "user_123"
}
}User Management
List all users with filtering.
Endpoint: GET /api/admin/users
Query Parameters:
?role=admin&active=true&limit=50Response:
{
"success": true,
"data": [
{
"id": "user_123",
"email": "admin@example.com",
"name": "Admin User",
"roles": ["admin"],
"active": true,
"lastLogin": "2025-12-18T09:00:00.000Z",
"createdAt": "2025-01-01T00:00:00.000Z"
}
]
}📊 Status Dashboard
Web-based monitoring dashboard powered by express-status-monitor.
URL: /admin/status
Features:
- Real-time metrics
- CPU and memory usage graphs
- Request/response statistics
- Active connections
- System information
Access requires admin authentication.