# Student Exam

The Student Exam API allows you to create, view, update, and delete individual, or a batch, of Student Exam.

## Student Exam Properties
 
| Attributes      | Type    | Description                                                  
| ----------------| ------- | ------------------------
| student_exam_id | integer | ID of the Student Exam                                           
| student_id      | string  | user id ID of the Student
| level_id        | string  | unique id of level
| exam_date       | integer | date of organized exam 
| status          | enum    | Student Exam 'complete','active','inactive','incomplete','cancle'  
| created_by      | integer | user_id of the user who has created a this Student Exam
| created_at      | integer | Student Exam created time                                  

## Get All Student Exam
```shell
curl -X GET https://vedaay-api.mulika.in/student_exam
-H "Content-Type: application/json" \
-H Authorization: Bearer eyJ0eXAiOiJKNiJ9.B7Y3J9FWtgjby4P8-LX_Vkeob6CE
```
> Responce:

```json
'{
    "status": "success",
    "message": "2 student exams retrieved successfully",
    "code": 200,
    "data": [
        {
            "student_exam_id": "5",
            "student_id": {
                "student_id": "294",
                "first_name": "tricky",
                "middle_name": "supraa",
                "last_name": "Sharma"
            },
            "level_id": {
                "level_id": "25",
                "level_name": "DOMS ",
                "course_id": "165"
            },
            "exam_date": "23-02-2028 14:34:29",
            "status": "complete",
            "created_by": "294",
            "created_at": "2026-05-29 14:42:17"
        },
        {
            "student_exam_id": "2",
            "student_id": {
                "student_id": "294",
                "first_name": "tricky",
                "middle_name": "supraa",
                "last_name": "Sharma"
            },
            "level_id": {
                "level_id": "2",
                "level_name": "",
                "course_id": ""
            },
            "exam_date": "23-02-2028 14:34:29",
            "status": "inactive",
            "created_by": "123",
            "created_at": "2026-05-26 12:33:31"
        }
    ]
}'
```
<span style="background: #000; color: white; padding: 10px 10px; border-radius: 4px;  width: 100%;display: block;">
<span  style="background: #27cf3d; color: white; padding: 8px 24px; border-radius: 2px; font-weight: bold; ">GET</span> /student_exam
</span>  

 1.  GET /student_exam
 2.  GET /student_exam/{id} 
 3.  GET /student_exam?student_id=294
 
### Available Parameters

Parameters      | Type    |  Description
----------------| ------- | -----------  
id              | integer | retrive exam as per student exam id 
student_id      | integer | retrive the exams of the entered student id  
 

## Get Single Student Exam

```shell
curl -X GET https://vedaay-api.mulika.in/student_exam/2
-H "Content-Type: application/json" \
-H Authorization: Bearer eyJ0eXAiOiJKNiJ9.B7Y3J9FWtgjby4P8-LX_Vkeob6CE
```
> Responce:

```json
 '{
    "status": "success",
    "message": "student exam retrieved successfully",
    "code": 200,
    "data": {
            "student_exam_id": "2",
            "student_id": {
                "student_id": "294",
                "first_name": "tricky",
                "middle_name": "supraa",
                "last_name": "Sharma"
            },
            "level_id": {
                "level_id": "2",
                "level_name": "",
                "course_id": ""
            },
            "exam_date": "23-02-2028 14:34:29",
            "status": "inactive",
            "created_by": "123",
            "created_at": "2026-05-26 12:33:31"
        }
}'
```

<span style="background: #000; color: white; padding: 10px 10px; border-radius: 4px;  width: 100%;display: block;">
<span  style="background: #27cf3d; color: white; padding: 8px 24px; border-radius: 2px; font-weight: bold; ">GET</span> /student_exam/{Id}
</span> 

### Parameters

| Parameter       | Type    | Description                       
| --------------- | ------- | --------------------------------- 
| student_exam_id | integer | Unique identifier for the Student Exam

    
 
## Create Student Exam

```shell
curl -X POST https://vedaay-api.mulika.in/student_exam \
-H "Content-Type: application/json" \
-H Authorization: Bearer eyJ0eXAiOiJKNiJ9.B7Y3J9FWtgjby4P8-LX_Vkeob6CE
-d '{
    "student_id":"45",
    "level_id":"25",
    "exam_date":"23-02-2028 14:34:29",
    "status":"incomplete" 
  }'
 ```
> Responce:

