API Documentation

Complete API reference for SmartDesk. All endpoints require authentication via HTTP-only cookies unless otherwise specified. Base URL: http://localhost:4000

Authentication

Most endpoints require authentication. Include credentials in your requests:

fetch('http://localhost:4000/api/users', {
  credentials: 'include',
  headers: { 'Content-Type': 'application/json' }
})

Authentication

POST/login

User login

GET/logout

User logout

GET/api/auth/meAuth Required

Get current user

Admin

GET/api/admin/analyticsAuth Required

Get analytics data

GET/api/admin/insightsAuth Required

Get AI insights

Users

GET/api/usersAuth Required

Get all users

POST/api/usersAuth Required

Create user

PUT/api/users/:idAuth Required

Update user

DELETE/api/users/:idAuth Required

Delete user

Academic

GET/api/departmentsAuth Required

Get all departments

POST/api/departmentsAuth Required

Create department

GET/api/coursesAuth Required

Get all courses

POST/api/coursesAuth Required

Create course

GET/api/enrollmentsAuth Required

Get all enrollments

Student

GET/api/student/top-topicsAuth Required

Get top feedback topics

POST/student/feedbackAuth Required

Submit feedback

GET/api/student/coursesAuth Required

Get student courses

GET/api/student/attendanceAuth Required

Get student attendance

Configuration

GET/api/configAuth Required

Get system configuration

PUT/api/configAuth Required

Update configuration

Error Responses

All errors follow this format:

{
  "error": "Error message",
  "status": 400
}

400 - Bad Request

401 - Unauthorized

403 - Forbidden

404 - Not Found

500 - Internal Server Error