# Review

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

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

OpenAPI:

```json
{"openapi":"3.0.4","info":{"title":"TrueTest - API Documentation","version":"v1"},"servers":[{"url":"/api"}],"paths":{"/Review/Candidates/{examId}":{"get":{"tags":["Review"],"summary":"Retrieves a list of all candidates who participated in a specific exam, along with their overall results.","description":"Retrieves all candidates who participated in a specific exam, along with their overall results.","parameters":[{"name":"examId","in":"path","description":"The unique identifier of the exam.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"account":{"type":"object","properties":{"accountId":{"type":"string","format":"uuid"},"username":{"type":"string","nullable":true},"email":{"type":"string","nullable":true}},"additionalProperties":false},"result":{"type":"object","properties":{"totalScore":{"type":"number","format":"double"},"problemSolvingScore":{"type":"number","format":"double"},"writtenScore":{"type":"number","format":"double"},"mcqScore":{"type":"number","format":"double"},"startedAt":{"type":"string","format":"date-time","nullable":true},"submittedAt":{"type":"string","format":"date-time","nullable":true},"hasCheated":{"type":"boolean"},"isReviewed":{"type":"boolean"}},"additionalProperties":false}},"additionalProperties":false}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true},"exception":{"type":"object","properties":{"details":{"type":"string","nullable":true},"headers":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"nullable":true},"path":{"type":"string","nullable":true},"endpoint":{"type":"string","nullable":true},"routeValues":{"type":"object","additionalProperties":{"type":"string"},"nullable":true}},"additionalProperties":false}},"additionalProperties":false}}}}}}}},"components":{"securitySchemes":{"Bearer":{"type":"http","description":"🗝️ Admin Account\n\neyJhbGciOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNobWFjLXNoYTI1NiIsInR5cCI6IkpXVCJ9.eyJBY2NvdW50SWQiOiIxMTExMTExMS0xMTExLTExMTEtMTExMS0xMTExMTExMTExMTEiLCJVc2VybmFtZSI6ImFkbWluIiwiRW1haWwiOiJhZG1pbkB0cnVldGVzdC50ZWNoIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjpbIkNhbmRpZGF0ZSIsIkFkbWluIl0sIlBlcm1pc3Npb24iOlsiQWNjZXNzT3duRXhhbXMiLCJTdWJtaXRBbnN3ZXJzIiwiUnVuQ29kZSIsIk1hbmFnZU93blByb2ZpbGUiLCJNYW5hZ2VBY2NvdW50cyIsIlZpZXdFeGFtcyIsIk1hbmFnZUV4YW1zIiwiTWFuYWdlUXVlc3Rpb25zIiwiVmlld1N1Ym1pc3Npb25zIiwiUmV2aWV3U3VibWlzc2lvbiJdLCJleHAiOjQ4OTkwMzMxOTUsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3QiLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0In0.VBPngQIwsybHrwZPYMA5sNpWew3S9_W7cDdpAD4mDyM","scheme":"bearer","bearerFormat":"JWT"}}},"security":[{"Bearer":[]}]}
```

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

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

OpenAPI:

