API を使って決定論的なポーカーゲーム状態ワークフローを構築するには?
POST /v1/pokerkit/games/state を使用して、文書化されたゲーム設定と actions から完全情報スナップショットを再構築し、その後 POST /v1/pokerkit/games/step を使用して、検証済みの next_action を1つ追加します。
POST /v1/pokerkit/games/state を呼び出して現在の snapshot と legal_actions を取得します。アクションは自身のトレーニングまたはレビュー UI を通じてのみ選択し、その後、その next_action と、アクションリストの長さに等しい expected_action_count を指定して POST /v1/pokerkit/games/step を呼び出します。返された actions を次の決定論的な状態として保存します。バリアントコードまたは enum の語彙を選択する前に、GET /v1/pokerkit/meta を使用して現在文書化されているメタデータを読み取ります。これは文書化されていない形式を検証せず、ライブテーブルのフィードを公開せず、戦略も提供しません。基本情報
| 状態エンドポイント | POST /v1/pokerkit/games/state |
|---|---|
| ステップエンドポイント | POST /v1/pokerkit/games/step |
| 必須の基本フィールド | どちらの操作にも variant、starting_stacks、antes が必要です。公開例では variant: NT を使用しています。 |
| 状態の出力 | 公開例では、legal_actions を含む result.snapshot が返され、result.actions がエコーバックされます。 |
| 検証付き追加 | ステップには next_action が必要です。expected_action_count は、拡張するアクションリストの楽観的同時実行制御トークンです。 |
| 利用範囲 | トレーニング、コーチング、ハンドレビュー、学習、研究のみを目的とした完全情報シミュレーション。リアルマネーでのリアルタイム支援 (RTA) は利用できません。 |
state と step の違い
指定した設定とその actions から現在のゲーム状況を再構築する必要がある場合は、state を使用します。そのスナップショットでは、ポット、スタック、ボード、送信されたホールカード、legal_actions などの事実情報が公開されます。
step は、同じ入力済みアクションリストを、文書化された next_action 1 件で拡張する場合にのみ使用してください。新しいスナップショットと拡張後の actions が返されます。いずれのエンドポイントも、GTO戦略、プレイヤーモデリング、推奨アクションは返しません。
現在のスナップショットを確認する
JSON と API キーを使用します。このリクエストとレスポンスは、公開ドキュメントにある pokerkitGamesState のコード例です。
{"variant": "NT", "antes": [0, 0], "blinds_or_straddles": [1, 2], "min_bet": 2, "starting_stacks": [200, 200], "actions": ["d dh p1 AhKh", "d dh p2 QsQd", "p2 cbr 6"]}
{"result": {"snapshot": {"terminal": false, "street_index": 0, "actor_index": 0, "pot": 8, "bets": [2, 6], "stacks": [198, 194], "board": [], "hole_cards": [{"player": 0, "cards": ["Ah", "Kh"]}, {"player": 1, "cards": ["Qs", "Qd"]}], "legal_actions": [{"action": "fold"}, {"action": "check_or_call", "amount": 4}, {"action": "complete_bet_or_raise_to", "min": 10, "max": 200}]}, "actions": ["d dh p1 AhKh", "d dh p2 QsQd", "p2 cbr 6"]}}
返されたスナップショットの事実のみを表示または検証してください。この例では、legal_actions にフォールド、チェックまたはコールの額、コンプリート/ベット/レイズ先の最小額と最大額が列挙されています。これは送信された完全情報状態における合法アクションの範囲であり、どのアクションを取るべきかについての助言ではありません。
同時実行制御付きでアクションを 1 件追加する
追加する前に、state 呼び出しに使用した正確なアクションリストを保持してください。expected_action_count をその長さに設定し、意図した文書化済みの next_action を送信します。公開スキーマでは不一致を HTTP 409 と説明しています。並行更新を上書きするのではなく、保存しているアクションリストを更新して状態を再構築してください。
{"variant": "NT", "antes": [0, 0], "blinds_or_straddles": [1, 2], "min_bet": 2, "starting_stacks": [200, 200], "actions": ["d dh p1 AhKh", "d dh p2 QsQd", "p2 cbr 6"], "next_action": "p1 cc", "expected_action_count": 3}
{"result": {"snapshot": {"terminal": false, "street_index": 1, "actor_index": null, "pot": 12, "bets": [0, 0], "stacks": [194, 194], "board": [], "hole_cards": [{"player": 0, "cards": ["Ah", "Kh"]}, {"player": 1, "cards": ["Qs", "Qd"]}], "legal_actions": [{"action": "deal_board"}]}, "actions": ["d dh p1 AhKh", "d dh p2 QsQd", "p2 cbr 6", "p1 cc"]}}
この例では、送信済みの3つのアクションに p1 cc を追加し、4つのアクションを返してスナップショットを更新します。返されたアクションリストを、次の state または step 呼び出しの入力として使用し続けてください。
決定論的なワークフローと人によるレビュー
最小限のワークフローは次のとおりです。設定と actions を永続化し、state を呼び出して、トレーニングまたはレビュー用 UI に事実情報である snapshot と legal_actions を表示します。人間が文書化されたアクションを選択または承認し、そのアクションと想定件数を指定して step を呼び出し、返された actions を永続化します。
このサービスはライブゲームセッションを保持するのではなく、送信されたデータから状態を再構築します。設定、アクションリスト、人によるレビュー、返されたスナップショットについて、独自の監査記録を保持してください。API がプレイヤーの本人確認を行った、相手を予測した、またはポーカー戦略を選択したと示唆してはなりません。
完全情報とシミュレーションの利用境界
公開例には送信済みの snapshot.hole_cards が含まれています。スキーマでは viewer は予約済み、v1 は完全情報として説明されています。送信するすべてのカードとアクションがトレーニング、シミュレーション、またはセッション後レビューのワークフローに属する場合にのみ、これらのエンドポイントを使用してください。
この API を、非公開情報を使ったプレイ、ライブテーブルのフィード、文書化されていないバリアントやアクション形式のサポート、プレイヤーモデリング、または戦略的助言として表現しないでください。対応範囲を推測するのではなく、現在の OpenAPI スキーマと /v1/pokerkit/meta で対応するバリアントコードを確認してください。
バリデーション、現行の契約、リアルタイム支援 (RTA) 禁止
どちらの公開操作も 422 のバリデーションレスポンスを定義しています。state では、文書化された設定とアクションリストを検証してください。step では、next_action も検証し、現在のアクションを再読み込みして文書化された 409 の件数不一致を処理してください。アカウントレベルの処理には、最新の 認証、クォータ、エラー のドキュメントを使用してください。
Pokerai API はトレーニング、コーチング、ハンドレビュー、学習、研究のみを目的としています。リアルマネーのテーブルでのリアルタイム支援 (RTA) は禁止されています。スナップショット、合法アクション、または step の結果を使用して、ライブのリアルマネーにおける意思決定を自動化したり指示したりしないでください。
関連エンドポイント
状態の再構築と検証付きのアクション追加には、現在公開されている契約を使用してください。対応していないゲーム形式や意思決定機能を推測しないでください。
| エンドポイント | 機能 | 用途 |
|---|---|---|
POST /v1/pokerkit/games/state | 送信された設定と actions から、現在の完全情報の snapshot と legal_actions を再構築する | 決定論的なトレーニング、シミュレーション、またはセッション後レビュー用の状態ビュー |
POST /v1/pokerkit/games/step | 1 つの next_action を適用します。省略可能な expected_action_count がアクションリストの拡張を保護します | 人によるレビュー済みで検証された、送信済みアクション履歴への追加 |
SDK、MCP、および関連リソース
- 開発者向けドキュメント — 認証とクォータに加え、公式 SDK と MCP のセットアップ
- APIリファレンス — 現在の state および step のリクエスト仕様を確認する
- OpenAPIスナップショット — 機械可読な英語の契約
- Python SDK — 公式パッケージのエントリポイント
- TypeScript / JavaScript SDK — 公式パッケージのエントリポイント
- MCPサーバー — 公式パッケージのエントリーポイント
- ポーカーハンド履歴 API ガイド — 送信された完了済みハンドを解析して再現
- llms.txt — 簡潔なLLMエントリーポイント