Leaderboard
POST
/api/leaderboard.php
Get ranked leaderboard (requires API TOKEN)
POST
/api/leaderboard.php
Request:
$ curl -X POST "/api/leaderboard.php" \
-H "X-Api-Token: API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"sort_by": ["level"],
"limit": 10
}'
Response:
{
"success": true,
"leaderboard": [
{
"rank": 1,
"player_id": 33,
"player_name": "GameHost",
"player_data": {
"level": 15,
"rank": "platinum",
"role": "host",
"last_played": "2026-03-13T14:28:06.9900113Z",
"matchmaking_status": "ready"
}
},
{
"rank": 2,
"player_id": 35,
"player_name": "Player2",
"player_data": {
"level": 12,
"rank": "gold",
"role": "player"
}
},
{
"rank": 3,
"player_id": 34,
"player_name": "Player1",
"player_data": {
"level": 8,
"rank": "silver",
"role": "player"
}
},
{
"rank": 4,
"player_id": 36,
"player_name": "Player3",
"player_data": {
"level": 6,
"rank": "bronze",
"role": "player"
}
}
],
"total": 4,
"sort_by": ["level"],
"limit": 10
}
POST
/api/leaderboard.php
Request:
$ curl -X POST "/api/leaderboard.php" \
-H "X-Api-Token: API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"sort_by": ["level", "score"],
"limit": 10
}'
Response:
{
"success": true,
"leaderboard": [
{
"rank": 1,
"player_id": 40,
"player_name": "TestPlayer4",
"player_data": {
"level": 20,
"score": 1000,
"inventory": []
}
},
{
"rank": 2,
"player_id": 37,
"player_name": "TestPlayer1",
"player_data": {
"level": 15,
"score": 4500,
"inventory": ["sword"]
}
},
{
"rank": 3,
"player_id": 38,
"player_name": "TestPlayer2",
"player_data": {
"level": 15,
"score": 2000,
"inventory": ["sword", "shield"]
}
},
{
"rank": 4,
"player_id": 41,
"player_name": "TestPlayer5",
"player_data": {
"level": 12,
"inventory": ["staff"]
}
},
{
"rank": 5,
"player_id": 39,
"player_name": "TestPlayer3",
"player_data": {
"level": 8,
"score": 3000,
"inventory": ["bow"]
}
}
],
"total": 5,
"sort_by": ["level", "score"],
"limit": 10
}
POST
/api/leaderboard.php
Request:
$ curl -X POST "/api/leaderboard.php" \
-H "X-Api-Token: API_TOKEN" \
-H "Content-Type: application/json" \
-d '{
"sort_by": ["score", "level"],
"limit": 10
}'
Response:
{
"success": true,
"leaderboard": [
{
"rank": 1,
"player_id": 37,
"player_name": "TestPlayer1",
"player_data": {
"level": 15,
"score": 4500,
"inventory": ["sword"]
}
},
{
"rank": 2,
"player_id": 39,
"player_name": "TestPlayer3",
"player_data": {
"level": 8,
"score": 3000,
"inventory": ["bow"]
}
},
{
"rank": 3,
"player_id": 38,
"player_name": "TestPlayer2",
"player_data": {
"level": 15,
"score": 2000,
"inventory": ["sword", "shield"]
}
},
{
"rank": 4,
"player_id": 40,
"player_name": "TestPlayer4",
"player_data": {
"level": 20,
"score": 1000,
"inventory": []
}
},
{
"rank": 5,
"player_id": 41,
"player_name": "TestPlayer5",
"player_data": {
"level": 12,
"inventory": ["staff"]
}
}
],
"total": 5,
"sort_by": ["score", "level"],
"limit": 10
}