# Teachers API The Teachers module manages teacher profiles, qualifications, and assignments. ## Model ```json { "id": "uuid", "code": "TCH001", "name": "John Smith", "first_name": "John", "last_name": "Smith", "email": "john.smith@school.edu", "phone_mobile": "+84123456789", "status": "active", "employee_id": "EMP001", "hire_date": "2020-09-01", "department_id": "dept-uuid", "subjects": [...], "qualifications": [...], "lms_id": "canvas-123", "team_id": "team-uuid" } ``` ## Status Values | Status | Description | |--------|-------------| | `active` | Currently employed | | `inactive` | On leave or inactive | | `resigned` | No longer employed | ## Endpoints ### Standard CRUD | Method | Endpoint | Description | |--------|----------|-------------| | POST | `/api/teachers/list` | List teachers | | GET | `/api/teachers/:id` | Get teacher | | POST | `/api/teachers` | Create teacher | | PUT | `/api/teachers/:id` | Update teacher | | DELETE | `/api/teachers/:id` | Delete teacher | | POST | `/api/teachers/export` | Export to Excel | ## Relationships ### Qualifications `POST /api/teachers/list_relate/:id/education_qualifications/EducationQualification` ### Work Experience `POST /api/teachers/list_relate/:id/work_experiences/WorkExperience` ### Certifications `POST /api/teachers/list_relate/:id/certifications/Certification` ## Filterable Fields | Field | Type | Description | |-------|------|-------------| | `code` | text | Teacher code | | `status` | enum | Employment status | | `department_id` | relate | Department | | `hire_date` | date | Hire date | | `team_id` | relate | Campus | ## Canvas Integration Teachers sync to Canvas as users with instructor role. Course assignments sync as Canvas enrollments.