```json
{"openapi":"3.0.4","info":{"title":"TrueTest - API Documentation","version":"v1"},"servers":[{"url":"/api"}],"paths":{"/Review/Candidates/{examId}/{accountId}":{"get":{"tags":["Review"],"summary":"Retrieves the detailed exam results for a specific candidate in a specific exam.","description":"Retrieves the detailed exam results for a specific candidate in a specific exam.","parameters":[{"name":"examId","in":"path","description":"The unique identifier of the exam.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"accountId","in":"path","description":"The unique identifier of the candidate's account.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"exam":{"type":"object","properties":{"examId":{"type":"string","format":"uuid"},"title":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"totalPoints":{"type":"number","format":"double"},"problemSolvingPoints":{"type":"number","format":"double"},"writtenPoints":{"type":"number","format":"double"},"mcqPoints":{"type":"number","format":"double"},"durationMinutes":{"type":"integer","format":"int32"},"isPublished":{"type":"boolean"},"status":{"type":"string","nullable":true},"opensAt":{"type":"string","format":"date-time"},"closesAt":{"type":"string","format":"date-time"}},"additionalProperties":false},"account":{"type":"object","properties":{"accountId":{"type":"string","format":"uuid"},"username":{"type":"string","nullable":true},"email":{"type":"string","nullable":true}},"additionalProperties":false},"result":{"type":"object","properties":{"totalScore":{"type":"number","format":"double"},"problemSolvingScore":{"type":"number","format":"double"},"writtenScore":{"type":"number","format":"double"},"mcqScore":{"type":"number","format":"double"},"startedAt":{"type":"string","format":"date-time","nullable":true},"submittedAt":{"type":"string","format":"date-time","nullable":true},"hasCheated":{"type":"boolean"},"isReviewed":{"type":"boolean"}},"additionalProperties":false},"submission":{"type":"object","properties":{"problem":{"type":"array","items":{"type":"object","properties":{"questionId":{"type":"string","format":"uuid"},"problemSubmissionId":{"type":"string","format":"uuid"},"code":{"type":"string","nullable":true},"language":{"enum":["java","python","python2","c","cpp","nodejs","javascript","groovy","jshell","haskell","tcl","lua","ada","commonlisp","d","elixir","erlang","fsharp","fortran","assembly","scala","php","csharp","perl","ruby","go","r","racket","ocaml","vb","basic","bash","clojure","typescript","cobol","kotlin","pascal","prolog","rust","swift","objectivec","octave","text","brainfk","coffeescript","ejs","dart","deno","bun"],"type":"string"},"attempts":{"type":"integer","format":"int32"},"score":{"type":"number","format":"double","nullable":true},"isFlagged":{"type":"boolean"},"flagReason":{"type":"string","nullable":true},"testCaseOutputs":{"type":"array","items":{"type":"object","properties":{"testCaseId":{"type":"string","format":"uuid"},"isAccepted":{"type":"boolean"},"receivedOutput":{"type":"string","nullable":true}},"additionalProperties":false},"nullable":true}},"additionalProperties":false},"nullable":true},"written":{"type":"array","items":{"type":"object","properties":{"questionId":{"type":"string","format":"uuid"},"writtenSubmissionId":{"type":"string","format":"uuid"},"answer":{"type":"string","nullable":true},"score":{"type":"number","format":"double","nullable":true}},"additionalProperties":false},"nullable":true},"mcq":{"type":"array","items":{"type":"object","properties":{"questionId":{"type":"string","format":"uuid"},"mcqSubmissionId":{"type":"string","format":"uuid"},"answerOptions":{"type":"string","nullable":true},"score":{"type":"number","format":"double","nullable":true}},"additionalProperties":false},"nullable":true}},"additionalProperties":false}},"additionalProperties":false}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true},"exception":{"type":"object","properties":{"details":{"type":"string","nullable":true},"headers":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"nullable":true},"path":{"type":"string","nullable":true},"endpoint":{"type":"string","nullable":true},"routeValues":{"type":"object","additionalProperties":{"type":"string"},"nullable":true}},"additionalProperties":false}},"additionalProperties":false}}}}}}}},"components":{"securitySchemes":{"Bearer":{"type":"http","description":"🗝️ Admin Account\n\neyJhbGciOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNobWFjLXNoYTI1NiIsInR5cCI6IkpXVCJ9.eyJBY2NvdW50SWQiOiIxMTExMTExMS0xMTExLTExMTEtMTExMS0xMTExMTExMTExMTEiLCJVc2VybmFtZSI6ImFkbWluIiwiRW1haWwiOiJhZG1pbkB0cnVldGVzdC50ZWNoIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjpbIkNhbmRpZGF0ZSIsIkFkbWluIl0sIlBlcm1pc3Npb24iOlsiQWNjZXNzT3duRXhhbXMiLCJTdWJtaXRBbnN3ZXJzIiwiUnVuQ29kZSIsIk1hbmFnZU93blByb2ZpbGUiLCJNYW5hZ2VBY2NvdW50cyIsIlZpZXdFeGFtcyIsIk1hbmFnZUV4YW1zIiwiTWFuYWdlUXVlc3Rpb25zIiwiVmlld1N1Ym1pc3Npb25zIiwiUmV2aWV3U3VibWlzc2lvbiJdLCJleHAiOjQ4OTkwMzMxOTUsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3QiLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0In0.VBPngQIwsybHrwZPYMA5sNpWew3S9_W7cDdpAD4mDyM","scheme":"bearer","bearerFormat":"JWT"}}},"security":[{"Bearer":[]}]}
```

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

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