```json
   '{
    "status": "success",
    "message": "student exam created successfully.",
    "code": 200,
    "data": {
        "student_exam_id": "1",
        "student_id": "45",
        "level_id": "25",
        "exam_date": "23-02-2028 14:34:29",
        "status": "incomplete",
        "created_by": "294",
        "created_at": "2026-05-22 17:21:12"
    }
}'
```
<span style="background: #000; color: white; padding: 10px 10px; border-radius: 4px;  width: 100%;display: block;">
<span  style="background: #08c0b7; color: white; padding: 8px 24px; border-radius: 2px; font-weight: bold; ">POST</span> /student_exam
</span> 


## Update Student Exam
  

```shell
curl -X PUT https://vedaay-api.mulika.in/student_exam/1
-H "Content-Type: application/json" \
-H Authorization: Bearer eyJ0eXAiOiJKNiJ9.B7Y3J9FWtgjby4P8-LX_Vkeob6CE
-d '{
    "student_id":"80",
    "level_id":"90",
    "exam_date":"23-02-2028 14:34:29",
    "status":"complete" 
  }'
```
> Responce:

```json
    '{
    "status": "success",
    "message": "student exam updated successfully.",
    "code": 200,
    "data": {
        "student_exam_id": "1",
        "student_id": "80",
        "level_id": "90",
        "exam_date": "23-02-2028 14:34:29",
        "status": "complete", 
        "created_at": "2026-05-22 17:21:12"
    }
}'
``` 

<span style="background: #000; color: white; padding: 10px 10px; border-radius: 4px;  width: 100%;display: block;">
<span  style="background: #08c0b7; color: white; padding: 8px 24px; border-radius: 2px; font-weight: bold; ">PUT</span> /student_exam/{id}
</span>  


## Get Student Final Exams

```shell
curl -X GET https://vedaay-api.mulika.in/student/final_exam
-H "Content-Type: application/json" \
-H Authorization: Bearer eyJ0eXAiOiJKNiJ9.B7Y3J9FWtgjby4P8-LX_Vkeob6CE
```
> Responce:

```json
 '{
    "status": "success",
    "message": "2 Student final exams fetched successfully",
    "logged_in_user": 294,
    "data": [
        {
            "student_exam_id": "2",
            "student_id": "294",
            "level_id": "45",
            "exam_date": "23-02-2028 14:34:29",
            "status": "inactive",
            "created_by": "123",
            "created_at": "2026-05-26 12:33:31",
            "level_name": "bingo man",
            "course_title": "Vedaay Abacus"
        },
        {
            "student_exam_id": "5",
            "student_id": "294",
            "level_id": "25",
            "exam_date": "23-02-2028 14:34:29",
            "status": "complete",
            "created_by": "302",
            "created_at": "2026-05-29 14:42:17",
            "level_name": "DOMS ",
            "course_title": "Vedaay Abacus"
        }
    ]
}'
```

<span style="background: #000; color: white; padding: 10px 10px; border-radius: 4px;  width: 100%;display: block;">
<span  style="background: #27cf3d; color: white; padding: 8px 24px; border-radius: 2px; font-weight: bold; ">GET</span> /student/final_exam
</span> 


## Get Daily Practice Result

```shell
curl -X GET https://vedaay-api.mulika.in/student/daily_practice_result
-H "Content-Type: application/json" \
-H Authorization: Bearer eyJ0eXAiOiJKNiJ9.B7Y3J9FWtgjby4P8-LX_Vkeob6CE
```
> Responce:

```json
 '{
    "status": true,
    "message": "6 Student daily practice results fetched successfully",
    "logged_in_user": 497,
    "data": [
        {
            "result_id": "59",
            "user_id": "497",
            "result_of": "level",
            "result_of_value": "25",
            "lesson_test_result": "[{\"type\": \"audio\", \"questions\": [{\"answer\": \"easy\"}]}]",
            "submitted_datetime": "2026-05-27 15:56:11",
            "total_points": "690",
            "correct_answers_count": "4",
            "gold": "138",
            "diamond": "69",
            "accuracy_percent": "100",
            "solving_time_seconds": "106",
            "total_attempts": "3",
            "start_time": "2026-05-18 17:44:28",
            "end_time": "2026-05-18 17:46:14"
        },
        {
            "result_id": "38",
            "user_id": "497",
            "result_of": "level",
            "result_of_value": "25",
            "lesson_test_result": "[{\"type\": \"audio\", \"questions\": [{\"answer\": \"easy\"}]}]",
            "submitted_datetime": "2026-05-23 12:40:47",
            "total_points": "690",
            "correct_answers_count": "4",
            "gold": "138",
            "diamond": "69",
            "accuracy_percent": "100",
            "solving_time_seconds": "60",
            "total_attempts": "1",
            "start_time": "2026-05-18 17:43:08",
            "end_time": "2026-05-18 17:44:08"
        }
    ]
}'
```

