Rank history
LP and tier per ranked match — season/patch/view filters.
GET
/api/lol/{shard}/profile/{puuid}/rank-historyRank history
Path params
Query params
Request
https://api.safjnest.com/api/lol/EUW1/profile/{puuid}/rank-history?queue=RANKED_SOLO_5X5&sort=timeStart%3Adesccurl "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:
200RankHistory
| Parameter | Position | Default | Validation | Notes |
|---|---|---|---|---|
shard | path | — | requiredShard | |
puuid | path | — | requiredText | |
queue | query | RANKED_SOLO_5X5 | rankHistoryQueue :61 | only RANKED_SOLO_5X5 / RANKED_FLEX_SR / TEAM_BUILDER_RANKED_SOLO |
view | query | null | rankHistoryView :110 | only profile, mutually exclusive with season/patch/timeStart/timeEnd |
season | query | null | SeasonUtils.getSeasonRange(season) :93 | year e.g. 2024 |
patch | query | null | patch :103 + SeasonUtils :96 | major.minor e.g. 15.6 |
timeStart | query | 0 | >=0 | |
timeEnd | query | 0 | >=0 | |
sort | query | timeStart:desc | matchOrder :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"