OpenAPI:

```json
{"openapi":"3.0.4","info":{"title":"TrueTest - API Documentation","version":"v1"},"servers":[{"url":"/api"}],"paths":{"/Review/Submission/Problem":{"patch":{"tags":["Review"],"summary":"Reviews a specific problem submission, allowing for feedback and scoring.","description":"Reviews a specific problem submission, allowing for feedback and scoring.","requestBody":{"description":"Details for reviewing the problem submission, including the submission ID and review comments/scores.","content":{"application/json":{"schema":{"type":"object","properties":{"examId":{"type":"string","format":"uuid"},"accountId":{"type":"string","format":"uuid"},"problemSubmissionId":{"type":"string","format":"uuid"},"score":{"type":"number","format":"double","nullable":true},"isFlagged":{"type":"boolean","nullable":true},"flagReason":{"type":"string","nullable":true}},"additionalProperties":false}}}},"responses":{"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true},"exception":{"type":"object","properties":{"details":{"type":"string","nullable":true},"headers":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"nullable":true},"path":{"type":"string","nullable":true},"endpoint":{"type":"string","nullable":true},"routeValues":{"type":"object","additionalProperties":{"type":"string"},"nullable":true}},"additionalProperties":false}},"additionalProperties":false}}}}}}}},"components":{"securitySchemes":{"Bearer":{"type":"http","description":"🗝️ Admin Account\n\neyJhbGciOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNobWFjLXNoYTI1NiIsInR5cCI6IkpXVCJ9.eyJBY2NvdW50SWQiOiIxMTExMTExMS0xMTExLTExMTEtMTExMS0xMTExMTExMTExMTEiLCJVc2VybmFtZSI6ImFkbWluIiwiRW1haWwiOiJhZG1pbkB0cnVldGVzdC50ZWNoIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjpbIkNhbmRpZGF0ZSIsIkFkbWluIl0sIlBlcm1pc3Npb24iOlsiQWNjZXNzT3duRXhhbXMiLCJTdWJtaXRBbnN3ZXJzIiwiUnVuQ29kZSIsIk1hbmFnZU93blByb2ZpbGUiLCJNYW5hZ2VBY2NvdW50cyIsIlZpZXdFeGFtcyIsIk1hbmFnZUV4YW1zIiwiTWFuYWdlUXVlc3Rpb25zIiwiVmlld1N1Ym1pc3Npb25zIiwiUmV2aWV3U3VibWlzc2lvbiJdLCJleHAiOjQ4OTkwMzMxOTUsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3QiLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0In0.VBPngQIwsybHrwZPYMA5sNpWew3S9_W7cDdpAD4mDyM","scheme":"bearer","bearerFormat":"JWT"}}},"security":[{"Bearer":[]}]}
```

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

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

OpenAPI:

