Review

Retrieves a list of all candidates who participated in a specific exam, along with their overall results.

get

Retrieves all candidates who participated in a specific exam, along with their overall results.

Authorizations
Path parameters
examIdstring · uuidRequired

The unique identifier of the exam.

Responses
200

OK

application/json
get
GET /api/Review/Candidates/{examId} HTTP/1.1
Host: 
Authorization: Bearer JWT
Accept: */*
[
  {
    "account": {
      "accountId": "123e4567-e89b-12d3-a456-426614174000",
      "username": "text",
      "email": "text"
    },
    "result": {
      "totalScore": 1,
      "problemSolvingScore": 1,
      "writtenScore": 1,
      "mcqScore": 1,
      "startedAt": "2025-08-11T02:45:32.163Z",
      "submittedAt": "2025-08-11T02:45:32.163Z",
      "hasCheated": true,
      "isReviewed": true
    }
  }
]

Retrieves the detailed exam results for a specific candidate in a specific exam.

get

Retrieves the detailed exam results for a specific candidate in a specific exam.

Authorizations
Path parameters
examIdstring · uuidRequired

The unique identifier of the exam.

accountIdstring · uuidRequired

The unique identifier of the candidate's account.

Responses
200

OK

application/json
get
GET /api/Review/Candidates/{examId}/{accountId} HTTP/1.1
Host: 
Authorization: Bearer JWT
Accept: */*
[
  {
    "exam": {
      "examId": "123e4567-e89b-12d3-a456-426614174000",
      "title": "text",
      "description": "text",
      "totalPoints": 1,
      "problemSolvingPoints": 1,
      "writtenPoints": 1,
      "mcqPoints": 1,
      "durationMinutes": 1,
      "isPublished": true,
      "status": "text",
      "opensAt": "2025-08-11T02:45:32.163Z",
      "closesAt": "2025-08-11T02:45:32.163Z"
    },
    "account": {
      "accountId": "123e4567-e89b-12d3-a456-426614174000",
      "username": "text",
      "email": "text"
    },
    "result": {
      "totalScore": 1,
      "problemSolvingScore": 1,
      "writtenScore": 1,
      "mcqScore": 1,
      "startedAt": "2025-08-11T02:45:32.163Z",
      "submittedAt": "2025-08-11T02:45:32.163Z",
      "hasCheated": true,
      "isReviewed": true
    },
    "submission": {
      "problem": [
        {
          "questionId": "123e4567-e89b-12d3-a456-426614174000",
          "problemSubmissionId": "123e4567-e89b-12d3-a456-426614174000",
          "code": "text",
          "language": "java",
          "attempts": 1,
          "score": 1,
          "isFlagged": true,
          "flagReason": "text",
          "testCaseOutputs": [
            {
              "testCaseId": "123e4567-e89b-12d3-a456-426614174000",
              "isAccepted": true,
              "receivedOutput": "text"
            }
          ]
        }
      ],
      "written": [
        {
          "questionId": "123e4567-e89b-12d3-a456-426614174000",
          "writtenSubmissionId": "123e4567-e89b-12d3-a456-426614174000",
          "answer": "text",
          "score": 1
        }
      ],
      "mcq": [
        {
          "questionId": "123e4567-e89b-12d3-a456-426614174000",
          "mcqSubmissionId": "123e4567-e89b-12d3-a456-426614174000",
          "answerOptions": "text",
          "score": 1
        }
      ]
    }
  }
]

Reviews a specific problem submission, allowing for feedback and scoring.

patch

Reviews a specific problem submission, allowing for feedback and scoring.

Authorizations
Body
examIdstring · uuidOptional
accountIdstring · uuidOptional
problemSubmissionIdstring · uuidOptional
scorenumber · double | nullableOptional
isFlaggedboolean | nullableOptional
flagReasonstring | nullableOptional
Responses
200

OK

patch
PATCH /api/Review/Submission/Problem HTTP/1.1
Host: 
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 208

{
  "examId": "123e4567-e89b-12d3-a456-426614174000",
  "accountId": "123e4567-e89b-12d3-a456-426614174000",
  "problemSubmissionId": "123e4567-e89b-12d3-a456-426614174000",
  "score": 1,
  "isFlagged": true,
  "flagReason": "text"
}

No content

Reviews a specific written submission, allowing for feedback and scoring.

patch

Reviews a specific written submission, allowing for feedback and scoring.

Authorizations
Body
examIdstring · uuidOptional
accountIdstring · uuidOptional
writtenSubmissionIdstring · uuidOptional
scorenumber · double | nullableOptional
isFlaggedboolean | nullableOptional
flagReasonstring | nullableOptional
Responses
200

OK

patch
PATCH /api/Review/Submission/Written HTTP/1.1
Host: 
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 208

{
  "examId": "123e4567-e89b-12d3-a456-426614174000",
  "accountId": "123e4567-e89b-12d3-a456-426614174000",
  "writtenSubmissionId": "123e4567-e89b-12d3-a456-426614174000",
  "score": 1,
  "isFlagged": true,
  "flagReason": "text"
}

No content

Deprecated

[Obsolete] Retrieves an exam along with all its questions and the submissions of a specific candidate.

get

[Obsolete] Retrieves an exam with questions and submissions of a candidate.

Authorizations
Path parameters
examIdstring · uuidRequired

The unique identifier of the exam.

accountIdstring · uuidRequired

The unique identifier of the candidate's account.

Responses
200

OK

