How do I analyze board texture with the PokerKit API?
Send a flop, turn, or river board to POST /v1/pokerkit/texture to receive documented categorical texture and suit-shape fields for that board.
board, such as AsKsQs, to POST /v1/pokerkit/texture. Read the returned result as board-description fields—not equity, a GTO strategy, or a live action recommendation.Quick facts
| Endpoint | POST /v1/pokerkit/texture |
|---|---|
| Required input | board: a no-separator string with 3, 4, or 5 community cards, for example AsKsQs |
| Optional input | hand_type and dead, as defined in the public OpenAPI schema |
| Response | A result object with cards, categorical texture fields, and suit-shape booleans |
| Use boundary | Training, coaching, hand review, study, and research only; no real-money RTA |
Input semantics
board is required. Concatenate standard two-character card codes without separators: three cards describe a flop, four a turn, and five a river. The public schema also permits optional hand_type and dead; omit them unless your documented workflow needs them. Do not send hole cards to this endpoint: it describes the board, not a player hand.
Minimal request
Use JSON and an API key. This request body and the response below are the public pokerkitTexture docs-code example.
curl -s https://pokerai.bet/v1/pokerkit/texture \
-H "Authorization: Bearer $POKERAI_API_KEY" \
-H "Content-Type: application/json" \
-d '{"board":"AsKsQs"}'
Response interpretation
{"result":{"cards":["As","Ks","Qs"],"wetness":{"name":"WET","value":"Wet"},"connectivity":{"name":"HIGH","value":"High"},"rank_band":{"name":"HIGH","value":"High"},"straight_draw":{"name":"OPEN_ENDED","value":"Open-ended"},"flush_draw":{"name":"LIVE","value":"Live"},"are_two_tone":false,"are_monotone":true,"are_rainbow":false}}
cards normalizes the supplied board into an array. The fields wetness, connectivity, rank_band, straight_draw, and flush_draw are categorical descriptors with name and display value. The three booleans describe the returned board's suit shape. For this example, are_monotone is true while are_two_tone and are_rainbow are false. These labels describe this input; they do not calculate equity or select a poker action.
When to use it
Use Texture when a training, coaching, or completed-hand review workflow needs a consistent board description before presenting other documented analysis. If you need a combined board overview, inspect the separate public POST /v1/pokerkit/board-report contract; if you need player-specific analysis, inspect the public hand-report, draws, outs, or blockers contracts instead.
When not to use it
Do not treat a texture label as an equity estimate, a solver result, a guarantee of hand strength, or a recommended move. Texture does not replace a request to a documented equity, GTO, or player-hand endpoint, and it must not be used for real-money live decision assistance.
Quota and errors
This endpoint uses the same API key and account quota system as the public PokerKit API. Check the quota documentation, pricing, and dashboard for current account limits and usage rather than hard-coding a limit in a client.
| Signal | Meaning | What to do |
|---|---|---|
| 422 | The public OpenAPI contract declares a validation error response. | Check board and any optional fields against the current Reference or OpenAPI schema, then correct the request. |
| Other API errors | Authentication and account-quota handling are documented at the API level. | Use the current error documentation and dashboard status; do not retry an unchanged invalid request. |
SDK, MCP, and related resources
- Developer docs — official SDK and MCP setup alongside authentication and quotas.
- API Reference — inspect the current Texture request and response contract.
- OpenAPI snapshot — machine-readable English contract.
- Python SDK, TypeScript / JavaScript SDK, and MCP server — official package entry points.
- Poker hand review API guide — place board semantics in a post-session workflow.
- llms.txt — concise LLM entry point.