GET /api/v1/student/{studentId}/units/{studentUnitId}/progress

Retrieve comprehensive progress summary including all lesson progress records, completion statistics, and detailed breakdown of completed, in-progress, and not-started lessons.

Path parameters

  • studentId string Required

    Unique identifier of the student

  • studentUnitId string Required

    Unique identifier of the student unit enrollment

Responses

  • 200 application/json

    Progress summary retrieved successfully

    Hide response attributes Show response attributes object
    • message string Required

      Success message

    • success boolean Required

      Success status

    • summary object Required

      Progress summary

      Hide summary attributes Show summary attributes object
      • studentUnitId string Required

        Student unit ID

      • unitCode string Required

        Unit code

      • unitTitle string Required

        Unit title

      • overallProgress number Required

        Overall progress percentage

      • totalLessons number Required

        Total lessons

      • completedLessons number Required

        Completed lessons

      • inProgressLessons number Required

        In-progress lessons

      • notStartedLessons number Required

        Not started lessons

      • lessonProgress array[object] Required

        Individual lesson progress

        Hide lessonProgress attributes Show lessonProgress attributes object
        • id string Required

          Progress record ID

        • studentUnitId string Required

          Student unit ID

        • lessonId string Required

          Lesson ID

        • lessonTitle string Required

          Lesson title

        • progress number Required

          Progress percentage (0-100)

        • lastAccessedAt string Required

          Last accessed timestamp

        • remarks string

          Remarks or notes

        • createdAt string Required

          Created timestamp

        • updatedAt string Required

          Updated timestamp

      • lastAccessedAt string Required

        Last accessed timestamp

  • 400 application/json

    Default bad request error 400 response

    Hide response attributes Show response attributes object
    • message string Required

      Response message

    • error string Required
    • statusCode number Required
  • 404

    Student unit not found

GET /api/v1/student/{studentId}/units/{studentUnitId}/progress
curl \
 --request GET 'https://api.echoplain.social/api/v1/student/uuid-string/units/uuid-string/progress'
Response examples (200)
{
  "message": "string",
  "success": true,
  "summary": {
    "studentUnitId": "uuid-string",
    "unitCode": "CS201",
    "unitTitle": "Data Structures and Algorithms",
    "overallProgress": 45,
    "totalLessons": 20,
    "completedLessons": 9,
    "inProgressLessons": 3,
    "notStartedLessons": 8,
    "lessonProgress": [
      {
        "id": "uuid-string",
        "studentUnitId": "uuid-string",
        "lessonId": "uuid-string",
        "lessonTitle": "Introduction to Arrays",
        "progress": 75,
        "lastAccessedAt": "2025-10-03T10:30:00.000Z",
        "remarks": "string",
        "createdAt": "2025-09-25T10:30:00.000Z",
        "updatedAt": "2025-09-25T10:30:00.000Z"
      }
    ],
    "lastAccessedAt": "2025-10-03T10:30:00.000Z"
  }
}
Response examples (400)
{
  "message": "string",
  "error": "string",
  "statusCode": 42.0
}