POST /register
📥 Request Body:
{
"username": "karan",
"email": "[email protected]",
"password": "securepass"
}
📤 Response:
201:
{
"message": "User successfully registered."
}
400:
{
"message": "All fields required."
}
409:
{
"message": "Username or email already exists."
}
POST /login
📥 Request Body:
{
"username": "karan",
"password": "securepass"
}
📤 Response:
202:
{
"accessToken": "..."
}
400:
{
"message": "Incomplete fields"
}
401:
{
"message": "Username does not exist"
}
GET /refresh
🔐 Requires Auth Header
Headers:
Authorization: Bearer <access_token>
Cookie: jwt
📤 Response:
200:
{
"accessToken": "..."
}
401:
{
"message": "Unauthorized"
}
POST /logout
🔐 Requires Auth Header
Headers:
Authorization: Bearer <access_token>
Cookie: jwt
📤 Response:
200:
{
"message": "Logout successful"
}
POST /generate
🔐 Requires Auth Header
Headers:
Authorization: Bearer <access_token>
📥 Request Body:
{
"input": "string manipulation problem"
}
📤 Response:
200:
{
"id": "generated_question_id"
}
400:
{
"message": "Missing input"
}
GET /question
🔐 Requires Auth Header
Headers:
Authorization: Bearer <access_token>
📤 Response:
200:
[
{
"title": "...",
"description": "...",
"status": "solved"
}
]
GET /question/:id
🔐 Requires Auth Header
Headers:
Authorization: Bearer <access_token>
📤 Response:
200:
{
"title": "...",
"description": "...",
"testCases": []
}
POST /run
🔐 Requires Auth Header
Headers:
Authorization: Bearer <access_token>
📥 Request Body:
{
"language": "python",
"code": "print('Hello')",
"questionID": "12345"
}
📤 Response:
200:
{
"results": [
{
"input": "...",
"expected": "...",
"status": "Accepted",
"passed": true
}
]
}
POST /submit
🔐 Requires Auth Header
Headers:
Authorization: Bearer <access_token>
📥 Request Body:
{
"language": "cpp",
"code": "int main(){}",
"questionID": "12345"
}
📤 Response:
200:
{
"results": [
{
"input": "...",
"passed": true
}
]
}
GET /submit/all
🔐 Requires Auth Header
Headers:
Authorization: Bearer <access_token>
📥 Request Body:
{
"questionID": "12345"
}
📤 Response:
200:
{
"submissions": []
}
GET /stats/:username
🔐 Requires Auth Header
Headers:
Authorization: Bearer <access_token>
📤 Response:
200:
{
"stats": {
"totalQuestions": 10,
"solvedQuestions": 5,
"languagesUsed": {
"C": 2,
"Cpp": 3,
"Java": 1,
"Python": 4
}
}
}