Skip to main content

Hearthstone Game Events

Please read the overwolf.games.events documentation page to learn how to use Overwolf game events.

Game ID

9898

Sample Apps

Available Features

Game events status

It is highly recommended to communicate errors and warnings to your app users. Check game event status here, or easily check game events status from your app using our API.

gep_internal

Info Updates

keyCategoryValuesNotesSince GEP Ver.
gep_internalgep_internalLocal + Public version numberSee notes143.0

gep_internal note

Data Example:

{"info":{"gep_internal":{"version_info":"{"local_version":"157.0.1","public_version":"157.0.1","is_updated":true}"}},"feature":"gep_internal"}

collection

Info Updates

keyCategoryValuesNotesSince GEP Ver.
collectiongame_infoCurrent card collection of the local player.See notes117.1

collection note

  • The “collection” data is available as soon as the player logs into Hearthstone.
  • The collection is updated whenever the user adds/removes a card.

Example for cards "collection":

{ CS2_065: "{"id" : "CS2_065", "count" : "1", "premiumCount" : "0" }",
CS1_113: "{"id" : "CS1_113", "count" : "2", "premiumCount" : "0" }",
NEW1_011: "{"id" : "NEW1_011", "count" : "2", "premiumCount" : "0" }",
EX1_131: "{"id" : "EX1_131", "count" : "1", "premiumCount" : "2" }",
CS2_121: "{"id" : "CS2_121", "count" : "2", "premiumCount" : "0" }",

}

"Card" structure:

{ "id" : "card_id" , "count" : "int" , "premiumCount" : "int" }

  • “id” – The card’s id
  • “count” – The number of regular cards
  • “premiumCount” – The number of premium (golden) cards

scene_state

Info Updates

keyCategoryValuesNotesSince GEP Ver.
scene_stategame_infoCurrent game scene.See notes117.1

scene_state note

Can be one of the following:

  • scene_startup
  • scene_login
  • scene_hub
  • scene_gameplay
  • scene_collectionmanager
  • scene_packs
  • scene_tournament
  • scene_friendly
  • scene_fatal_error
  • scene_draft
  • scene_credits
  • scene_reset
  • scene_adventure
  • scene_tavern_brawl

decks

Info Updates

keyCategoryValuesNotesSince GEP Ver.
[deck_id]decksThe “decks” feature provides data about the currently “visible” decks.See notes119.1
selected_deckselected_deckThe selected deck.See notes119.1
Adventure DeckdecksThe currently played deck on adventure mode.See notes143.0
adventure_loot_optionsdecksThe currently offered 3-option draft (between bosses)See notes143.0

deck_id note

The key is the deck's deck_id string. It is not the literal string "deck_id". See example below.

Decks are “visible” when the local player starts a new game, during the “deck selection” screen, or when the local player enters the “My Collection” menu. The following data is being provided for each deck:

  • Deck name / id
  • Deck cards (array of cards)
  • Deck key

“Card” structure:

{ "id" : "card_id", "count" : "int", "premiumCount" : "int" }

  • “id” – The card's id
  • “count” – The number of regular cards
  • “premiumCount” – The number of premium (golden) cards

Example for a “deck_id” info-update structure:

