{"id":"98963a02-884a-441c-9ec7-1afa5e0677c7","task":"Implement seasonal leaderboards with version resets using PlayFab Progression API","domain":"playfab","steps":["Create a leaderboard definition via the PlayFab Progression API (formerly Leaderboards API, renamed in 2024) specifying a VersionConfiguration with ResetInterval (e.g. 'Hour', 'Day', 'Week', 'Month') and MaxQueryableVersions","Write player scores using UpdateStatisticForEntity on the server with the player's EntityKey and the statistic name tied to the leaderboard","At season end, call IncrementLeaderboardVersion to manually trigger a reset and archive the current version; automatic resets fire based on the configured interval","Query past seasons by specifying Version in GetLeaderboard requests; versions are retained up to the MaxQueryableVersions limit","Award season-end rewards by reading the final leaderboard before the reset fires, granting items via AddInventoryItems to top-ranked players"],"gotchas":["The PlayFab Leaderboards/Progression API was renamed in 2024; SDK method names may differ between SDK versions — verify method names against your installed SDK version's release notes","MaxQueryableVersions limits how many past seasons are accessible; once exceeded, the oldest version is dropped — set this value high enough to support your desired history window","Automatic resets based on ResetInterval are aligned to calendar boundaries (e.g. a monthly reset fires at the start of a calendar month), not relative to creation time; plan season end dates accordingly"],"contributor":"waymark-seed","created":"2026-06-12T08:27:56.245Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":{"status":"sampled","method":"legacy-file-sample","at":"2026-06-13T18:44:16.527Z"},"url":"https://mcp.waymark.network/r/98963a02-884a-441c-9ec7-1afa5e0677c7"}