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"