{
"info":{
"decks":{
"Mage":"{
\"deck_id\":\"Mage\",
\"cards\":[
{\"id\":\"BOT_573\",\"count\":1,\"premiumCount\":0},
{\"id\":\"CS2_024\",\"count\":2,\"premiumCount\":0},
{\"id\":\"CS2_033\",\"count\":1,\"premiumCount\":0},
...
{\"id\":\"UNG_845\",\"count\":1,\"premiumCount\":0},
{\"id\":\"UNG_941\",\"count\":1,\"premiumCount\":0}
],
\"deck_key\":\"adventure_deck\"
}"
}
},
"feature":"decks"
}

Arena Decks

Arena Decks, unlike standard decks, will be updated each time the local player chooses a card during the Arena Draft phase.

selected_deck note

The following data is provided when the local player selects a deck:

  • “deck_id”
  • “deck_name”
  • “class_skin” – Deck image name

Example for a “selected deck” structure:

{"feature":"decks","category":"selected_deck","key":"selected_deck","value": "{"deck_id":"706741699","deck_name":"Basic Shaman","class_skin":"Thrall" }

adventure deck note

Data Example:

{
"info":{
"decks":{
"Adventure Deck":"{
"deck_id":"Adventure Deck",
"cards":[
{"id":"BOT_573","count":1,"premiumCount":0},
{"id":"CS2_024","count":2,"premiumCount":0},
{"id":"CS2_033","count":1,"premiumCount":0},
...
{"id":"UNG_845","count":1,"premiumCount":0},
{"id":"UNG_941","count":1,"premiumCount":0}
],
"deck_key":"adventure_deck"
}"
}
},
"feature":"decks"
}

adventure_loot_options note

Data Example:

{
"info":{
"decks":{
"adventure_loot_options":"[
{"deck_id":"option_a","cards":[
{"id":"EX1_279","count":1,"premiumCount":0},
{"id":"EX1_559","count":1,"premiumCount":0},
{"id":"GVG_001","count":1,"premiumCount":0}
]
},
{"deck_id":"option_b","cards":[
{"id":"AT_090","count":1,"premiumCount":0},
{"id":"AT_099","count":1,"premiumCount":0},
{"id":"AT_119","count":1,"premiumCount":0}
]
},
{"deck_id":"option_c","cards":[
{"id":"CS2_028","count":1,"premiumCount":0},
{"id":"EX1_295","count":1,"premiumCount":0},
{"id":"GIL_801","count":1,"premiumCount":0}
]
}
]"
}
},
"feature":"decks"
}

match

Info Updates

keyCategoryValuesNotesSince GEP Ver.
localPlayerplayersInfoSee notes123.0
opponentplayersInfoSee notes123.0
match_typematch_infoThe type of the current match.See notes134.0
battlegrounds_ratingmatch_infoThe local player's BG rating.See notes143.0
adventure_statsmatch_infoThe stats of the current adventure run.See notes143.0

localPlayer note

  • "name" – name of local player
  • "standardRank" – rank of the player in Constructed Standard mode (string)
  • "standardLegendRank" – rank of the player in Constructed Standard mode, once he reached Legend (int)
  • "wildRank" – rank of the player in Constructed Wild mode (int)
  • "wildLegendRank"– rank of the player in Constructed Wild mode, once he reached Legend (int)
  • "cardBackId" – ID of the card back used in the current game (int)
  • "cardId" – ID of the card representing the hero (string)
{"playersInfo":{"localPlayer":"{"name":"Overwolf","standardRank":"Bronze 10","standardLegendRank":0,"wildRank":0,"wildLegendRank":0,"cardBackId":157,"cardId":"HERO_05"}"}`

opponent note

  • "name" – name of the opponent
  • "standardRank" – The rank of the player in Constructed, in Standard mode (string)
  • "standardLegendRank"– The rank of the player in Constructed, in Standard mode, once he reached Legend (int)
  • "wildRank" – The rank of the player in Constructed, in Wild mode (int)
  • "wildLegendRank – The rank of the player in Constructed, in Wild mode, once he reached Legend (int)
  • "cardBackId" – the ID of the card back used in the current game (int)
  • "cardId" – the ID of the card representing the hero (string)
{"playersInfo":{"opponent":"{"name":"furhyax","standardRank":"Bronze 10","standardLegendRank":0,"wildRank":0,"wildLegendRank":0,"cardBackId":172,"cardId":"HERO_09a"}"}`

match_type note

Important: There's a new game mode called "Duels". We do NOT support this mode at this time. We will update accordingly in the near future.
tip

If you would like to know when the user is going to play the battlegrounds mode, you can listen to the match_type info update, and check If the value is GT_BATTLEGROUNDS.

Data Example:

{"info":{"match_info":{"match_type":"GT_CASUAL"}},"feature":"match"}

{"info":{"match_info":{"match_type":"GT_BATTLEGROUNDS"}},"feature":"match"}

battlegrounds_rating note

Data Example:

{"info":{"match_info":{"battlegrounds_rating":"2153"}},"feature":"match_info"}

adventure_stats note

Data Example:

{
"info":{
"match_info":{
"adventure_stats":"{"adventure_trl":{
"dungeon_crawl_all_classes_total_boss_wins":29,
"dungeon_crawl_all_classes_total_run_wins":1,
"dungeon_crawl_hunter_boss_wins":1,
"dungeon_crawl_hunter_run_wins":0,
"dungeon_crawl_paladin_boss_wins":0,
"dungeon_crawl_paladin_run_wins":0,
"dungeon_crawl_mage_boss_wins":7,
"dungeon_crawl_mage_run_wins":0,
"dungeon_crawl_warlock_boss_wins":6,
"dungeon_crawl_warlock_run_wins":0,
"dungeon_crawl_warrior_boss_wins":8,
"dungeon_crawl_warrior_run_wins":1,
"dungeon_crawl_shaman_boss_wins":6,
"dungeon_crawl_shaman_run_wins":0,
"dungeon_crawl_priest_boss_wins":1,
"dungeon_crawl_priest_run_wins":0,
"dungeon_crawl_rogue_boss_wins":0,
"dungeon_crawl_rogue_run_wins":0,
"dungeon_crawl_druid_boss_wins":0}}"
}
},
"feature":"match_info"
}

Events

EventEvent DataFired WhenNotesSince GEP Ver.
match_startWild / Standardmatch startsSee notes123.0
match_end"win"/"lose"/"tie"match endsSee notes123.0
match_outcome"WON" / "LOST"match concludesThis event is not reliable on some rare scenarios, please use "match_end" event data instead134.0

match_start note

Data Example:

{"events":[{"name":"match_start","data":"wild"}]}
{"events":[{"name":"match_start","data":"standard"}]}

match_end note

Data Example:

{"events":[{"name":"match_end","data":"win"}]}
{"events":[{"name":"match_end","data":"lose"}]}
{"events":[{"name":"match_end","data":"tie"}]}

match_outcome note

Data Example:

{"events":[{"name":"match_outcome","data":"WON"}]}
{"events":[{"name":"match_outcome","data":"LOST"}]}

match_info

Info Updates

keyCategoryValuesNotesSince GEP Ver.
pseudo_match_idmatch_infoThe ID of the current match.See notes134.0

pseudo_match_id note

This is an Overwolf generated code for internal use, not issued by the game or by Blizzard.

Data Example:

{"info":{"match_info":{"pseudo_match_id":"5a7e3729-993c-414d-8e3f-592faeef81e7"}},"feature":"match_info"}

arena

Info Updates

keyCategoryValuesNotesSince GEP Ver.
arena_draftarenaThree offered cards during arena draft.See notes184.0

arena_draft note

Data Example:

{"info":{"arena":{"arena_draft":"{"cards":["TRL_509","SW_067","SW_319"]}"}},"feature":"arena"}