```json
{"openapi":"3.0.4","info":{"title":"TrueTest - API Documentation","version":"v1"},"servers":[{"url":"/api"}],"paths":{"/Review/Submission/Written":{"patch":{"tags":["Review"],"summary":"Reviews a specific written submission, allowing for feedback and scoring.","description":"Reviews a specific written submission, allowing for feedback and scoring.","requestBody":{"description":"Details for reviewing the written submission, including the submission ID and review comments/scores.","content":{"application/json":{"schema":{"type":"object","properties":{"examId":{"type":"string","format":"uuid"},"accountId":{"type":"string","format":"uuid"},"writtenSubmissionId":{"type":"string","format":"uuid"},"score":{"type":"number","format":"double","nullable":true},"isFlagged":{"type":"boolean","nullable":true},"flagReason":{"type":"string","nullable":true}},"additionalProperties":false}}}},"responses":{"200":{"description":"OK"},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"404":{"description":"Not Found","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true},"exception":{"type":"object","properties":{"details":{"type":"string","nullable":true},"headers":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"nullable":true},"path":{"type":"string","nullable":true},"endpoint":{"type":"string","nullable":true},"routeValues":{"type":"object","additionalProperties":{"type":"string"},"nullable":true}},"additionalProperties":false}},"additionalProperties":false}}}}}}}},"components":{"securitySchemes":{"Bearer":{"type":"http","description":"🗝️ Admin Account\n\neyJhbGciOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNobWFjLXNoYTI1NiIsInR5cCI6IkpXVCJ9.eyJBY2NvdW50SWQiOiIxMTExMTExMS0xMTExLTExMTEtMTExMS0xMTExMTExMTExMTEiLCJVc2VybmFtZSI6ImFkbWluIiwiRW1haWwiOiJhZG1pbkB0cnVldGVzdC50ZWNoIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjpbIkNhbmRpZGF0ZSIsIkFkbWluIl0sIlBlcm1pc3Npb24iOlsiQWNjZXNzT3duRXhhbXMiLCJTdWJtaXRBbnN3ZXJzIiwiUnVuQ29kZSIsIk1hbmFnZU93blByb2ZpbGUiLCJNYW5hZ2VBY2NvdW50cyIsIlZpZXdFeGFtcyIsIk1hbmFnZUV4YW1zIiwiTWFuYWdlUXVlc3Rpb25zIiwiVmlld1N1Ym1pc3Npb25zIiwiUmV2aWV3U3VibWlzc2lvbiJdLCJleHAiOjQ4OTkwMzMxOTUsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3QiLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0In0.VBPngQIwsybHrwZPYMA5sNpWew3S9_W7cDdpAD4mDyM","scheme":"bearer","bearerFormat":"JWT"}}},"security":[{"Bearer":[]}]}
```

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

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

OpenAPI:

