Skip to content

API: Progress

Base URL: http://localhost:8001. Prefix: /api/progress.

Auth: Bearer JWT.
Gate: MEDICAL_ASSISTANT_ENABLED plus LEARNING_ROLES.

Single endpoint — summary dashboard for the current user.


GET /api/progress

Response 200

{
  "total_sessions": 12,
  "total_time_spent": 1800,
  "overall_avg_score": 74.5,
  "modules": {
    "tutor": {
      "sessions": 5,
      "avg_score": 68.2,
      "time_spent": 0,
      "last_activity": "2026-07-24T01:00:00+00:00"
    },
    "cases": {
      "sessions": 4,
      "avg_score": 75.0,
      "time_spent": 600,
      "last_activity": "…"
    },
    "exam": {
      "sessions": 3,
      "avg_score": 80.0,
      "time_spent": 1200,
      "last_activity": "…"
    }
  },
  "recent": [
    {
      "id": "…",
      "module": "exam",
      "score": 80.0,
      "time_spent": 400,
      "completed_at": "…",
      "extra_data": {"test_id": "…", "correct": 4}
    }
  ]
}
Field Description
total_sessions Total Progress rows
total_time_spent Sum of seconds
overall_avg_score Mean of module averages (or null)
modules Keys: tutor, cases, exam (when activity exists)
recent Up to 20 latest events

Written by: POST /api/tutor/ask, POST /api/cases/{id}/submit, POST /api/exam/{id}/submit.


curl example

curl -s http://localhost:8001/api/progress \
  -H "Authorization: Bearer $JWT"