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

Retrieve comprehensive information about a specific unit the student is enrolled in, including all topics, lessons, assignments, exams, resources, and progress tracking. This is the main view when a student selects a unit from their dashboard.

Path parameters

  • studentId string Required

    Unique identifier of the student

  • studentUnitId string Required

    Unique identifier of the student unit enrollment

Responses

  • 200 application/json

    Unit details retrieved successfully with all topics, lessons, and resources

    Hide response attributes Show response attributes object
    • message string Required

      Success message

    • success boolean Required

      Success status

    • unit object Required

      Detailed unit information

      Hide unit attributes Show unit attributes object
      • studentUnitId string Required

        Student unit ID

      • id string Required

        Unit offering ID

      • Code string Required

        Unit code

      • personalizedOutline string

        Personalized outline

      • unitVersion object Required

        Unit version information

        Hide unitVersion attributes Show unitVersion attributes object
        • id string Required

          Unit version ID

        • title string Required

          Unit title

        • description string Required

          Unit description

        • totalMarks number Required

          Total marks

        • examMarks number Required

          Exam marks

        • otherMarks number Required

          Other marks

        • hasLabs boolean Required

          Has labs

      • semester object Required

        Semester information

        Hide semester attributes Show semester attributes object
        • id string Required

          Semester ID

        • name string Required

          Semester name

        • shortCode string Required

          Short code

        • startDate string Required

          Start date

        • endDate string Required

          End date

      • lecturer object Required

        Lecturer information

        Hide lecturer attributes Show lecturer attributes object
        • id string Required

          Lecturer ID

        • userId string Required

          User ID

        • user object Required

          User information

          Hide user attributes Show user attributes object
          • id string Required

            User ID

          • email string Required

            Email address

          • role string Required

            User role

            Values are STUDENT, LECTURER, or ADMIN.

          • status string Required

            User status

            Values are ACTIVE, SUSPENDED, or DELETED.

          • profile object

            User profile

            Hide profile attributes Show profile attributes object
            • id string Required

              Profile ID

            • fullName string Required

              Full name

            • phone string

              Phone number

            • createdAt string Required

              Created timestamp

            • updatedAt string Required

              Updated timestamp

          • createdAt string Required

            Created timestamp

          • updatedAt string Required

            Updated timestamp

      • status string Required

        Unit status

        Values are ACTIVE, UNDER_REVIEW, PASSED, FAILED, RETAKE, EXTERNAL_REPEAT, NOT_STARTED, PAUSED, UNCATEGORIZED, or PENDING.

      • topics array[object] Required

        Topics and lessons

        Hide topics attributes Show topics attributes object
        • id string Required

          Topic ID

        • title string Required

          Topic title

        • description string

          Topic description

        • order number Required

          Topic order

        • lessons array[object] Required

          Lessons in this topic

          Hide lessons attributes Show lessons attributes object
          • id string Required

            Lesson ID

          • title string Required

            Lesson title

          • description string Required

            Lesson description

          • order number Required

            Lesson order

          • content array[object] Required

            Lesson content blocks

            Hide content attributes Show content attributes object
            • id string Required

              Content ID

            • content string Required

              Content text

            • order number Required

              Content order

            • createdAt string Required

              Created timestamp

            • updatedAt string Required

              Updated timestamp

          • resources array[object] Required

            Lesson resources

            Hide resources attributes Show resources attributes object
            • id string Required

              Resource ID

            • title string Required

              Resource title

            • url string Required

              Resource URL

            • type string Required

              Resource type

            • createdAt string Required

              Created timestamp

          • isCompleted boolean Required

            Is completed by student

          • progress number Required

            Progress percentage

          • createdAt string Required

            Created timestamp

          • updatedAt string Required

            Updated timestamp

        • createdAt string Required

          Created timestamp

        • updatedAt string Required

          Updated timestamp

      • onlineLessons array[object] Required

        Online lessons

        Hide onlineLessons attributes Show onlineLessons attributes object
        • id string Required

          Online lesson ID

        • title string Required

          Online lesson title

        • description string

          Online lesson description

        • passcode string

          Meeting passcode

        • createdAt string Required

          Created timestamp

      • assignments array[object] Required

        Assignments for this unit

        Hide assignments attributes Show assignments attributes object
        • id string Required

          Assignment ID

        • title string Required

          Assignment title

        • description string Required

          Assignment description

        • releaseDate string Required

          Release date

        • dueDate string Required

          Due date

        • marks number Required

          Total marks

        • status string Required

          Assignment status

        • createdAt string Required

          Created timestamp

        • updatedAt string Required

          Updated timestamp

      • exams array[object] Required

        Exams for this unit

        Hide exams attributes Show exams attributes object
        • id string Required

          Exam ID

        • title string Required

          Exam title

        • description string Required

          Exam description

        • scheduledDate string Required

          Scheduled date

        • duration number Required

          Duration in minutes

        • totalMarks number Required

          Total marks

        • status string Required

          Exam status

        • createdAt string Required

          Created timestamp

        • updatedAt string Required

          Updated timestamp

      • resources array[object] Required

        Unit-level resources

        Hide resources attributes Show resources attributes object
        • id string Required

          Resource ID

        • title string Required

          Resource title

        • url string Required

          Resource URL

        • type string Required

          Resource type

        • createdAt string Required

          Created timestamp

      • lastLessonId string

        Last accessed lesson ID

      • overallProgress number Required

        Overall progress percentage

      • createdAt string Required

        Created timestamp

      • updatedAt string Required

        Updated timestamp

  • 400

    Failed to fetch unit details

  • 404

    Student unit not found or does not belong to this student

