POST /api/v1/auth/login- User loginPOST /api/v1/auth/refresh- Token refreshPOST /api/v1/auth/logout- User logout
POST /api/v1/departments- Create departmentGET /api/v1/departments- Get all departmentsGET /api/v1/departments/:id- Get department by IDPATCH /api/v1/departments/:id- Update departmentDELETE /api/v1/departments/:id- Delete department
POST /api/v1/courses- Create courseGET /api/v1/courses- Get all coursesGET /api/v1/courses/:id- Get course by IDPATCH /api/v1/courses/:id- Update courseDELETE /api/v1/courses/:id- Delete course
POST /api/v1/sessions- Create sessionGET /api/v1/sessions- Get all sessionsGET /api/v1/sessions/:id- Get session by IDPATCH /api/v1/sessions/:id- Update sessionDELETE /api/v1/sessions/:id- Delete session
POST /api/v1/semesters- Create semesterGET /api/v1/semesters- Get all semestersGET /api/v1/semesters/:id- Get semester by IDPOST /api/v1/semesters/:id/auto-assign- Auto-assign students to semesterPOST /api/v1/semesters/:id/promote- Promote students to next semesterPATCH /api/v1/semesters/:id/status- Bulk update semester status
POST /api/v1/subjects- Create subject (with type: MJC/MIC/MDC/SEC/VAC)GET /api/v1/subjects- Get all subjects (with filtering by type)GET /api/v1/subjects/:id- Get subject by IDPATCH /api/v1/subjects/:id- Update subjectDELETE /api/v1/subjects/:id- Delete subject
POST /api/v1/student-subjects- Create student subject assignmentGET /api/v1/student-subjects- Get all student subject assignmentsGET /api/v1/student-subjects/:id- Get student subject assignment by IDGET /api/v1/student-subjects/student/:studentId/semester/:semesterId- Get student's subjects for a semesterPOST /api/v1/student-subjects/bulk- Bulk assign subjects to studentDELETE /api/v1/student-subjects/:id- Delete student subject assignment
POST /api/v1/admissions- Create admissionGET /api/v1/admissions- Get all admissions (with filtering)GET /api/v1/admissions/:id- Get admission by IDPATCH /api/v1/admissions/:id/status- Update admission status (auto-assigns semester 1 when CONFIRMED)
POST /api/v1/admissions/windows- Create admission windowGET /api/v1/admissions/windows- Get all admission windowsGET /api/v1/admissions/windows/:id- Get admission window by IDPATCH /api/v1/admissions/windows/:id- Update admission windowDELETE /api/v1/admissions/windows/:id- Delete admission window
POST /api/v1/students- Create studentGET /api/v1/students- Get all students (with filtering)GET /api/v1/students/:id- Get student by IDPATCH /api/v1/students/:id- Update studentDELETE /api/v1/students/:id- Delete student (soft delete)
POST /api/v1/students/:id/semesters- Assign semester to studentPATCH /api/v1/students/:studentId/semesters/:semesterId- Update student semester status (auto-promotes when COMPLETED)
POST /api/v1/payments- Create paymentGET /api/v1/payments- Get all paymentsGET /api/v1/payments/:id- Get payment by IDPOST /api/v1/payments/:id/refund- Process refundGET /api/v1/payments/student/:studentId- Get payments for a student
POST /api/v1/certificates- Create certificate requestGET /api/v1/certificates- Get all certificate requestsGET /api/v1/certificates/:id- Get certificate request by IDPATCH /api/v1/certificates/:id/status- Update certificate statusDELETE /api/v1/certificates/:id- Delete certificate requestGET /api/v1/certificates/:id/download- Download certificate PDF
GET /api/v1/audit- Get all audit logsGET /api/v1/audit/:id- Get audit log by IDGET /api/v1/audit/entity/:entity- Get audit logs for specific entity
- Full CRUD operations
- Bulk operations
- System configuration
- User management
- Department-specific operations
- Student management within department
- Subject and semester management
- Admission processing
- Certificate approval
- Own record viewing
- Subject selection for enrolled semesters
- Certificate requests
- Payment tracking
- Own audit logs