{ "success": true, "timestamp": "2026-01-23T09:38:49+00:00", "data": { "count": 49, "endpoints": [ { "method": "GET", "path": "\/api\/health", "description": "API health check" }, { "method": "GET", "path": "\/api", "description": "API info" }, { "method": "GET", "path": "\/api\/endpoints", "description": "List all API endpoints" }, { "method": "GET", "path": "\/api\/docs", "description": "API documentation" }, { "method": "GET", "path": "\/api\/users", "description": "List all users" }, { "method": "GET", "path": "\/api\/users\/{id}", "description": "Get user by ID" }, { "method": "POST", "path": "\/api\/users", "description": "Create new user" }, { "method": "PUT", "path": "\/api\/users\/{id}", "description": "Update user" }, { "method": "DELETE", "path": "\/api\/users\/{id}", "description": "Delete user" }, { "method": "POST", "path": "\/api\/auth\/login", "description": "User login" }, { "method": "PUT", "path": "\/api\/users\/{id}\/score", "description": "Update agent score (manager)" }, { "method": "GET", "path": "\/api\/users\/{id}\/score", "description": "Get agent score (manager)" }, { "method": "GET", "path": "\/api\/users\/agents\/available", "description": "Get available agents for scheduling (manager)" }, { "method": "GET", "path": "\/api\/users\/{id}\/queues", "description": "Get user's assigned queues" }, { "method": "POST", "path": "\/api\/users\/{userId}\/queues\/{queueId}", "description": "Assign user to queue (manager)" }, { "method": "DELETE", "path": "\/api\/users\/{userId}\/queues\/{queueId}", "description": "Remove user from queue (manager)" }, { "method": "POST", "path": "\/api\/users\/{agentId}\/queues\/{queueId}\/pickup", "description": "Agent picks up queue" }, { "method": "DELETE", "path": "\/api\/users\/{agentId}\/queues\/{queueId}\/remove", "description": "Agent removes self from queue" }, { "method": "GET", "path": "\/api\/users\/{agentId}\/queues", "description": "Get agent's queues" }, { "method": "GET", "path": "\/api\/queues", "description": "List all queues" }, { "method": "GET", "path": "\/api\/queues\/{id}", "description": "Get queue by ID" }, { "method": "POST", "path": "\/api\/queues", "description": "Create new queue" }, { "method": "PUT", "path": "\/api\/queues\/{id}", "description": "Update queue" }, { "method": "DELETE", "path": "\/api\/queues\/{id}", "description": "Delete queue" }, { "method": "GET", "path": "\/api\/queues\/{id}\/users", "description": "Get users assigned to queue" }, { "method": "GET", "path": "\/api\/queues\/{id}\/stats", "description": "Get queue statistics" }, { "method": "GET", "path": "\/api\/queues\/{id}\/capacity", "description": "Get queue capacity" }, { "method": "POST", "path": "\/api\/queues\/{id}\/toggle", "description": "Toggle queue status" }, { "method": "GET", "path": "\/api\/queues\/{id}\/demands", "description": "Get queue demand data" }, { "method": "POST", "path": "\/api\/queues\/{id}\/demands", "description": "Save queue demand data" }, { "method": "GET", "path": "\/api\/availability", "description": "List all availability records" }, { "method": "GET", "path": "\/api\/availability\/user\/{userId}", "description": "Get user availability" }, { "method": "POST", "path": "\/api\/availability", "description": "Create availability record" }, { "method": "PUT", "path": "\/api\/availability\/{id}", "description": "Update availability record" }, { "method": "DELETE", "path": "\/api\/availability\/{id}", "description": "Delete availability record" }, { "method": "POST", "path": "\/api\/availability\/unavailable", "description": "Set unavailable days" }, { "method": "GET", "path": "\/api\/availability\/unavailable\/{userId}", "description": "Check unavailable days for user" }, { "method": "GET", "path": "\/api\/availability\/stats", "description": "Get availability statistics" }, { "method": "GET", "path": "\/api\/schedules", "description": "List all schedules" }, { "method": "POST", "path": "\/api\/schedules\/generate", "description": "Generate schedule" }, { "method": "GET", "path": "\/api\/schedules\/{id}", "description": "Get schedule by ID" }, { "method": "GET", "path": "\/api\/schedules\/weekly\/{week_start_date}", "description": "Get weekly schedule" }, { "method": "GET", "path": "\/api\/schedules\/daily\/{date}", "description": "Get daily schedule" }, { "method": "GET", "path": "\/api\/schedules\/agent\/{user_id}", "description": "Get agent schedule" }, { "method": "GET", "path": "\/api\/schedules\/queue\/{queue_id}", "description": "Get queue schedule" }, { "method": "GET", "path": "\/api\/schedules\/efficiency\/{queue_id}", "description": "Get schedule efficiency for queue" }, { "method": "GET", "path": "\/api\/schedules\/requirements", "description": "Get queue agent requirements" }, { "method": "DELETE", "path": "\/api\/schedules\/{id}", "description": "Delete schedule" }, { "method": "DELETE", "path": "\/api\/schedules\/week\/{week_start_date}", "description": "Delete week schedule" } ] } }