```json
{"openapi":"3.0.4","info":{"title":"TrueTest - API Documentation","version":"v1"},"servers":[{"url":"/api"}],"paths":{"/Review/Exam/QuestionsWithSubmission/{examId}/{accountId}":{"get":{"tags":["Review"],"summary":"[Obsolete] Retrieves an exam along with all its questions and the submissions of a specific candidate.","description":"[Obsolete] Retrieves an exam with questions and submissions of a candidate.","parameters":[{"name":"examId","in":"path","description":"The unique identifier of the exam.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"accountId","in":"path","description":"The unique identifier of the candidate's account.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"object","properties":{"exam":{"type":"object","properties":{"examId":{"type":"string","format":"uuid"},"title":{"type":"string","nullable":true},"description":{"type":"string","nullable":true},"totalPoints":{"type":"number","format":"double"},"problemSolvingPoints":{"type":"number","format":"double"},"writtenPoints":{"type":"number","format":"double"},"mcqPoints":{"type":"number","format":"double"},"durationMinutes":{"type":"integer","format":"int32"},"isPublished":{"type":"boolean"},"status":{"type":"string","nullable":true},"opensAt":{"type":"string","format":"date-time"},"closesAt":{"type":"string","format":"date-time"}},"additionalProperties":false},"account":{"type":"object","properties":{"accountId":{"type":"string","format":"uuid"},"username":{"type":"string","nullable":true},"email":{"type":"string","nullable":true}},"additionalProperties":false},"result":{"type":"object","properties":{"totalScore":{"type":"number","format":"double"},"problemSolvingScore":{"type":"number","format":"double"},"writtenScore":{"type":"number","format":"double"},"mcqScore":{"type":"number","format":"double"},"startedAt":{"type":"string","format":"date-time","nullable":true},"submittedAt":{"type":"string","format":"date-time","nullable":true},"hasCheated":{"type":"boolean"},"isReviewed":{"type":"boolean"}},"additionalProperties":false},"questionsWithSubmission":{"type":"object","properties":{"problem":{"type":"array","items":{"type":"object","properties":{"questionId":{"type":"string","format":"uuid"},"statementMarkdown":{"type":"string","nullable":true},"points":{"type":"number","format":"double"},"difficultyType":{"enum":["Easy","Medium","Hard"],"type":"string"},"problemSubmission":{"type":"object","properties":{"problemSubmissionId":{"type":"string","format":"uuid"},"code":{"type":"string","nullable":true},"language":{"enum":["java","python","python2","c","cpp","nodejs","javascript","groovy","jshell","haskell","tcl","lua","ada","commonlisp","d","elixir","erlang","fsharp","fortran","assembly","scala","php","csharp","perl","ruby","go","r","racket","ocaml","vb","basic","bash","clojure","typescript","cobol","kotlin","pascal","prolog","rust","swift","objectivec","octave","text","brainfk","coffeescript","ejs","dart","deno","bun"],"type":"string"},"attempts":{"type":"integer","format":"int32"},"score":{"type":"number","format":"double","nullable":true},"isFlagged":{"type":"boolean"},"flagReason":{"type":"string","nullable":true},"testCaseOutputs":{"type":"array","items":{"type":"object","properties":{"testCaseId":{"type":"string","format":"uuid"},"isAccepted":{"type":"boolean"},"input":{"type":"string","nullable":true},"expectedOutput":{"type":"string","nullable":true},"receivedOutput":{"type":"string","nullable":true}},"additionalProperties":false},"nullable":true}},"additionalProperties":false}},"additionalProperties":false},"nullable":true},"written":{"type":"array","items":{"type":"object","properties":{"questionId":{"type":"string","format":"uuid"},"statementMarkdown":{"type":"string","nullable":true},"points":{"type":"number","format":"double"},"writtenSubmission":{"type":"object","properties":{"questionId":{"type":"string","format":"uuid"},"writtenSubmissionId":{"type":"string","format":"uuid"},"answer":{"type":"string","nullable":true},"score":{"type":"number","format":"double","nullable":true}},"additionalProperties":false}},"additionalProperties":false},"nullable":true},"mcq":{"type":"array","items":{"type":"object","properties":{"questionId":{"type":"string","format":"uuid"},"statementMarkdown":{"type":"string","nullable":true},"points":{"type":"number","format":"double"},"mcqSubmission":{"type":"object","properties":{"questionId":{"type":"string","format":"uuid"},"mcqSubmissionId":{"type":"string","format":"uuid"},"answerOptions":{"type":"string","nullable":true},"score":{"type":"number","format":"double","nullable":true}},"additionalProperties":false}},"additionalProperties":false},"nullable":true}},"additionalProperties":false}},"additionalProperties":false}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true},"exception":{"type":"object","properties":{"details":{"type":"string","nullable":true},"headers":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"nullable":true},"path":{"type":"string","nullable":true},"endpoint":{"type":"string","nullable":true},"routeValues":{"type":"object","additionalProperties":{"type":"string"},"nullable":true}},"additionalProperties":false}},"additionalProperties":false}}}}},"deprecated":true}}},"components":{"securitySchemes":{"Bearer":{"type":"http","description":"🗝️ Admin Account\n\neyJhbGciOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNobWFjLXNoYTI1NiIsInR5cCI6IkpXVCJ9.eyJBY2NvdW50SWQiOiIxMTExMTExMS0xMTExLTExMTEtMTExMS0xMTExMTExMTExMTEiLCJVc2VybmFtZSI6ImFkbWluIiwiRW1haWwiOiJhZG1pbkB0cnVldGVzdC50ZWNoIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjpbIkNhbmRpZGF0ZSIsIkFkbWluIl0sIlBlcm1pc3Npb24iOlsiQWNjZXNzT3duRXhhbXMiLCJTdWJtaXRBbnN3ZXJzIiwiUnVuQ29kZSIsIk1hbmFnZU93blByb2ZpbGUiLCJNYW5hZ2VBY2NvdW50cyIsIlZpZXdFeGFtcyIsIk1hbmFnZUV4YW1zIiwiTWFuYWdlUXVlc3Rpb25zIiwiVmlld1N1Ym1pc3Npb25zIiwiUmV2aWV3U3VibWlzc2lvbiJdLCJleHAiOjQ4OTkwMzMxOTUsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3QiLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0In0.VBPngQIwsybHrwZPYMA5sNpWew3S9_W7cDdpAD4mDyM","scheme":"bearer","bearerFormat":"JWT"}}},"security":[{"Bearer":[]}]}
```

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

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

