Change Log

The specification is versioned to allow for continual improvements. This page lists the changes in each version.

1.4.6 - February 28, 2024

  • Changed play money from "PPC" to "XPM" in the currency section. PPC will still be supported for existing hands but XPM should be used for new hands.

1.4.5 - January 25, 2024

  • Added "Add to Pot" action for cases where the site adds bonus money or chips to the pot.

  • Made player_id optional to allow for "Add to Pot" action.

1.4.4 - January 25, 2024

  • Clarified that all fields are required unless otherwise stated.

  • Added optional/nullable to several fields:

    • small_blind_amount

    • big_blind_amount

    • pot_obj > rake

    • player_wins > contributed_rake

    • tournament_info_obj > (buyin_amount, bounty_fee_amount, fee_amount, flags)

  • Added "is_sitting_out" in <player_obj> so that players who are sitting out can be included in the player list.

1.4.3 - August 3, 2022

  • Removed re-buy information as it is being moved to the Open Tournament Summary (OTS) specification.

1.4.2 - July 13, 2022

  • Removed the explicit requirement for there to be a Showdown round in the Rounds list. This is only required if a hand goes to showdown, or a player chooses to show their cards without a showdown.

1.4.1 - March 23, 2022

  • Specified that the following fields are optional:

    • able_handle

    • table_skin

    • flags

    • round_obj > cards, player_obj > display

1.4.0 - Feb. 25, 2022

  • Clarified that "Run_It_Twice" flag is used for any number of runs.

  • Added "jackpot" in <pot_obj>

  • Added "cashout", "cashout_fee", "bonus" in <player_wins>

  • Clarified that "amount" and "is_allin" are optional in <action_obj>

1.3.0 - July 02, 2020

  • Added "tournament"

  • Added "table_skin"

  • Added "display" in <player_obj>

1.2.2. - June 19, 2020

  • Corrected "round" to "id" in the 'id' field of <round_obj>

1.2.1 - June 01, 2020

  • Corrected "players_wins" to "player_wins" in <pot_obj>

1.2.0 - April 23, 2020

  • Added a root object to wrap each hand and identify the type of JSON object. {"ohh": <standardized_hand_history_object>}

1.1.1 - February 27, 2020

  • Added table_handle

1.0.1 - Late 2019

  • hero_player_id was changed to Nullable. Null example added.

  • <action_obj>.cards was changed to Nullable. Null example added.

  • <round_object>.street options are capitalized instead of all lowercase. Example updated. Flags options are capitalized instead of all uppercase. Example updated.

  • player_obj>.player_bounty was changed to nullable. Info panel text changed from "For bounty tournaments only." to "For bounty tournaments only. Omit for other games." Null example added.

  • <tournament_info_obj>.flags - all non-acronym options changed to caplitalized instead of all uppercase.

  • <tournament_rebuy_obj> - all options changed to capitalized instead of all uppercase.

  • <speed_obj>.type - all options changed to capitalized instead of all uppercase.

  • ante_amount - corrected typo "f the game..." to "If the game...".

  • Rounds - "(Pre-Flop)" changed to "(Preflop)" in text to match names used in <round_obj>.street.

  • <bet_limit_obj>.bet_type - "No-Limit" changed to "No Limit" to match the other options.

  • round_obj>.id - added text "The first round is round zero."

  • <round_obj>.actions - corrected typo "Maining the order..." to "Maintaining the order...". Changed "id" to "Id" or "identifier" in text in a few places for consistency.

v1.0.0 - Late 2019

The initial version

Last updated