YeboLearn API Routes
Complete route map for the YeboLearn backend API.
Base URL
Production: https://api.yebolearn.com/api
Development: http://localhost:8080/apiHealth & Status
| Method | Route | Description |
|---|---|---|
| GET | /health | Basic health check |
| GET | /health/detailed | Full health with DB, memory stats |
| GET | /ready | Kubernetes/Cloud Run readiness probe |
Public Routes (No Auth)
Onboarding
| Method | Route | Description |
|---|---|---|
| GET | /onboarding/countries | Available countries |
| POST | /onboarding/request | School onboarding request |
| GET | /onboarding/status/:requestId | Check onboarding status |
Public Data
| Method | Route | Description |
|---|---|---|
| GET | /public/school/:slug | Public school profile |
| GET | /public/faq | FAQ content |
| POST | /public/contact | Contact form |
Countries
| Method | Route | Description |
|---|---|---|
| GET | /countries | List all countries |
| GET | /countries/:code | Country by code |
Authentication Routes
/auth
| Method | Route | Description | Body |
|---|---|---|---|
| POST | /auth/register | Register user | { email, password, first_name, last_name, role } |
| POST | /auth/login | Login | { email, password, school_id? } |
| POST | /auth/refresh | Refresh tokens | { refreshToken } |
| POST | /auth/logout | Logout | { refreshToken } |
| POST | /auth/logout-all | Logout all devices | - |
| POST | /auth/change-password | Change password | { currentPassword, newPassword } |
| GET | /auth/me | Get current user | - |
Student Routes
/students
| Method | Route | Description |
|---|---|---|
| GET | /students | List students (paginated) |
| GET | /students/:id | Get student by ID |
| POST | /students | Create student |
| PUT | /students/:id | Update student |
| DELETE | /students/:id | Soft delete student |
| POST | /students/:id/assign-class | Assign to class |
| GET | /students/:id/grades | Student grades |
| GET | /students/:id/attendance | Attendance records |
| GET | /students/:id/fees | Fee statements |
Teacher Routes
/teachers
| Method | Route | Description |
|---|---|---|
| GET | /teachers | List teachers |
| GET | /teachers/:id | Get teacher |
| POST | /teachers | Create teacher |
| PUT | /teachers/:id | Update teacher |
| DELETE | /teachers/:id | Delete teacher |
| GET | /teachers/:id/schedule | Weekly schedule |
| GET | /teachers/:id/classes | Assigned classes |
| POST | /teachers/:id/assign-subject | Assign subject |
Guardian Routes
/guardians
| Method | Route | Description |
|---|---|---|
| GET | /guardians | List guardians |
| GET | /guardians/:id | Get guardian |
| POST | /guardians | Create guardian |
| PUT | /guardians/:id | Update guardian |
| DELETE | /guardians/:id | Delete guardian |
| GET | /guardians/:id/children | Guardian's children |
| POST | /guardians/:id/link-student | Link to student |
Class Routes
/classes
| Method | Route | Description |
|---|---|---|
| GET | /classes | List classes |
| GET | /classes/:id | Get class details |
| POST | /classes | Create class |
| PUT | /classes/:id | Update class |
| DELETE | /classes/:id | Delete class |
| GET | /classes/:id/students | Students in class |
| GET | /classes/:id/schedule | Class timetable |
| GET | /classes/:id/grades | Class grade book |
Subject Routes
/subjects
| Method | Route | Description |
|---|---|---|
| GET | /subjects | List subjects |
| GET | /subjects/:id | Get subject |
| POST | /subjects | Create subject |
| PUT | /subjects/:id | Update subject |
| DELETE | /subjects/:id | Delete subject |
Grade Routes
/grades
| Method | Route | Description |
|---|---|---|
| GET | /grades | List grades (filtered) |
| GET | /grades/:id | Get grade entry |
| POST | /grades | Create grade |
| PUT | /grades/:id | Update grade |
| DELETE | /grades/:id | Delete grade |
| POST | /grades/bulk | Bulk grade entry |
| GET | /grades/report/:studentId | Grade report |
Attendance Routes
/attendance
| Method | Route | Description |
|---|---|---|
| GET | /attendance | List records |
| POST | /attendance | Mark attendance |
| POST | /attendance/bulk | Bulk mark class |
| GET | /attendance/student/:id | Student attendance |
| GET | /attendance/class/:id | Class attendance |
| GET | /attendance/stats | Attendance statistics |
Fee Routes
/fees
| Method | Route | Description |
|---|---|---|
| GET | /fees/structures | Fee structures |
| POST | /fees/structures | Create fee structure |
| GET | /fees/invoices | List invoices |
| POST | /fees/invoices | Generate invoice |
| GET | /fees/invoices/:id | Invoice details |
| POST | /fees/payments | Record payment |
| GET | /fees/student/:id/balance | Student balance |
Payment Routes
/payments
| Method | Route | Description |
|---|---|---|
| GET | /payments | List payments |
| GET | /payments/:id | Payment details |
| POST | /payments/initiate | Start payment |
| POST | /payments/webhook | Payment gateway callback |
| GET | /payments/receipt/:id | Payment receipt |
AI Routes
/ai
| Method | Route | Description |
|---|---|---|
| POST | /ai/daily-report | Generate daily report |
| POST | /ai/weekly-report | Generate weekly report |
| POST | /ai/monthly-report | Generate monthly report |
| POST | /ai/chatbot | EduAssist chatbot |
| POST | /ai/grade-essay | Essay grading |
| POST | /ai/lesson-plan | Generate lesson plan |
| POST | /ai/quiz | Generate quiz |
| POST | /ai/worksheet | Generate worksheet |
| POST | /ai/tutor | Homework help |
| POST | /ai/learning-path | Personalized path |
| POST | /ai/behavior-analysis | Analyze behavior |
Message Routes
/messages
| Method | Route | Description |
|---|---|---|
| GET | /messages | Get conversations |
| GET | /messages/:conversationId | Get messages |
| POST | /messages | Send message |
| PUT | /messages/:id/read | Mark as read |
| DELETE | /messages/:id | Delete message |
Notification Routes
/notifications
| Method | Route | Description |
|---|---|---|
| GET | /notifications | List notifications |
| PUT | /notifications/:id/read | Mark as read |
| PUT | /notifications/read-all | Mark all read |
| DELETE | /notifications/:id | Delete notification |
Upload Routes
/uploads
| Method | Route | Description |
|---|---|---|
| POST | /uploads/image | Upload image |
| POST | /uploads/document | Upload document |
| DELETE | /uploads/:key | Delete upload |
Analytics Routes
/analytics
| Method | Route | Description |
|---|---|---|
| GET | /analytics/dashboard | School dashboard |
| GET | /analytics/attendance | Attendance analytics |
| GET | /analytics/grades | Grade analytics |
| GET | /analytics/fees | Fee collection analytics |
| GET | /analytics/trends | Performance trends |
Report Routes
/reports
| Method | Route | Description |
|---|---|---|
| GET | /reports/student/:id | Student report card |
| GET | /reports/class/:id | Class report |
| GET | /reports/term/:termId | Term report |
| POST | /reports/generate | Generate custom report |
| GET | /reports/download/:id | Download PDF |
Flashcard Routes
/flashcards
| Method | Route | Description |
|---|---|---|
| GET | /flashcards | List flashcard decks |
| POST | /flashcards/decks | Create deck |
| GET | /flashcards/decks/:id | Get deck |
| POST | /flashcards/decks/:id/cards | Add card |
| POST | /flashcards/decks/:id/study | Start study session |
| POST | /flashcards/cards/:id/answer | Submit answer |
Avatar Teacher Routes
/avatar-teacher
| Method | Route | Description |
|---|---|---|
| GET | /avatar-teacher/config | Get avatar config |
| POST | /avatar-teacher/interact | Interact with avatar |
| GET | /avatar-teacher/sessions | Session history |
Parent B2C Routes
/parent
| Method | Route | Description |
|---|---|---|
| GET | /parent/children | List children |
| POST | /parent/children/add | Add child |
| GET | /parent/children/:id | Child details |
| GET | /parent/children/:id/progress | Progress report |
Platform Admin Routes
/platform/*
| Method | Route | Description |
|---|---|---|
| POST | /platform/auth/login | Platform admin login |
| GET | /platform/schools | List all schools |
| POST | /platform/schools | Create school |
| PUT | /platform/schools/:id | Update school |
| GET | /platform/schools/:id/stats | School statistics |
| POST | /platform/onboarding/approve | Approve onboarding |
| GET | /platform/users | Platform users |
| GET | /platform/audit | Audit logs |
| GET | /platform/analytics | Platform analytics |