OpenAPI:

```json
{"openapi":"3.0.4","info":{"title":"TrueTest - API Documentation","version":"v1"},"servers":[{"url":"/api"}],"paths":{"/Review/Problem/{examId}/{accountId}":{"get":{"tags":["Review"],"summary":"[Obsolete] Retrieves all problem-solving submissions for a specific exam by a specific user.","description":"[Obsolete] Retrieves problem-solving submissions for an exam of a user.","parameters":[{"name":"examId","in":"path","description":"The unique identifier of the exam.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"accountId","in":"path","description":"The unique identifier of the user's account.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"questionId":{"type":"string","format":"uuid"},"statementMarkdown":{"type":"string","nullable":true},"points":{"type":"number","format":"double"},"difficultyType":{"enum":["Easy","Medium","Hard"],"type":"string"},"problemSubmission":{"type":"object","properties":{"problemSubmissionId":{"type":"string","format":"uuid"},"code":{"type":"string","nullable":true},"language":{"enum":["java","python","python2","c","cpp","nodejs","javascript","groovy","jshell","haskell","tcl","lua","ada","commonlisp","d","elixir","erlang","fsharp","fortran","assembly","scala","php","csharp","perl","ruby","go","r","racket","ocaml","vb","basic","bash","clojure","typescript","cobol","kotlin","pascal","prolog","rust","swift","objectivec","octave","text","brainfk","coffeescript","ejs","dart","deno","bun"],"type":"string"},"attempts":{"type":"integer","format":"int32"},"score":{"type":"number","format":"double","nullable":true},"isFlagged":{"type":"boolean"},"flagReason":{"type":"string","nullable":true},"testCaseOutputs":{"type":"array","items":{"type":"object","properties":{"testCaseId":{"type":"string","format":"uuid"},"isAccepted":{"type":"boolean"},"input":{"type":"string","nullable":true},"expectedOutput":{"type":"string","nullable":true},"receivedOutput":{"type":"string","nullable":true}},"additionalProperties":false},"nullable":true}},"additionalProperties":false}},"additionalProperties":false}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true},"exception":{"type":"object","properties":{"details":{"type":"string","nullable":true},"headers":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"nullable":true},"path":{"type":"string","nullable":true},"endpoint":{"type":"string","nullable":true},"routeValues":{"type":"object","additionalProperties":{"type":"string"},"nullable":true}},"additionalProperties":false}},"additionalProperties":false}}}}},"deprecated":true}}},"components":{"securitySchemes":{"Bearer":{"type":"http","description":"🗝️ Admin Account\n\neyJhbGciOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNobWFjLXNoYTI1NiIsInR5cCI6IkpXVCJ9.eyJBY2NvdW50SWQiOiIxMTExMTExMS0xMTExLTExMTEtMTExMS0xMTExMTExMTExMTEiLCJVc2VybmFtZSI6ImFkbWluIiwiRW1haWwiOiJhZG1pbkB0cnVldGVzdC50ZWNoIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjpbIkNhbmRpZGF0ZSIsIkFkbWluIl0sIlBlcm1pc3Npb24iOlsiQWNjZXNzT3duRXhhbXMiLCJTdWJtaXRBbnN3ZXJzIiwiUnVuQ29kZSIsIk1hbmFnZU93blByb2ZpbGUiLCJNYW5hZ2VBY2NvdW50cyIsIlZpZXdFeGFtcyIsIk1hbmFnZUV4YW1zIiwiTWFuYWdlUXVlc3Rpb25zIiwiVmlld1N1Ym1pc3Npb25zIiwiUmV2aWV3U3VibWlzc2lvbiJdLCJleHAiOjQ4OTkwMzMxOTUsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3QiLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0In0.VBPngQIwsybHrwZPYMA5sNpWew3S9_W7cDdpAD4mDyM","scheme":"bearer","bearerFormat":"JWT"}}},"security":[{"Bearer":[]}]}
```

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

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