GET /api/v1/student/{studentId}/units/{studentUnitId}
curl \
 --request GET 'https://api.echoplain.social/api/v1/student/uuid-string/units/uuid-string'
Response examples (200)
{
  "message": "string",
  "success": true,
  "unit": {
    "studentUnitId": "uuid-string",
    "id": "uuid-string",
    "Code": "CS201",
    "personalizedOutline": "string",
    "unitVersion": {
      "id": "uuid-string",
      "title": "Data Structures and Algorithms",
      "description": "Introduction to data structures and algorithms",
      "totalMarks": 100,
      "examMarks": 60,
      "otherMarks": 40,
      "hasLabs": true
    },
    "semester": {
      "id": "uuid-string",
      "name": "Fall 2023",
      "shortCode": "F23",
      "startDate": "2023-09-01T00:00:00.000Z",
      "endDate": "2023-12-31T23:59:59.000Z"
    },
    "lecturer": {
      "id": "uuid-string",
      "userId": "uuid-string",
      "user": {
        "id": "uuid-string",
        "email": "student@example.com",
        "role": "STUDENT",
        "status": "ACTIVE",
        "profile": {
          "id": "uuid-string",
          "fullName": "John Doe",
          "phone": "+1234567890",
          "createdAt": "2025-09-25T10:30:00.000Z",
          "updatedAt": "2025-09-25T10:30:00.000Z"
        },
        "createdAt": "2025-09-25T10:30:00.000Z",
        "updatedAt": "2025-09-25T10:30:00.000Z"
      }
    },
    "status": "ACTIVE",
    "topics": [
      {
        "id": "uuid-string",
        "title": "Data Structures Fundamentals",
        "description": "string",
        "order": 1,
        "lessons": [
          {
            "id": "uuid-string",
            "title": "Introduction to Arrays",
            "description": "Learn about array data structures",
            "order": 1,
            "content": [
              {
                "id": "uuid-string",
                "content": "This lesson covers...",
                "order": 1,
                "createdAt": "2025-09-25T10:30:00.000Z",
                "updatedAt": "2025-09-25T10:30:00.000Z"
              }
            ],
            "resources": [
              {
                "id": "uuid-string",
                "title": "Lecture Notes Chapter 1",
                "url": "https://example.com/resource.pdf",
                "type": "PDF",
                "createdAt": "2025-09-25T10:30:00.000Z"
              }
            ],
            "isCompleted": false,
            "progress": 50,
            "createdAt": "2025-09-25T10:30:00.000Z",
            "updatedAt": "2025-09-25T10:30:00.000Z"
          }
        ],
        "createdAt": "2025-09-25T10:30:00.000Z",
        "updatedAt": "2025-09-25T10:30:00.000Z"
      }
    ],
    "onlineLessons": [
      {
        "id": "uuid-string",
        "title": "Live Lecture - Week 3",
        "description": "string",
        "link": "string",
        "passcode": "string",
        "createdAt": "2025-09-25T10:30:00.000Z"
      }
    ],
    "assignments": [
      {
        "id": "uuid-string",
        "title": "Programming Assignment 1",
        "description": "Implement a binary search tree",
        "releaseDate": "2025-10-01T00:00:00.000Z",
        "dueDate": "2025-10-15T23:59:59.000Z",
        "marks": 15,
        "status": "string",
        "createdAt": "2025-09-25T10:30:00.000Z",
        "updatedAt": "2025-09-25T10:30:00.000Z"
      }
    ],
    "exams": [
      {
        "id": "uuid-string",
        "title": "Final Examination",
        "description": "Final comprehensive exam",
        "scheduledDate": "2025-12-01T09:00:00.000Z",
        "duration": 180,
        "totalMarks": 60,
        "status": "string",
        "createdAt": "2025-09-25T10:30:00.000Z",
        "updatedAt": "2025-09-25T10:30:00.000Z"
      }
    ],
    "resources": [
      {
        "id": "uuid-string",
        "title": "Lecture Notes Chapter 1",
        "url": "https://example.com/resource.pdf",
        "type": "PDF",
        "createdAt": "2025-09-25T10:30:00.000Z"
      }
    ],
    "lastLessonId": "string",
    "overallProgress": 45,
    "createdAt": "2025-09-25T10:30:00.000Z",
    "updatedAt": "2025-09-25T10:30:00.000Z"
  }
}