<span style="background: #000; color: white; padding: 10px 10px; border-radius: 4px;  width: 100%;display: block;">
<span  style="background: #27cf3d; color: white; padding: 8px 24px; border-radius: 2px; font-weight: bold; ">GET</span> /student/daily_practice_result
</span> 


## Franchise Student Reportcard  

```shell
curl -X GET https://vedaay-api.mulika.in/franchise/student/reportcard/511
-H "Content-Type: application/json" \
-H Authorization: Bearer eyJ0eXAiOiJKNiJ9.B7Y3J9FWtgjby4P8-LX_Vkeob6CE
```
> Responce:

```json
 '{
    "status": true,
    "message": "franchise student reportcard fetched successfully",
    "studentId": 511,
    "overview": {
        "lessons_count": 4,
        "quiz_count": 4,
        "total_points": 140,
        "accuracy_percentage": 41.75,
        "total_diamond": 14
    },
    "monthly_performance": {
        "practice_count": 4,
        "total_diamonds": 14,
        "total_points": 140,
        "daily_progress": [
            {
                "date": "2026-06-03",
                "total_points": 120,
                "total_diamond": 12
            },
            {
                "date": "2026-06-05",
                "total_points": 10,
                "total_diamond": 1
            },
            {
                "date": "2026-06-09",
                "total_points": 10,
                "total_diamond": 1
            }
        ]
    },
    "7_days_performance": [
        {
            "date": "2026-06-05",
            "day_name": "Friday",
            "total_test_count": 1,
            "solved_questions_count": 6,
            "correct_answers": 1,
            "accuracy_percent": 17,
            "total_points": 10,
            "diamonds": 1
        },
        {
            "date": "2026-06-09",
            "day_name": "Tuesday",
            "total_test_count": 1,
            "solved_questions_count": 6,
            "correct_answers": 1,
            "accuracy_percent": 17,
            "total_points": 10,
            "diamonds": 1
        }
    ],
    "todays_performance": {
        "date": "2026-06-12",
        "solved_questions_count": 0,
        "correct_answers": 0,
        "wrong_answers": 0,
        "accuracy_percent": 0,
        "total_points": 0,
        "total_diamonds": 0
    },
    "exam_performance": {
        "attempts_count": 4,
        "questions_count": 15,
        "correct_answers": 12,
        "wrong_answers": 3,
        "accuracy_percent": 80,
        "total_points": 230,
        "total_diamonds": 23,
        "total_golds": 12
    },
}'
```

<span style="background: #000; color: white; padding: 10px 10px; border-radius: 4px;  width: 100%;display: block;">
<span  style="background: #27cf3d; color: white; padding: 8px 24px; border-radius: 2px; font-weight: bold; ">GET</span> /franchise/student/reportcard/{id}
</span> 

1.  GET /franchise/student/reportcard/{id}?course_id=165 

 Parameter  | Type    | Description                  
 ---------- | ------- | ----------------------------- 
 course_id  | string  | filter student report by course_id 

 
## Reportcard  

```shell
curl -X GET https://vedaay-api.mulika.in/student/reportcard
-H "Content-Type: application/json" \
-H Authorization: Bearer eyJ0eXAiOiJKNiJ9.B7Y3J9FWtgjby4P8-LX_Vkeob6CE
```
> Responce:

```json
 '{
    "status": true,
    "message": "student reportcard fetched successfully",
    "studentId": 294,
    "overview": {
        "lessons_count": 4,
        "quiz_count": 4,
        "total_points": 140,
        "accuracy_percentage": 41.75,
        "total_diamond": 14
    },
    "monthly_performance": {
        "practice_count": 4,
        "total_diamonds": 14,
        "total_points": 140,
        "daily_progress": [
            {
                "date": "2026-06-03",
                "total_points": 120,
                "total_diamond": 12
            },
            {
                "date": "2026-06-05",
                "total_points": 10,
                "total_diamond": 1
            },
            {
                "date": "2026-06-09",
                "total_points": 10,
                "total_diamond": 1
            }
        ]
    },
    "7_days_performance": [
        {
            "date": "2026-06-05",
            "day_name": "Friday",
            "total_test_count": 1,
            "solved_questions_count": 6,
            "correct_answers": 1,
            "accuracy_percent": 17,
            "total_points": 10,
            "diamonds": 1
        },
        {
            "date": "2026-06-09",
            "day_name": "Tuesday",
            "total_test_count": 1,
            "solved_questions_count": 6,
            "correct_answers": 1,
            "accuracy_percent": 17,
            "total_points": 10,
            "diamonds": 1
        }
    ],
    "todays_performance": {
        "date": "2026-06-12",
        "solved_questions_count": 0,
        "correct_answers": 0,
        "wrong_answers": 0,
        "accuracy_percent": 0,
        "total_points": 0,
        "total_diamonds": 0
    },
    "exam_performance": {
        "attempts_count": 4,
        "questions_count": 15,
        "correct_answers": 12,
        "wrong_answers": 3,
        "accuracy_percent": 80,
        "total_points": 230,
        "total_diamonds": 23,
        "total_golds": 12
    },
}'
```