OpenAPI:

```json
{"openapi":"3.0.4","info":{"title":"TrueTest - API Documentation","version":"v1"},"servers":[{"url":"/api"}],"paths":{"/Review/Written/{examId}/{accountId}":{"get":{"tags":["Review"],"summary":"[Obsolete] Retrieves all written submissions for a specific exam by a specific user.","description":"[Obsolete] Retrieves written submissions for an exam of a user.","parameters":[{"name":"examId","in":"path","description":"The unique identifier of the exam.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"accountId","in":"path","description":"The unique identifier of the user's account.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"questionId":{"type":"string","format":"uuid"},"statementMarkdown":{"type":"string","nullable":true},"points":{"type":"number","format":"double"},"writtenSubmission":{"type":"object","properties":{"questionId":{"type":"string","format":"uuid"},"writtenSubmissionId":{"type":"string","format":"uuid"},"answer":{"type":"string","nullable":true},"score":{"type":"number","format":"double","nullable":true}},"additionalProperties":false}},"additionalProperties":false}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true},"exception":{"type":"object","properties":{"details":{"type":"string","nullable":true},"headers":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"nullable":true},"path":{"type":"string","nullable":true},"endpoint":{"type":"string","nullable":true},"routeValues":{"type":"object","additionalProperties":{"type":"string"},"nullable":true}},"additionalProperties":false}},"additionalProperties":false}}}}},"deprecated":true}}},"components":{"securitySchemes":{"Bearer":{"type":"http","description":"🗝️ Admin Account\n\neyJhbGciOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNobWFjLXNoYTI1NiIsInR5cCI6IkpXVCJ9.eyJBY2NvdW50SWQiOiIxMTExMTExMS0xMTExLTExMTEtMTExMS0xMTExMTExMTExMTEiLCJVc2VybmFtZSI6ImFkbWluIiwiRW1haWwiOiJhZG1pbkB0cnVldGVzdC50ZWNoIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjpbIkNhbmRpZGF0ZSIsIkFkbWluIl0sIlBlcm1pc3Npb24iOlsiQWNjZXNzT3duRXhhbXMiLCJTdWJtaXRBbnN3ZXJzIiwiUnVuQ29kZSIsIk1hbmFnZU93blByb2ZpbGUiLCJNYW5hZ2VBY2NvdW50cyIsIlZpZXdFeGFtcyIsIk1hbmFnZUV4YW1zIiwiTWFuYWdlUXVlc3Rpb25zIiwiVmlld1N1Ym1pc3Npb25zIiwiUmV2aWV3U3VibWlzc2lvbiJdLCJleHAiOjQ4OTkwMzMxOTUsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3QiLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0In0.VBPngQIwsybHrwZPYMA5sNpWew3S9_W7cDdpAD4mDyM","scheme":"bearer","bearerFormat":"JWT"}}},"security":[{"Bearer":[]}]}
```

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

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

