Student Progress

Track and analyze student performance with comprehensive progress monitoring. Visualize trends, identify at-risk students, and celebrate achievements.

Fetching a Student's Progress

javascript
// Get a comprehensive progress report
const progress = await client.progress.report({
  student_id: 'stu_abc123',
  period: 'term',
  include: ['scores', 'attendance', 'engagement', 'goals']
});

console.log(progress.summary);
// {
//   overall_grade: "B+",
//   gpa: 3.4,
//   attendance_rate: 0.96,
//   assignments_completed: 42,
//   assignments_total: 45,
//   trend: "improving"
// }

Endpoints

GET /v1/progress/report

Generate a comprehensive progress report for a student, including scores, attendance, engagement, and learning goals.

Query Parameters

  • student_id string required - Student identifier
  • period string - Time period (week, month, term, year)
  • include string[] - Data sections to include
  • compare boolean - Include comparison with previous period
response
{
  "student_id": "stu_abc123",
  "name": "Jane Doe",
  "period": "term",
  "summary": {
    "overall_grade": "B+",
    "gpa": 3.4,
    "attendance_rate": 0.96,
    "assignments_completed": 42,
    "assignments_total": 45,
    "trend": "improving"
  },
  "subjects": [
    {
      "subject": "mathematics",
      "grade": "A",
      "score": 92,
      "trend": "improving",
      "strengths": ["algebra", "geometry"],
      "areas_for_improvement": ["statistics"]
    },
    {
      "subject": "english",
      "grade": "B",
      "score": 84,
      "trend": "stable",
      "strengths": ["reading comprehension"],
      "areas_for_improvement": ["essay writing"]
    }
  ],
  "goals": [
    {
      "title": "Improve essay writing score",
      "target": 85,
      "current": 78,
      "status": "in_progress"
    }
  ]
}
GET /v1/progress/trends

Retrieve historical score trends for visualizing progress over time. Returns data points suitable for charting.

Query Parameters

  • student_id string required
  • subject string - Filter by subject
  • granularity string - Data point frequency (daily, weekly, monthly)
  • date_from string - Start date (ISO 8601)
  • date_to string - End date (ISO 8601)
POST /v1/progress/goals

Set a learning goal for a student with a target score and deadline.

javascript
await client.progress.goals.create({
  student_id: 'stu_abc123',
  title: 'Achieve A grade in Mathematics',
  subject: 'mathematics',
  target_score: 90,
  deadline: '2025-06-30',
  milestones: [
    { title: 'Complete extra practice sets', target_date: '2025-04-15' },
    { title: 'Score 85+ on midterm', target_date: '2025-05-01' }
  ]
});
GET /v1/progress/at-risk

Identify students who may be falling behind based on declining scores, low attendance, or missed assignments.