Skip to main content

GET /api/leaderboard

Returns a paginated list of users ranked by Aura points, highest first. Users with equal Aura points receive the same rank (dense ranking). No authentication is required.

Query parameters

page
number
default:"1"
Page number to retrieve. Must be a positive integer. Defaults to 1.
limit
number
default:"20"
Number of entries to return per page. Must be a positive integer. Defaults to 20.

Response

success
boolean
required
true when the request succeeded.
data
LeaderboardEntry[]
required
Array of ranked user entries for the requested page.
pagination
object
required
Pagination metadata for the result set.

Error responses

StatusDescription
400Invalid query parameter value (e.g. non-numeric page or limit).

Example

curl "http://localhost:3000/api/leaderboard?page=1&limit=20"
{
  "success": true,
  "data": [
    {
      "userId": 42,
      "userName": "Jane Smith",
      "userEmail": "[email protected]",
      "auraPoints": 1500,
      "streak": 7,
      "completionsCount": 12,
      "rank": 1
    },
    {
      "userId": 17,
      "userName": "Alex Lee",
      "userEmail": "[email protected]",
      "auraPoints": 1200,
      "streak": 3,
      "completionsCount": 9,
      "rank": 2
    }
  ],
  "pagination": {
    "page": 1,
    "limit": 20,
    "total": 84,
    "totalPages": 5
  }
}

Build docs developers (and LLMs) love