OpenAPI:

```json
{"openapi":"3.0.4","info":{"title":"TrueTest - API Documentation","version":"v1"},"servers":[{"url":"/api"}],"paths":{"/Review/Mcq/{examId}/{accountId}":{"get":{"tags":["Review"],"summary":"[Obsolete] Retrieves all MCQ submissions for a specific exam by a specific user.","description":"[Obsolete] Retrieves MCQ submissions for an exam of a user.","parameters":[{"name":"examId","in":"path","description":"The unique identifier of the exam.","required":true,"schema":{"type":"string","format":"uuid"}},{"name":"accountId","in":"path","description":"The unique identifier of the user's account.","required":true,"schema":{"type":"string","format":"uuid"}}],"responses":{"200":{"description":"OK","content":{"application/json":{"schema":{"type":"array","items":{"type":"object","properties":{"questionId":{"type":"string","format":"uuid"},"mcqSubmissionId":{"type":"string","format":"uuid"},"answerOptions":{"type":"string","nullable":true},"score":{"type":"number","format":"double","nullable":true}},"additionalProperties":false}}}}},"400":{"description":"Bad Request","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"errors":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"401":{"description":"Unauthorized","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"403":{"description":"Forbidden","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true}},"additionalProperties":false}}}},"500":{"description":"Internal Server Error","content":{"application/json":{"schema":{"type":"object","properties":{"type":{"type":"string","nullable":true},"title":{"type":"string","nullable":true},"status":{"type":"integer","format":"int32"},"detail":{"type":"string","nullable":true},"traceId":{"type":"string","nullable":true},"exception":{"type":"object","properties":{"details":{"type":"string","nullable":true},"headers":{"type":"object","additionalProperties":{"type":"array","items":{"type":"string"}},"nullable":true},"path":{"type":"string","nullable":true},"endpoint":{"type":"string","nullable":true},"routeValues":{"type":"object","additionalProperties":{"type":"string"},"nullable":true}},"additionalProperties":false}},"additionalProperties":false}}}}},"deprecated":true}}},"components":{"securitySchemes":{"Bearer":{"type":"http","description":"🗝️ Admin Account\n\neyJhbGciOiJodHRwOi8vd3d3LnczLm9yZy8yMDAxLzA0L3htbGRzaWctbW9yZSNobWFjLXNoYTI1NiIsInR5cCI6IkpXVCJ9.eyJBY2NvdW50SWQiOiIxMTExMTExMS0xMTExLTExMTEtMTExMS0xMTExMTExMTExMTEiLCJVc2VybmFtZSI6ImFkbWluIiwiRW1haWwiOiJhZG1pbkB0cnVldGVzdC50ZWNoIiwiaHR0cDovL3NjaGVtYXMubWljcm9zb2Z0LmNvbS93cy8yMDA4LzA2L2lkZW50aXR5L2NsYWltcy9yb2xlIjpbIkNhbmRpZGF0ZSIsIkFkbWluIl0sIlBlcm1pc3Npb24iOlsiQWNjZXNzT3duRXhhbXMiLCJTdWJtaXRBbnN3ZXJzIiwiUnVuQ29kZSIsIk1hbmFnZU93blByb2ZpbGUiLCJNYW5hZ2VBY2NvdW50cyIsIlZpZXdFeGFtcyIsIk1hbmFnZUV4YW1zIiwiTWFuYWdlUXVlc3Rpb25zIiwiVmlld1N1Ym1pc3Npb25zIiwiUmV2aWV3U3VibWlzc2lvbiJdLCJleHAiOjQ4OTkwMzMxOTUsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3QiLCJhdWQiOiJodHRwOi8vbG9jYWxob3N0In0.VBPngQIwsybHrwZPYMA5sNpWew3S9_W7cDdpAD4mDyM","scheme":"bearer","bearerFormat":"JWT"}}},"security":[{"Bearer":[]}]}
```