application/json
get
GET /api/Review/Exam/QuestionsWithSubmission/{examId}/{accountId} HTTP/1.1
Host: 
Authorization: Bearer JWT
Accept: */*
{
  "exam": {
    "examId": "123e4567-e89b-12d3-a456-426614174000",
    "title": "text",
    "description": "text",
    "totalPoints": 1,
    "problemSolvingPoints": 1,
    "writtenPoints": 1,
    "mcqPoints": 1,
    "durationMinutes": 1,
    "isPublished": true,
    "status": "text",
    "opensAt": "2025-08-11T02:45:32.163Z",
    "closesAt": "2025-08-11T02:45:32.163Z"
  },
  "account": {
    "accountId": "123e4567-e89b-12d3-a456-426614174000",
    "username": "text",
    "email": "text"
  },
  "result": {
    "totalScore": 1,
    "problemSolvingScore": 1,
    "writtenScore": 1,
    "mcqScore": 1,
    "startedAt": "2025-08-11T02:45:32.163Z",
    "submittedAt": "2025-08-11T02:45:32.163Z",
    "hasCheated": true,
    "isReviewed": true
  },
  "questionsWithSubmission": {
    "problem": [
      {
        "questionId": "123e4567-e89b-12d3-a456-426614174000",
        "statementMarkdown": "text",
        "points": 1,
        "difficultyType": "Easy",
        "problemSubmission": {
          "problemSubmissionId": "123e4567-e89b-12d3-a456-426614174000",
          "code": "text",
          "language": "java",
          "attempts": 1,
          "score": 1,
          "isFlagged": true,
          "flagReason": "text",
          "testCaseOutputs": [
            {
              "testCaseId": "123e4567-e89b-12d3-a456-426614174000",
              "isAccepted": true,
              "input": "text",
              "expectedOutput": "text",
              "receivedOutput": "text"
            }
          ]
        }
      }
    ],
    "written": [
      {
        "questionId": "123e4567-e89b-12d3-a456-426614174000",
        "statementMarkdown": "text",
        "points": 1,
        "writtenSubmission": {
          "questionId": "123e4567-e89b-12d3-a456-426614174000",
          "writtenSubmissionId": "123e4567-e89b-12d3-a456-426614174000",
          "answer": "text",
          "score": 1
        }
      }
    ],
    "mcq": [
      {
        "questionId": "123e4567-e89b-12d3-a456-426614174000",
        "statementMarkdown": "text",
        "points": 1,
        "mcqSubmission": {
          "questionId": "123e4567-e89b-12d3-a456-426614174000",
          "mcqSubmissionId": "123e4567-e89b-12d3-a456-426614174000",
          "answerOptions": "text",
          "score": 1
        }
      }
    ]
  }
}
Deprecated

[Obsolete] Retrieves all problem-solving submissions for a specific exam by a specific user.

get

[Obsolete] Retrieves problem-solving submissions for an exam of a user.

Authorizations
Path parameters
examIdstring · uuidRequired

The unique identifier of the exam.

accountIdstring · uuidRequired

The unique identifier of the user's account.

Responses
200

OK

application/json
get
GET /api/Review/Problem/{examId}/{accountId} HTTP/1.1
Host: 
Authorization: Bearer JWT
Accept: */*
[
  {
    "questionId": "123e4567-e89b-12d3-a456-426614174000",
    "statementMarkdown": "text",
    "points": 1,
    "difficultyType": "Easy",
    "problemSubmission": {
      "problemSubmissionId": "123e4567-e89b-12d3-a456-426614174000",
      "code": "text",
      "language": "java",
      "attempts": 1,
      "score": 1,
      "isFlagged": true,
      "flagReason": "text",
      "testCaseOutputs": [
        {
          "testCaseId": "123e4567-e89b-12d3-a456-426614174000",
          "isAccepted": true,
          "input": "text",
          "expectedOutput": "text",
          "receivedOutput": "text"
        }
      ]
    }
  }
]
Deprecated

[Obsolete] Retrieves all written submissions for a specific exam by a specific user.

get

[Obsolete] Retrieves written submissions for an exam of a user.

Authorizations
Path parameters
examIdstring · uuidRequired

The unique identifier of the exam.

accountIdstring · uuidRequired

The unique identifier of the user's account.

Responses
200

OK

application/json
get
GET /api/Review/Written/{examId}/{accountId} HTTP/1.1
Host: 
Authorization: Bearer JWT
Accept: */*
[
  {
    "questionId": "123e4567-e89b-12d3-a456-426614174000",
    "statementMarkdown": "text",
    "points": 1,
    "writtenSubmission": {
      "questionId": "123e4567-e89b-12d3-a456-426614174000",
      "writtenSubmissionId": "123e4567-e89b-12d3-a456-426614174000",
      "answer": "text",
      "score": 1
    }
  }
]
Deprecated

[Obsolete] Retrieves all MCQ submissions for a specific exam by a specific user.

get

[Obsolete] Retrieves MCQ submissions for an exam of a user.

Authorizations
Path parameters
examIdstring · uuidRequired

The unique identifier of the exam.

accountIdstring · uuidRequired

The unique identifier of the user's account.

Responses
200

OK

application/json
get
GET /api/Review/Mcq/{examId}/{accountId} HTTP/1.1
Host: 
Authorization: Bearer JWT
Accept: */*
[
  {
    "questionId": "123e4567-e89b-12d3-a456-426614174000",
    "mcqSubmissionId": "123e4567-e89b-12d3-a456-426614174000",
    "answerOptions": "text",
    "score": 1
  }
]