IodidDOCUMENTATION

api/profile/rank-history.mdx

/doc/api/profile/rank-history

PUBLIC DOCUMENTATION

Rank history

LP and tier per ranked match — season/patch/view filters.

GET/api/lol/{shard}/profile/{puuid}/rank-history

Rank history

Path params

Query params

Request
https://api.safjnest.com/api/lol/EUW1/profile/{puuid}/rank-history?queue=RANKED_SOLO_5X5&sort=timeStart%3Adesc
curl "https://api.safjnest.com/api/lol/EUW1/profile/{puuid}/rank-history?queue=RANKED_SOLO_5X5&sort=timeStart%3Adesc"

Missing required: puuid

CORS enabled (*) — runs directly in your browser against https://api.safjnest.com

GET /api/lol/{shard}/profile/{puuid}/rank-history

History of rank progression (LP and tier per ranked match).

  • Controller: LolController.java:130 → LolApiParameters.rankHistoryQuery (:70) → MatchService.getRankHistory(puuid, shard, query) (:153)
  • Response: 200 RankHistory
ParameterPositionDefaultValidationNotes
shardpath—requiredShard
puuidpath—requiredText
queuequeryRANKED_SOLO_5X5rankHistoryQueue :61only RANKED_SOLO_5X5 / RANKED_FLEX_SR / TEAM_BUILDER_RANKED_SOLO
viewquerynullrankHistoryView :110only profile, mutually exclusive with season/patch/timeStart/timeEnd
seasonquerynullSeasonUtils.getSeasonRange(season) :93year e.g. 2024
patchquerynullpatch :103 + SeasonUtils :96major.minor e.g. 15.6
timeStartquery0>=0
timeEndquery0>=0
sortquerytimeStart:descmatchOrder :222

Mutually exclusive: view not with season/patch/timeStart/timeEnd; patch not with view/season.

Response: RankHistory (src/main/java/com/safjnest/lol/model/match/RankHistory.java):

java
public record RankHistory(List<RankHistoryMatch> matches, RankHistoryMetadata metadata) {}

curl

bash
curl "https://api.safjnest.com/api/lol/EUW1/profile/abc-puuid/rank-history?queue=RANKED_SOLO_5X5&season=2024&sort=timeStart:asc"
curl "https://api.safjnest.com/api/lol/EUW1/profile/abc-puuid/rank-history?patch=15.6&queue=RANKED_SOLO_5X5"