Skip to main content

Level history

GET/api/v1/players/{username}/level-history/

How a player's level grew: each time a new highest level showed up in their replays, and the highest level on every day they were in one. Good for charts and "levelled up this month" badges.

The username rules are the same as get a player.

Request​

curl https://bonkverse.io/api/v1/players/comet/level-history/ \
-H "Authorization: Bearer $BONKVERSE_API_KEY"

Response​

{
"ok": true,
"data": {
"username": "Comet",
"current_level": 87,
"peak_level": 87,
"level_ups": [
{
"level": 86,
"day": "2026-10-30",
"at": null,
"replay": { "cycle": 6, "id": "301877" }
},
{
"level": 87,
"day": "2026-11-08",
"at": "2026-11-08T03:00:00Z",
"replay": { "cycle": 6, "id": "344124" }
}
],
"days": [
{ "day": "2026-10-30", "level": 86 },
{ "day": "2026-11-08", "level": 87 }
]
}
}
FieldType
current_levelintegerLevel in their latest replay
peak_levelintegerHighest level seen
level_ups[]array, oldest firstEach new highest level
level_ups[].levelintegerThe new level
level_ups[].dayYYYY-MM-DDDay of the first replay showing it
level_ups[].atISO 8601 time or nullExact time, for replays collected live
level_ups[].replay{cycle, id}That replay
days[]array, oldest firstHighest level on each day they were in a replay

A level-up is when a level was first seen, not the moment it happened: if someone plays in rooms Bonkverse doesn't archive, it shows up the next time they're in one. The first replay ever is never a level-up.

Errors​

Statuserror
403player_privateThey hid their Level section on Bonkverse
404player_not_foundNo replays for that registered name
503upstream_unavailableThe replay archive didn't answer

Players with tens of thousands of replays can take a few seconds the first time; use a timeout of 15 seconds or more.