{"message":"Welcome to ZuriLearn API","version":"1.0.0","endpoints":{"school":{"get_all_schools":"GET /api/v1/school","get_school_by_id":"GET /api/v1/school/{school_id}","create_school":"POST /api/v1/school","update_school":"PUT /api/v1/school/{school_id}","soft_delete_school":"DELETE /api/v1/school/{school_id}","activate_school":"PATCH /api/v1/school/{school_id}/activate","deactivate_school":"PATCH /api/v1/school/{school_id}/deactivate"},"staff":{"get_all_staff":"GET /api/v1/staff?school_id={school_id}","get_staff_by_id":"GET /api/v1/staff/{staff_id}?school_id={school_id}","create_staff":"POST /api/v1/staff (requires school_id in body)","update_staff":"PUT /api/v1/staff/{staff_id}?school_id={school_id}","soft_delete_staff":"DELETE /api/v1/staff/{staff_id}?school_id={school_id}","activate_staff":"PATCH /api/v1/staff/{staff_id}/activate?school_id={school_id}","deactivate_staff":"PATCH /api/v1/staff/{staff_id}/deactivate?school_id={school_id}"},"teachers":{"get_all_teachers":"GET /api/v1/teachers?school_id={school_id} (with staff info, joined on staff)","get_teacher_by_id":"GET /api/v1/teachers/{teacher_id}?school_id={school_id}","create_teacher":"POST /api/v1/teachers?school_id={school_id}","update_teacher":"PUT /api/v1/teachers/{teacher_id}?school_id={school_id}","soft_delete_teacher":"DELETE /api/v1/teachers/{teacher_id}?school_id={school_id}","activate_teacher":"PATCH /api/v1/teachers/{teacher_id}/activate?school_id={school_id}","deactivate_teacher":"PATCH /api/v1/teachers/{teacher_id}/deactivate?school_id={school_id}"},"academic_years":{"get_all_academic_years":"GET /api/v1/academic-years?school_id={school_id}","get_all_academic_years_all":"GET /api/v1/academic-years/all?school_id={school_id} (all years, current or not)","get_current_academic_year":"GET /api/v1/academic-years/current?school_id={school_id}","get_academic_year_by_id":"GET /api/v1/academic-years/{academic_id}?school_id={school_id}","create_academic_year":"POST /api/v1/academic-years?school_id={school_id}","update_academic_year":"PUT /api/v1/academic-years/{academic_id}?school_id={school_id}","soft_delete_academic_year":"DELETE /api/v1/academic-years/{academic_id}?school_id={school_id}","set_current_academic_year":"PATCH /api/v1/academic-years/{academic_id}/set-current?school_id={school_id}"},"classes":{"get_all_classes":"GET /api/v1/classes?school_id={school_id} (with manager info)","get_class_by_id":"GET /api/v1/classes/{cls_id}?school_id={school_id}","create_class":"POST /api/v1/classes?school_id={school_id}","update_class":"PUT /api/v1/classes/{cls_id}?school_id={school_id}","soft_delete_class":"DELETE /api/v1/classes/{cls_id}?school_id={school_id}"},"class_teachers":{"get_all_class_teachers":"GET /api/v1/class-teachers?school_id={school_id} (with details)","get_class_teacher_by_id":"GET /api/v1/class-teachers/{assignment_id}?school_id={school_id}","create_class_teacher":"POST /api/v1/class-teachers?school_id={school_id}","update_class_teacher":"PUT /api/v1/class-teachers/{assignment_id}?school_id={school_id}","soft_delete_class_teacher":"DELETE /api/v1/class-teachers/{assignment_id}?school_id={school_id}"},"subjects":{"get_all_subjects":"GET /api/v1/subjects?school_id={school_id}","get_subject_by_id":"GET /api/v1/subjects/{subj_id}?school_id={school_id}","create_subject":"POST /api/v1/subjects?school_id={school_id}","update_subject":"PUT /api/v1/subjects/{subj_id}?school_id={school_id}","soft_delete_subject":"DELETE /api/v1/subjects/{subj_id}?school_id={school_id}"},"attendance":{"get_all_attendance":"GET /api/v1/attendance?school_id={school_id} (with filtering options)","get_attendance_by_id":"GET /api/v1/attendance/{attendance_id}?school_id={school_id}","get_student_attendance":"GET /api/v1/attendance/student/{student_id}?school_id={school_id}","get_attendance_summary":"GET /api/v1/attendance/summary/?school_id={school_id}","create_attendance":"POST /api/v1/attendance","create_bulk_attendance":"POST /api/v1/attendance/bulk","update_attendance":"PUT /api/v1/attendance/{attendance_id}?school_id={school_id}","soft_delete_attendance":"DELETE /api/v1/attendance/{attendance_id}?school_id={school_id}"},"auth":{"login":"POST /api/v1/auth/login","reset_password":"POST /api/v1/auth/reset-password","reset_password_confirm":"POST /api/v1/auth/reset-password/confirm","change_password":"POST /api/v1/auth/change-password (requires Bearer token)","get_current_user":"GET /api/v1/auth/me (requires Bearer token)"}}}