The stats endpoint computes and returns a comprehensive analytics snapshot for a student based on their Codeforces submission history. All metrics are derived from submissions cached in Redis and stored in MongoDB — no live Codeforces API call is made unless the submission cache has expired. Results can be scoped to a rolling time window using theDocumentation 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.
days query parameter.
Request
Path parameters
The student’s Codeforces username.
Query parameters
The time window over which to compute statistics. Accepted values:
"7", "30", "90", "365", or "all". When set to "all", all submissions on record are included regardless of date.Response fields
Count of unique accepted problems within the time window. Deduplication is based on
contestId + problemIndex.The highest-rated accepted problem in the window.
A map of rating bucket to the number of accepted problems in that bucket. Buckets are rounded down to the nearest 100 (e.g.,
"800", "1000", "1200"). Problems without a rating are placed in bucket "0".Total unique solved problems divided by the number of days in the window, formatted to two decimal places (e.g.,
"2.50").Total number of submissions (all verdicts) within the time window.
A map of date strings (
YYYY-MM-DD) to daily submission counts.Deduplicated array of accepted problems in the window.
Per-tag analytics derived from deduplicated solved problems, sorted by
solved descending.A 0–100 score reflecting submission regularity. Computed as
min(100, round(activeDays * 0.45 + avgPerDay * 12 + longestStreak * 2)), where activeDays is days with at least one submission, avgPerDay is submissions per active day, and longestStreak is the longest consecutive-day streak.A label summarising the student’s problem-solving profile. One of:
"Legendary Problem Hunter"— hardest accepted problem rated ≥ 3000"High Difficulty Explorer"— hardest accepted problem rated ≥ 2200"Consistency Grinder"— consistency score ≥ 75"Dedicated Solver"— total solved ≥ 500"Casual Problem Solver"— all other cases
Monthly breakdown of problem-solving difficulty, sorted chronologically.
Up to 5 topics where the student has the lowest acceptance rates, limited to tags with at least 5 attempts, sorted by acceptance ascending.
Change in average accepted problem rating from the first month to the most recent month in
skillProgression. Positive values indicate increasing problem difficulty over time. Returns 0 if fewer than two months of data are available.true if total submissions in the most recent 7 days are less than 50% of submissions in the 7 days before that, and at least 14 days of heatmap data exist. false otherwise.An estimated Codeforces rating computed as
round(hardestRating + consistencyScore * 0.8 + learningVelocity * 0.25), where hardestRating is the rating of the hardest accepted problem.Example request
Example response
Error responses
| Status | Cause |
|---|---|
500 | Stats computation failed — submission data unavailable or unexpected server error |