{
  "apiOverview" : "Welcome to leetcode-stats-api! This is a custom API wrapper for LeetCode data, providing stable, well-documented endpoints.",
  "apiDocumentationLink" : "https://github.com/rajat069/leetcode-stats-api/blob/main/README.md",
  "routes" : {
    "userDetails" : {
      "description" : "Endpoints for retrieving detailed user profile information.",
      "Method" : "GET",
      "endpoints" : {
        "/users/{username}/profile" : "Get question progress (accepted, failed, untouched).",
        "/users/{username}/languageStats" : "Get stats on languages used and problems solved per language.",
        "/users/{username}/publicInfo" : "Get public profile info (avatar, ranking, social links).",
        "/users/{username}/badges" : "Get a list of badges earned by the user.",
        "/users/{username}/userSkillStats" : "Get advanced, intermediate, and fundamental skill stats.",
        "/users/{username}/recentUserSubmissions/{limit}" : "Get the {limit} most recent AC submissions.",
        "/users/{username}/userCalendarStats/{year}" : "Get submission calendar, streak, and active days for a given {year}."
      }
    },
    "userContests" : {
      "description" : "Endpoints for retrieving user contest history and rankings.",
      "Method" : "GET",
      "endpoints" : {
        "/users/{username}/contests/" : "Get user contest ranking and full contest history.",
        "/users/{username}/contests/ranking" : "Get just the user's contest ranking details.",
        "/users/{username}/contests/bestRanking" : "Get the user's single best-ranking contest performance.",
        "/users/{username}/contests/rankingHistory" : "Get the user's entire contest history.",
        "/users/{username}/contests/contest-name/{contestTitle}" : "Find contest history by matching part of a {contestTitle}.",
        "/users/{username}/contests/hasAttended/{attended}" : "Filter history by attendance (true or false).",
        "/users/{username}/contests/trendDirection/{direction}" : "Filter history by rating trend (UP, DOWN, NONE).",
        "/users/{username}/contests/problemSolvedGTE/{count}" : "Filter history for contests where problems solved were >= {count}.",
        "/users/{username}/contests/finishTime/{timeInSeconds}" : "Filter history for contests finished in less than {timeInSeconds}.",
        "/users/{username}/contests/biggestJumpInRating" : "Get the contest with the user's biggest rating increase."
      }
    },
    "questions" : {
      "description" : "Endpoints for fetching and searching questions from the local database.",
      "endpoints" : {
        "/questions/ (GET)" : "Get a paginated list of all questions. Supports ?page=, &size=, &sort=.",
        "/questions/potd (GET)" : "Get the current LeetCode Problem of the Day (POTD).",
        "/questions/search (POST)" : "A powerful search endpoint to filter questions. See README for request body."
      }
    },
    "globalContests" : {
      "description" : "Endpoints for retrieving global contest data.",
      "Method" : "GET",
      "endpoints" : {
        "/globalContestInfo/fetchContests" : "Get a paginated list of all global contests from the local database."
      }
    }
  }
}