# Behaviors API The Behaviors module tracks student behavior incidents (positive and negative). ## Model ```json { "id": "uuid", "name": "Late to Class", "student_id": "student-uuid", "student": {...}, "behavior_type": "negative", "category": "attendance", "incident_date": "2024-01-15", "description": "Student arrived 15 minutes late", "points": -5, "reported_by_id": "teacher-uuid", "status": "open", "team_id": "team-uuid" } ``` ## Behavior Types | Type | Description | |------|-------------| | `positive` | Good behavior, achievements | | `negative` | Infractions, issues | | `neutral` | Informational notes | ## Categories Configurable per school, common examples: - `attendance` - `discipline` - `academic` - `social` - `achievement` ## Status Values | Status | Description | |--------|-------------| | `open` | Active incident | | `resolved` | Addressed/closed | | `escalated` | Referred to admin | ## Endpoints ### Standard CRUD | Method | Endpoint | Description | |--------|----------|-------------| | POST | `/api/behaviors/list` | List behaviors | | GET | `/api/behaviors/:id` | Get behavior | | POST | `/api/behaviors` | Create behavior | | PUT | `/api/behaviors/:id` | Update behavior | | DELETE | `/api/behaviors/:id` | Delete behavior | ### Send Notification Notify parents/guardians: `POST /api/behaviors/:id/send-notification` ## Filtering ### By Student ```json { "filter": { "conditions": [ {"field": "student_id", "operator": "=", "value": "student-uuid"} ] } } ``` ### By Date Range ```json { "filter": { "conditions": [ {"field": "incident_date", "operator": ">=", "value": "2024-01-01"}, {"field": "incident_date", "operator": "<=", "value": "2024-01-31"} ] } } ``` ## Auto-Generated Codes Behavior records can have auto-generated codes based on AutoCode settings.