API
The application exposes a PHP REST API under:
/api/v1Authentication
Login is handled by:
POST /api/v1/auth/login
GET /api/v1/auth/meAuthenticated requests use a JWT bearer token:
Authorization: Bearer <token>Tenant-aware requests can include:
X-Tenant-ID: <tenant-id>Public Routes
Public routes are intentionally limited. The current public login branding endpoint is:
GET /api/v1/public/login-brandingSettings Routes
Settings routes cover general configuration, languages, modules, mail, SMS gateway, role permissions, and translations.
GET /api/v1/settings
PUT /api/v1/settings/general
PUT /api/v1/settings/languages
PUT /api/v1/settings/modules
PUT /api/v1/settings/mail
PUT /api/v1/settings/sms-gateway
GET /api/v1/settings/role-permissions
PUT /api/v1/settings/role-permissions
GET /api/v1/settings/translations
PUT /api/v1/settings/translationsModule Routes
Most modules follow conventional REST patterns:
GET /api/v1/<resource>
POST /api/v1/<resource>
GET /api/v1/<resource>/<id>
PUT /api/v1/<resource>/<id>
PATCH /api/v1/<resource>/<id>
DELETE /api/v1/<resource>/<id>Examples include academic years, terms, timetable, curriculum, exams, admissions, student health, HR records, finance records, library records, transport records, security records, IT records, and communications records.
Reporting Routes
Executive and report endpoints include:
GET /api/v1/dashboard/summary
GET /api/v1/reports/summary
GET /api/v1/reports/attendance
GET /api/v1/reports/finance
GET /api/v1/reports/grades
GET /api/v1/academic-performance
GET /api/v1/financial-health
GET /api/v1/staff-metrics
GET /api/v1/enrollment-forecasts
GET /api/v1/parent-satisfaction
GET /api/v1/board-reports
GET /api/v1/compliance-reports
GET /api/v1/year-comparisonResponse Model
The backend returns JSON responses and uses route-level handlers for validation, permission checks, persistence, and audit-sensitive actions.