Exam
Retrieves a list of all exams.
OK
Unauthorized
Forbidden
Internal Server Error
GET /api/Exam HTTP/1.1
Host:
Authorization: Bearer JWT
Accept: */*
[
{
"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"
}
]
Retrieves a specific exam along with all its associated questions.
The unique identifier of the exam to retrieve.
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
GET /api/Exam/{examId} 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"
},
"questions": {
"problem": [
{
"questionId": "123e4567-e89b-12d3-a456-426614174000",
"examId": "123e4567-e89b-12d3-a456-426614174000",
"questionType": "ProblemSolving",
"statementMarkdown": "text",
"points": 1,
"difficultyType": "Easy",
"testCases": [
{
"testCaseId": "123e4567-e89b-12d3-a456-426614174000",
"input": "text",
"output": "text"
}
]
}
],
"written": [
{
"questionId": "123e4567-e89b-12d3-a456-426614174000",
"examId": "123e4567-e89b-12d3-a456-426614174000",
"questionType": "ProblemSolving",
"hasLongAnswer": true,
"statementMarkdown": "text",
"score": 1,
"difficultyType": "Easy"
}
],
"mcq": [
{
"questionId": "123e4567-e89b-12d3-a456-426614174000",
"examId": "123e4567-e89b-12d3-a456-426614174000",
"questionType": "ProblemSolving",
"statementMarkdown": "text",
"score": 1,
"difficultyType": "Easy",
"mcqOption": {
"option1": "text",
"option2": "text",
"option3": "text",
"option4": "text",
"isMultiSelect": true,
"answerOptions": "text"
}
}
]
}
}
Creates a new exam based on the provided details.
OK
Bad Request
Unauthorized
Forbidden
Internal Server Error
POST /api/Exam/Create HTTP/1.1
Host:
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 148
{
"title": "text",
"description": "text",
"durationMinutes": 1,
"totalPoints": 1,
"opensAt": "2025-08-11T02:45:32.163Z",
"closesAt": "2025-08-11T02:45:32.163Z"
}
{
"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"
}
Updates the details of an existing exam.
OK
Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Internal Server Error
PATCH /api/Exam/Update HTTP/1.1
Host:
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 196
{
"examId": "123e4567-e89b-12d3-a456-426614174000",
"title": "text",
"description": "text",
"durationMinutes": 1,
"totalPoints": 1,
"opensAt": "2025-08-11T02:45:32.163Z",
"closesAt": "2025-08-11T02:45:32.163Z"
}
{
"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"
}
Publishes an exam, making it available to candidates.
The unique identifier of the exam to publish.
OK
Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Internal Server Error
POST /api/Exam/Publish HTTP/1.1
Host:
Authorization: Bearer JWT
Accept: */*
No content
Invites a list of candidates to participate in a specific exam.
OK
Bad Request
Unauthorized
Forbidden
Not Found
Internal Server Error
POST /api/Exam/Invite/Candidates HTTP/1.1
Host:
Authorization: Bearer JWT
Content-Type: application/json
Accept: */*
Content-Length: 67
{
"examId": "123e4567-e89b-12d3-a456-426614174000",
"emails": [
"text"
]
}
No content
Deletes a specific exam.
The unique identifier of the exam to delete.
OK
Bad Request
Unauthorized
Forbidden
Not Found
Conflict
Internal Server Error
DELETE /api/Exam/Delete/{examId} HTTP/1.1
Host:
Authorization: Bearer JWT
Accept: */*
No content