<span style="background: #000; color: white; padding: 10px 10px; border-radius: 4px;  width: 100%;display: block;">
<span  style="background: #27cf3d; color: white; padding: 8px 24px; border-radius: 2px; font-weight: bold; ">GET</span> /student/reportcard
</span> 

 
 1.  GET /student/reportcard?course_id=165 

### Parameter

 Parameter  | Type    | Description                  
 ---------- | ------- | ----------------------------- 
 course_id  | string  | filter student report by course_id 


## Leaderboard

```shell
curl -X GET https://vedaay-api.mulika.in/student/leaderboard
-H "Content-Type: application/json" \
-H Authorization: Bearer eyJ0eXAiOiJKNiJ9.B7Y3J9FWtgjby4P8-LX_Vkeob6CE
```
> Responce:

```json
 '{
    "status": true,
    "message": "Leaderboard fetched successfully",
    "period": "monthly",
    "top3_students": [
        {
            "user_id": "330",
            "user_name": "superadmins",
            "first_name": "mulika",
            "middle_name": "platinum",
            "last_name": "company",
            "total_points": "100",
            "diamond": "10",
            "rank": 1
        },
        {
            "user_id": "107",
            "user_name": "rohan",
            "first_name": "rohan",
            "middle_name": "rama",
            "last_name": "sarode",
            "total_points": "80",
            "diamond": "8",
            "rank": 2
        },
        {
            "user_id": "302",
            "user_name": "gulmohar",
            "first_name": "home",
            "middle_name": "home",
            "last_name": "Sharma",
            "total_points": "40",
            "diamond": "4",
            "rank": 3
        }
    ],
    "current_student": {
        "user_id": "330",
        "user_name": "superadmins",
        "first_name": "mulika",
        "middle_name": "platinum",
        "last_name": "company",
        "total_points": "100",
        "diamond": "10",
        "rank": 1
    },
    "data": [
        {
            "user_id": "330",
            "user_name": "superadmins",
            "first_name": "mulika",
            "middle_name": "platinum",
            "last_name": "company",
            "total_points": "100",
            "diamond": "10",
            "rank": 1
        },
        {
            "user_id": "107",
            "user_name": "rohan",
            "first_name": "rohan",
            "middle_name": "rama",
            "last_name": "sarode",
            "total_points": "80",
            "diamond": "8",
            "rank": 2
        },
        {
            "user_id": "302",
            "user_name": "gulmohar",
            "first_name": "home",
            "middle_name": "home",
            "last_name": "Sharma",
            "total_points": "40",
            "diamond": "4",
            "rank": 3
        }, 
        {
            "user_id": "432",
            "user_name": "drafqgomez",
            "first_name": "home",
            "middle_name": "home",
            "last_name": "Sharma",
            "total_points": 0,
            "diamond": 0,
            "rank": 0
        }
    ]
}'
```

<span style="background: #000; color: white; padding: 10px 10px; border-radius: 4px;  width: 100%;display: block;">
<span  style="background: #27cf3d; color: white; padding: 8px 24px; border-radius: 2px; font-weight: bold; ">GET</span> /student/leaderboard
</span> 

 1.  GET /student/leaderboard?age=12+
 2.  GET /student/leaderboard?period=all
 3.  GET /student/leaderboard?course_id=165
 4.  GET /student/leaderboard?period=all&age=12+

### Parameter

 Parameter  | Type    | Description                  
 ---------- | ------- | -----------------------------
 age        | integer | filter student ranking by '4-7', '8-11', '12+', 'all'   
 period     | string  | filter student ranking by 'todays', 'weekly', 'monthly', 'all' 
 course_id  | string  | filter student ranking by course_id 

