{"openapi":"3.1.0","info":{"title":"PROOF OF FIST API","description":"Free-to-play, provably fair Rock-Paper-Scissors on FistChain, a simulated chain. $FIST and NFTs are virtual and have no cash value.","version":"0.1.0"},"paths":{"/api/guest":{"post":{"tags":["game"],"summary":"Create Guest","description":"Instant play: creates a guest account with a FistChain address and starter $FIST.","operationId":"create_guest_api_guest_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Create Guest Api Guest Post"}}}}}}},"/api/me":{"get":{"tags":["game"],"summary":"Me","operationId":"me_api_me_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Me Api Me Get"}}}}}}},"/api/faucet":{"post":{"tags":["game"],"summary":"Faucet","operationId":"faucet_api_faucet_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Faucet Api Faucet Post"}}}}}}},"/api/runs/active":{"get":{"tags":["game"],"summary":"Active","operationId":"active_api_runs_active_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Active Api Runs Active Get"}}}}}}},"/api/runs":{"post":{"tags":["game"],"summary":"Start","operationId":"start_api_runs_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/StartRunIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Start Api Runs Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/runs/{run_id}/throw":{"post":{"tags":["game"],"summary":"Throw","operationId":"throw_api_runs__run_id__throw_post","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ThrowIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Throw Api Runs  Run Id  Throw Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/runs/{run_id}/continue":{"post":{"tags":["game"],"summary":"Risk It","operationId":"risk_it_api_runs__run_id__continue_post","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Risk It Api Runs  Run Id  Continue Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/runs/{run_id}/claim":{"post":{"tags":["game"],"summary":"Claim","operationId":"claim_api_runs__run_id__claim_post","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Claim Api Runs  Run Id  Claim Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/runs/{run_id}/abandon":{"post":{"tags":["game"],"summary":"Abandon","operationId":"abandon_api_runs__run_id__abandon_post","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Abandon Api Runs  Run Id  Abandon Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/runs/{run_id}":{"get":{"tags":["game"],"summary":"Get Run","operationId":"get_run_api_runs__run_id__get","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Run Api Runs  Run Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/runs/{run_id}/proof":{"get":{"tags":["game"],"summary":"Proof","description":"Everything needed to verify a run offline with verify_fist.py.","operationId":"proof_api_runs__run_id__proof_get","parameters":[{"name":"run_id","in":"path","required":true,"schema":{"type":"string","title":"Run Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Proof Api Runs  Run Id  Proof Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/tiers":{"get":{"tags":["game"],"summary":"Tiers","operationId":"tiers_api_tiers_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Tiers Api Tiers Get"}}}}}}},"/api/auth/register":{"post":{"tags":["auth"],"summary":"Register","description":"Secure the current guest account with a username and password (or make a new one).","operationId":"register_api_auth_register_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialsIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Register Api Auth Register Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/login":{"post":{"tags":["auth"],"summary":"Password Login","operationId":"password_login_api_auth_login_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CredentialsIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Password Login Api Auth Login Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/magic-link":{"post":{"tags":["auth"],"summary":"Magic Link","operationId":"magic_link_api_auth_magic_link_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/EmailIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Magic Link Api Auth Magic Link Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/rename":{"post":{"tags":["auth"],"summary":"Rename","operationId":"rename_api_auth_rename_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RenameIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Rename Api Auth Rename Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/auth/logout":{"post":{"tags":["auth"],"summary":"Do Logout","operationId":"do_logout_api_auth_logout_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Do Logout Api Auth Logout Post"}}}}}}},"/api/chain/head":{"get":{"tags":["chain"],"summary":"Chain Head","operationId":"chain_head_api_chain_head_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Chain Head Api Chain Head Get"}}}}}}},"/api/chain/blocks":{"get":{"tags":["chain"],"summary":"Blocks","operationId":"blocks_api_chain_blocks_get","parameters":[{"name":"before","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":2147483647,"minimum":0},{"type":"null"}],"title":"Before"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":100,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Blocks Api Chain Blocks Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/chain/blocks/{height}":{"get":{"tags":["chain"],"summary":"Block","operationId":"block_api_chain_blocks__height__get","parameters":[{"name":"height","in":"path","required":true,"schema":{"type":"integer","maximum":2147483647,"minimum":0,"title":"Height"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Block Api Chain Blocks  Height  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/chain/tx/{tx_hash}":{"get":{"tags":["chain"],"summary":"Tx","operationId":"tx_api_chain_tx__tx_hash__get","parameters":[{"name":"tx_hash","in":"path","required":true,"schema":{"type":"string","title":"Tx Hash"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Tx Api Chain Tx  Tx Hash  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/chain/address/{address}":{"get":{"tags":["chain"],"summary":"Address","operationId":"address_api_chain_address__address__get","parameters":[{"name":"address","in":"path","required":true,"schema":{"type":"string","title":"Address"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Address Api Chain Address  Address  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/chain/token/{token_id}":{"get":{"tags":["chain"],"summary":"Token","operationId":"token_api_chain_token__token_id__get","parameters":[{"name":"token_id","in":"path","required":true,"schema":{"type":"integer","maximum":2147483647,"minimum":0,"title":"Token Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Token Api Chain Token  Token Id  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/chain/verify":{"get":{"tags":["chain"],"summary":"Verify","description":"Re-derive every block hash, merkle root, tx hash, balance and NFT owner.","operationId":"verify_api_chain_verify_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Verify Api Chain Verify Get"}}}}}}},"/api/feed":{"get":{"tags":["social"],"summary":"Get Feed","operationId":"get_feed_api_feed_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":50,"minimum":1,"default":20,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Feed Api Feed Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/season":{"get":{"tags":["social"],"summary":"Season","operationId":"season_api_season_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Season Api Season Get"}}}}}}},"/api/leaderboard":{"get":{"tags":["social"],"summary":"Leaders","operationId":"leaders_api_leaderboard_get","parameters":[{"name":"board","in":"query","required":false,"schema":{"enum":["all","week","daily","teams","duels","bots"],"type":"string","default":"all","title":"Board"}},{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Leaders Api Leaderboard Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/teams":{"post":{"tags":["social"],"summary":"Create Team","operationId":"create_team_api_teams_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamCreateIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Create Team Api Teams Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/teams/join":{"post":{"tags":["social"],"summary":"Join Team","operationId":"join_team_api_teams_join_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/TeamJoinIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Join Team Api Teams Join Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/teams/leave":{"post":{"tags":["social"],"summary":"Leave Team","operationId":"leave_team_api_teams_leave_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Leave Team Api Teams Leave Post"}}}}}}},"/api/teams/{slug}":{"get":{"tags":["social"],"summary":"Get Team","operationId":"get_team_api_teams__slug__get","parameters":[{"name":"slug","in":"path","required":true,"schema":{"type":"string","title":"Slug"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Team Api Teams  Slug  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/daily":{"get":{"tags":["social"],"summary":"Get Daily","operationId":"get_daily_api_daily_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Get Daily Api Daily Get"}}}}}}},"/api/daily/start":{"post":{"tags":["social"],"summary":"Start Daily","operationId":"start_daily_api_daily_start_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Start Daily Api Daily Start Post"}}}}}}},"/api/achievements":{"get":{"tags":["social"],"summary":"List Achievements","operationId":"list_achievements_api_achievements_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response List Achievements Api Achievements Get"}}}}}}},"/api/market":{"get":{"tags":["market"],"summary":"Get Market","operationId":"get_market_api_market_get","parameters":[{"name":"tier","in":"query","required":false,"schema":{"anyOf":[{"type":"integer","maximum":64,"minimum":0},{"type":"null"}],"title":"Tier"}},{"name":"sort","in":"query","required":false,"schema":{"type":"string","default":"price","title":"Sort"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Market Api Market Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/market/list":{"post":{"tags":["market"],"summary":"List Token","operationId":"list_token_api_market_list_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/ListIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response List Token Api Market List Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/market/{listing_id}/buy":{"post":{"tags":["market"],"summary":"Buy","operationId":"buy_api_market__listing_id__buy_post","parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"integer","maximum":2147483647,"minimum":0,"title":"Listing Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Buy Api Market  Listing Id  Buy Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/market/{listing_id}/cancel":{"post":{"tags":["market"],"summary":"Cancel","operationId":"cancel_api_market__listing_id__cancel_post","parameters":[{"name":"listing_id","in":"path","required":true,"schema":{"type":"integer","maximum":2147483647,"minimum":0,"title":"Listing Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Cancel Api Market  Listing Id  Cancel Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/buyback/offer":{"post":{"tags":["market"],"summary":"Offer","operationId":"offer_api_buyback_offer_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/OfferIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Offer Api Buyback Offer Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/buyback/{offer_id}/respond":{"post":{"tags":["market"],"summary":"Respond","operationId":"respond_api_buyback__offer_id__respond_post","parameters":[{"name":"offer_id","in":"path","required":true,"schema":{"type":"integer","maximum":2147483647,"minimum":0,"title":"Offer Id"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RespondIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Respond Api Buyback  Offer Id  Respond Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/portfolio":{"get":{"tags":["portfolio"],"summary":"Get Portfolio","operationId":"get_portfolio_api_portfolio_get","parameters":[{"name":"days","in":"query","required":false,"schema":{"type":"integer","maximum":90,"minimum":7,"default":30,"title":"Days"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Portfolio Api Portfolio Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/duels":{"get":{"tags":["duels"],"summary":"List Duels","operationId":"list_duels_api_duels_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response List Duels Api Duels Get"}}}}}},"post":{"tags":["duels"],"summary":"Create Duel","operationId":"create_duel_api_duels_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/DuelIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Create Duel Api Duels Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/duels/spar":{"post":{"tags":["duels"],"summary":"Spar","operationId":"spar_api_duels_spar_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Spar Api Duels Spar Post"}}}}}}},"/api/duels/{code}":{"get":{"tags":["duels"],"summary":"Get Duel","operationId":"get_duel_api_duels__code__get","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Get Duel Api Duels  Code  Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/duels/{code}/join":{"post":{"tags":["duels"],"summary":"Join Duel","operationId":"join_duel_api_duels__code__join_post","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Join Duel Api Duels  Code  Join Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/duels/{code}/commit":{"post":{"tags":["duels"],"summary":"Commit Move","operationId":"commit_move_api_duels__code__commit_post","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/CommitIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Commit Move Api Duels  Code  Commit Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/duels/{code}/reveal":{"post":{"tags":["duels"],"summary":"Reveal Move","operationId":"reveal_move_api_duels__code__reveal_post","parameters":[{"name":"code","in":"path","required":true,"schema":{"type":"string","title":"Code"}}],"requestBody":{"required":true,"content":{"application/json":{"schema":{"$ref":"#/components/schemas/RevealIn"}}}},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Reveal Move Api Duels  Code  Reveal Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/arena/queue":{"post":{"tags":["bot arena"],"summary":"Arena Queue","description":"Bots only. Returns {\"status\": \"matched\", duel} or {\"status\": \"waiting\"}; poll ~1/s.","operationId":"arena_queue_api_arena_queue_post","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response Arena Queue Api Arena Queue Post"}}}}}}},"/api/arena/leaderboard":{"get":{"tags":["bot arena"],"summary":"Arena Board","operationId":"arena_board_api_arena_leaderboard_get","parameters":[{"name":"limit","in":"query","required":false,"schema":{"type":"integer","maximum":200,"minimum":1,"default":50,"title":"Limit"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Arena Board Api Arena Leaderboard Get"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/keys":{"get":{"tags":["developers"],"summary":"List Keys","operationId":"list_keys_api_keys_get","responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response List Keys Api Keys Get"}}}}}},"post":{"tags":["developers"],"summary":"New Key","operationId":"new_key_api_keys_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/LabelIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response New Key Api Keys Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/keys/{key_id}/revoke":{"post":{"tags":["developers"],"summary":"Revoke Key","operationId":"revoke_key_api_keys__key_id__revoke_post","parameters":[{"name":"key_id","in":"path","required":true,"schema":{"type":"integer","maximum":2147483647,"minimum":0,"title":"Key Id"}}],"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"type":"object","additionalProperties":true,"title":"Response Revoke Key Api Keys  Key Id  Revoke Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}},"/api/bots":{"post":{"tags":["developers"],"summary":"New Bot","operationId":"new_bot_api_bots_post","requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/BotIn"}}},"required":true},"responses":{"200":{"description":"Successful Response","content":{"application/json":{"schema":{"additionalProperties":true,"type":"object","title":"Response New Bot Api Bots Post"}}}},"422":{"description":"Validation Error","content":{"application/json":{"schema":{"$ref":"#/components/schemas/HTTPValidationError"}}}}}}}},"components":{"schemas":{"BotIn":{"properties":{"name":{"type":"string","maxLength":32,"title":"Name"}},"type":"object","required":["name"],"title":"BotIn"},"CommitIn":{"properties":{"commitment":{"type":"string","title":"Commitment","description":"sha256(f'{move}:{salt}') as 64 hex chars"}},"type":"object","required":["commitment"],"title":"CommitIn"},"CredentialsIn":{"properties":{"username":{"type":"string","maxLength":32,"title":"Username"},"password":{"type":"string","maxLength":256,"title":"Password"}},"type":"object","required":["username","password"],"title":"CredentialsIn"},"DuelIn":{"properties":{"stake":{"type":"integer","maximum":2147483647.0,"minimum":0.0,"title":"Stake","default":0}},"type":"object","title":"DuelIn"},"EmailIn":{"properties":{"email":{"type":"string","maxLength":254,"title":"Email"}},"type":"object","required":["email"],"title":"EmailIn"},"Entry":{"type":"string","enum":["auto","fee","free","burn","daily"],"title":"Entry"},"HTTPValidationError":{"properties":{"detail":{"items":{"$ref":"#/components/schemas/ValidationError"},"type":"array","title":"Detail"}},"type":"object","title":"HTTPValidationError"},"LabelIn":{"properties":{"label":{"type":"string","maxLength":40,"title":"Label","default":"default"}},"type":"object","title":"LabelIn"},"ListIn":{"properties":{"token_id":{"type":"integer","maximum":2147483647.0,"minimum":0.0,"title":"Token Id"},"price":{"type":"integer","maximum":2147483647.0,"minimum":1.0,"title":"Price"}},"type":"object","required":["token_id","price"],"title":"ListIn"},"OfferIn":{"properties":{"token_id":{"type":"integer","maximum":2147483647.0,"minimum":0.0,"title":"Token Id"}},"type":"object","required":["token_id"],"title":"OfferIn"},"RenameIn":{"properties":{"username":{"type":"string","maxLength":32,"title":"Username"}},"type":"object","required":["username"],"title":"RenameIn"},"RespondIn":{"properties":{"accept":{"type":"boolean","title":"Accept"}},"type":"object","required":["accept"],"title":"RespondIn"},"RevealIn":{"properties":{"move":{"type":"string","title":"Move"},"salt":{"type":"string","title":"Salt"}},"type":"object","required":["move","salt"],"title":"RevealIn"},"StartRunIn":{"properties":{"entry":{"$ref":"#/components/schemas/Entry","default":"auto"},"client_seed":{"anyOf":[{"type":"string","maxLength":64},{"type":"null"}],"title":"Client Seed"}},"type":"object","title":"StartRunIn"},"TeamCreateIn":{"properties":{"name":{"type":"string","maxLength":60,"title":"Name"},"private":{"type":"boolean","title":"Private","default":false}},"type":"object","required":["name"],"title":"TeamCreateIn"},"TeamJoinIn":{"properties":{"name":{"anyOf":[{"type":"string","maxLength":60},{"type":"null"}],"title":"Name"},"code":{"anyOf":[{"type":"string","maxLength":16},{"type":"null"}],"title":"Code"}},"type":"object","title":"TeamJoinIn"},"ThrowIn":{"properties":{"move":{"type":"string","title":"Move","description":"rock | paper | scissors (or r/p/s)"}},"type":"object","required":["move"],"title":"ThrowIn"},"ValidationError":{"properties":{"loc":{"items":{"anyOf":[{"type":"string"},{"type":"integer"}]},"type":"array","title":"Location"},"msg":{"type":"string","title":"Message"},"type":{"type":"string","title":"Error Type"},"input":{"title":"Input"},"ctx":{"type":"object","title":"Context"}},"type":"object","required":["loc","msg","type"],"title":"ValidationError"}}}}