XCodeSol School Management Suite Documentation

API

The application exposes a PHP REST API under:

text
/api/v1

Authentication

Login is handled by:

text
POST /api/v1/auth/login
GET /api/v1/auth/me

Authenticated requests use a JWT bearer token:

text
Authorization: Bearer <token>

Tenant-aware requests can include:

text
X-Tenant-ID: <tenant-id>

Public Routes

Public routes are intentionally limited. The current public login branding endpoint is:

text
GET /api/v1/public/login-branding

Settings Routes

Settings routes cover general configuration, languages, modules, mail, SMS gateway, role permissions, and translations.

text
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/translations

Module Routes

Most modules follow conventional REST patterns:

text
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:

text
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-comparison

Response Model

The backend returns JSON responses and uses route-level handlers for validation, permission checks, persistence, and audit-sensitive actions.