Contract
4.2.0
Tool contract 4.2.0
Badges as a player says them (Jamie, 2026-09-19: the milestone mail read 'MasterySkeletonWarriors (level 5)'; it is Guards Mastery). The API names a badge by Supercell's internal identifier and carries no display name, so every surface that says a badge now carries a label beside the identifier.
elixir_timeline: thebadge_earnedandlegendary_badge_earneditems gainfacts.badge_label(facts.badgestays the identifierbadges_holdersmatches on), and their text reads "took Guards Mastery to level 5" or "earned Beating Death".players_profile.badges[]gainslabel;badges_rarity.badges[]andbadges_holdersgainlabel.- Mastery badges resolve the card's internal codename to its shown name (
AxeManis Executioner,RageBarbarianis Lumberjack,SkeletonWarriorsis Guards); dated badges say the month (SeasonalBadge_202509is Season September 2025).
Additive.