https://online-quiz-game.onrender.com/
Endpoint(URL): /api/v1/auth/register
Request Method: POST
Request Body
{
"username": <USERNAME>,
"email": <EMAIL>,
"password": <PASSWORD>
}
Success Response Body
{
"success": "true",
"user": {
"id": <ID>,
"username": <USERNAME>
}
}
Failure Response Body (Bad Request)
{
"success": "false",
"message": "Please provide username, email, password!"
}
Endpoint(URL): /api/v1/auth/login
Request Method: POST
Request Body
{
"email": <EMAIL>,
"password": <PASSWORD>
}
Success Response Body
{
"success": "true",
"user": {
"id": <ID>,
"username": <USERNAME>
}
}
Failure Response Body (Unauthorized Error)
Email Not Found:
{
"success": "false",
"message": "Invalid Credentials!"
}
Incorrect Password:
{
"success": "false",
"message": "Incorrect password!"
}
Failure Response Body (Bad Request)
No password or email provided:
{
"success": "false",
"message": "Please provide valid email and password!"
}
Endpoint(URL): `/api/v1/quizzes
Request Method: GET
Success Response Body
{
"success": "true",
"quizzes": [
{
"id": <ID1>,
"category": <CATEGORY>,
"question": <QUESTION>,
"options": [
{
"option": <OPTION1>,
"isCorrect": <BOOLEAN>
},
{
"option": <OPTION2>,
"isCorrect": <BOOLEAN>
},
{
"option": <OPTION3>,
"isCorrect": <BOOLEAN>
},
{
"option": <OPTION4>,
"isCorrect": <BOOLEAN>
}
]
},
{
"id": <ID2>,
"category": <CATEGORY>,
"question": <QUESTION>,
"options": [
{
"option": <OPTION1>,
"isCorrect": <BOOLEAN>
},
{
"option": <OPTION2>,
"isCorrect": <BOOLEAN>
},
{
"option": <OPTION3>,
"isCorrect": <BOOLEAN>
},
{
"option": <OPTION4>,
"isCorrect": <BOOLEAN>
}
]
}
]
}
Endpoint(URL): /api/v1/quizzes
Request Method: POST
Request Body
{
"category": <CATEGORY>,
"question": <QUESTION>,
"options": [
{
"option": <OPTION1>,
"isCorrect": <BOOLEAN>
},
{
"option": <OPTION2>,
"isCorrect": <BOOLEAN>
},
{
"option": <OPTION3>,
"isCorrect": <BOOLEAN>
},
{
"option": <OPTION4>,
"isCorrect": <BOOLEAN>
}
]
}
Success Response Body
{
"success": "true",
"quiz": {
"id": <ID>,
"category": <CATEGORY>,
"question": <QUESTION>,
"options": [
{
"option": <OPTION1>,
"isCorrect": <BOOLEAN>
},
{
"option": <OPTION2>,
"isCorrect": <BOOLEAN>
},
{
"option": <OPTION3>,
"isCorrect": <BOOLEAN>
},
{
"option": <OPTION4>,
"isCorrect": <BOOLEAN>
}
]
}
}
Failure Response Body
No question provided:
{
"success": "false",
"message": "Please provide a question!"
}
No answers provided:
{
"success": "false",
"message": "Please provide all answers!"
}
Endpoint(URL): /api/v1/quizzes/:id
Request Method: GET
Success Response Body
{
"success": "true",
"quiz": {
"id": <ID>,
"category": <CATEGORY>,
"question": <QUESTION>,
"options": [
{
"option": <OPTION1>,
"isCorrect": <BOOLEAN>
},
{
"option": <OPTION2>,
"isCorrect": <BOOLEAN>
},
{
"option": <OPTION3>,
"isCorrect": <BOOLEAN>
},
{
"option": <OPTION4>,
"isCorrect": <BOOLEAN>
}
]
}
}
Failure Response Body (Not Found)
{
"success": "false",
"message": "There is no quiz with ID <ID>!"
}
Failure Response Body (Bad Request)
{
"success": "false",
"message": "ID syntax is not correct: Provide a valid ID please!"
}
Endpoint(URL): /api/v1/quizzes/:id
Request Method: PUT
Request Body
{
"category": <CATEGORY>,
"question": <QUESTION>,
"options": [
{
"option": <OPTION1>,
"isCorrect": <BOOLEAN>
},
{
"option": <OPTION2>,
"isCorrect": <BOOLEAN>
},
{
"option": <OPTION3>,
"isCorrect": <BOOLEAN>
},
{
"option": <OPTION4>,
"isCorrect": <BOOLEAN>
}
]
}
Success Response Body
{
"success": "true",
"quiz": {
"id": <ID>,
"category": <CATEGORY>,
"question": <QUESTION>,
"answers": [
{
"option": <OPTION1>,
"isCorrect": <BOOLEAN>
},
{
"option": <OPTION2>,
"isCorrect": <BOOLEAN>
},
{
"option": <OPTION3>,
"isCorrect": <BOOLEAN>
},
{
"option": <OPTION4>,
"isCorrect": <BOOLEAN>
}
]
}
}
Failure Response Body (Not Found)
{
"success": "false",
"message": "There is no quiz with ID <ID>!"
}
Failure Response Body (Bad Request)
{
"success": "false",
"message": "ID syntax is not correct: Provide a valid ID please!"
}
Endpoint(URL): /api/v1/quizzes/:id
Request Method: PUT
Success Response Body
{
"success": "true",
"message": "Quiz with ID <ID> has been deleted successfully"
}
Failure Response Body (Not Found)
{
"success": "false",
"message": "There is no quiz with ID <ID>!"
}
Endpoint(URL): /api/v1/solo-games/start
Request Method: POST
Request Body
{
"category": <CATEGORY>
}
Success Response Body
{
"success": "true",
"quizzes": [
{
"id": <ID1>,
"category": <CATEGORY>,
"question": <PATHNAME>,
"options": [
{
"option": <OPTION1>,
"isCorrect": <BOOLEAN>
},
{
"option": <OPTION2>,
"isCorrect": <BOOLEAN>
},
{
"option": <OPTION3>,
"isCorrect": <BOOLEAN>
},
{
"option": <OPTION4>,
"isCorrect": <BOOLEAN>
}
]
},
{
"id": <ID2>,
"category": <CATEGORY>,
"question": <PATHNAME>,
"options": [
{
"option": <OPTION1>,
"isCorrect": <BOOLEAN>
},
{
"option": <OPTION2>,
"isCorrect": <BOOLEAN>
},
{
"option": <OPTION3>,
"isCorrect": <BOOLEAN>
},
{
"option": <OPTION4>,
"isCorrect": <BOOLEAN>
}
]
},
...
]
}
Endpoint(URL): /api/v1/solo-games/end
Request Method: PUT
Request Body
{
"score": <SCORE>,
"quizzes": [
{
"quizId": <QUIZID>,
"answer": <ANSWER>
},
{
"quizId": <QUIZID>,
"answer": <ANSWER>
},
...
],
}
Success Response Body
{
"success": "true",
"game": {
score: <SCORE>,
"quizzes": [
{
"quizId": <QUIZID>,
"rightAnswer": <ANSWER>
},
{
"quizId": <QUIZID>,
"rightAnswer": <ANSWER>
},
...
]
}
}