The Students API is the core resource of SkillSync. It lets you create, read, update, and delete student records, each of which stores profile information alongside live Codeforces data — ratings, rank, contest history, and recent submissions. All student endpoints are mounted underDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/aakash811/Student-Progress-Tracker/llms.txt
Use this file to discover all available pages before exploring further.
/api/students and return JSON.
Base URL
All student endpoints share the same base path:Student object
Every response that returns a student record uses the following shape.MongoDB ObjectId uniquely identifying this student record.
The student’s full name.
The student’s email address. Must be unique across all records.
The student’s phone number.
The student’s Codeforces username. Used to fetch ratings, contest history, and submissions.
The student’s current Codeforces rating. Defaults to
0 for unrated users.The student’s Codeforces rank label (e.g.,
"Newbie", "Pupil", "Expert", "Legendary Grandmaster"). Defaults to "Newbie".The highest Codeforces rating the student has ever achieved. Defaults to
0.Timestamp of when the student’s Codeforces data was last fetched and stored.
Timestamp of the student’s most recent accepted submission on Codeforces.
null if no accepted submission has been recorded.The number of inactivity reminder emails sent during the current inactive streak. Resets when the student submits again.
When
true, the automated inactivity reminder system will not send emails to this student.Array of contest rating-change objects sourced from the Codeforces API. Each element represents one rated contest the student participated in.
Array of submission objects from the Codeforces API, capped at the most recent 10,000 submissions.
Mongoose-managed timestamp set when the document is first created.
Mongoose-managed timestamp updated automatically on every save.
Endpoints
| Method | Path | Description |
|---|---|---|
GET | /api/students | List all students |
GET | /api/students/:id | Get a single student by ID |
POST | /api/students | Create a new student |
PUT | /api/students/:id | Update a student’s fields |
PUT | /api/students/:id/toggle-reminder | Enable or disable email reminders |
DELETE | /api/students/:id | Delete a student |
Creating or updating a student with a new
codeforcesHandle triggers an immediate Codeforces data sync. The response will include the freshly fetched ratings, contest history, and submissions rather than the default empty values.