{"openapi":"3.1.0","info":{"title":"Tileword API","version":"0.1.0","description":"A fully local, hand-curated reference for tile-based word games in general: original letter-point/tile-count systems, genuine working score-calculation math with letter/word multipliers, generic board-bonus-square conventions, valid-word-checking guidance, a glossary of tile-game terms, and strategy/beginner tips across board-and-rack play, shared-pool speed play, grid word-finding, and asynchronous app play.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://tileword.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/tileword/docs"},"termsOfService":"https://connectorbay.com/tileword/terms"},"servers":[{"url":"https://tileword.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/tileword/docs"},"security":[{},{"bearer":[]}],"components":{"securitySchemes":{"bearer":{"type":"http","scheme":"bearer","description":"Optional. A Pro API key raises rate limits; no credentials are required."}},"schemas":{"Error":{"type":"object","properties":{"ok":{"const":false},"error":{"type":"object"}}}}},"paths":{"/v1/tools/scoring_systems":{"post":{"operationId":"scoring_systems","summary":"Lists every named letter-point/tile-count system this reference defines (classic, balanced, simple), each","description":"Lists every named letter-point/tile-count system this reference defines (classic, balanced, simple), each\n    with its description, design rationale, blank-tile count and total tile count. Use for \"what scoring systems\n    do you have\", \"how many tiles are in a full set\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"scoring_systemsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/letter_value":{"post":{"operationId":"letter_value","summary":"One letter's point value and tile count under a named scoring system. Use scoring_systems to see valid","description":"One letter's point value and tile count under a named scoring system. Use scoring_systems to see valid\n    system names. Use for \"how many points is a Q worth\", \"how many E tiles are in the balanced system\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"letter":{"description":"A single letter A-Z.","examples":["Q","e","Z"],"maxLength":1,"minLength":1,"title":"Letter","type":"string"},"system":{"default":"classic","description":"Which named point system to use.","examples":["classic","balanced","simple"],"title":"System","type":"string"}},"required":["letter"],"title":"letter_valueArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/find_high_value_letters":{"post":{"operationId":"find_high_value_letters","summary":"The highest-value letters in a named system, ranked by point value (ties broken alphabetically), each with","description":"The highest-value letters in a named system, ranked by point value (ties broken alphabetically), each with\n    its tile count. Use for \"what are the highest-value letters\", \"top 3 letters in the classic system\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"system":{"default":"classic","description":"Which named point system to use.","examples":["classic","balanced","simple"],"title":"System","type":"string"},"count":{"default":5,"description":"How many letters to return.","maximum":26,"minimum":1,"title":"Count","type":"integer"}},"title":"find_high_value_lettersArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/word_score_calculator":{"post":{"operationId":"word_score_calculator","summary":"Real scoring math (not a lookup table): sums each letter's base point value under the named system (0 for","description":"Real scoring math (not a lookup table): sums each letter's base point value under the named system (0 for\n    any blank-tile position), applies any double/triple LETTER multipliers you specify by position, sums to a\n    subtotal, then applies any double/triple WORD multipliers on top of that subtotal (multiplicatively if more\n    than one). Use for \"score the word QUIZ\", \"what's ZA worth on a double letter and a triple word square\",\n    \"score EXIT with the X on a blank tile\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"word":{"description":"The word to score, letters only (A-Z), no spaces or punctuation.","examples":["QUIZ","sheet"],"maxLength":25,"minLength":1,"title":"Word","type":"string"},"system":{"default":"classic","description":"Which named point system to score under.","examples":["classic","balanced","simple"],"title":"System","type":"string"},"letter_multipliers":{"anyOf":[{"items":{"additionalProperties":true,"type":"object"},"type":"array"},{"type":"null"}],"default":null,"description":"Optional list of per-tile bonus squares hit by this play, each {'index': <0-based position in word>, 'multiplier': 'double'|'triple'}.","examples":[[{"index":0,"multiplier":"double"}]],"title":"Letter Multipliers"},"word_multipliers":{"anyOf":[{"items":{"enum":["double","triple"],"type":"string"},"type":"array"},{"type":"null"}],"default":null,"description":"Optional list of word-level bonus squares this play crosses (e.g. ['double'], or ['double','double'] if it crosses two); applied multiplicatively after letter multipliers are summed.","examples":[["triple"]],"title":"Word Multipliers"},"blank_positions":{"anyOf":[{"items":{"type":"integer"},"type":"array"},{"type":"null"}],"default":null,"description":"Optional 0-based positions in the word that were played with a blank tile; those positions score 0 base points regardless of the letter, matching real blank-tile scoring.","examples":[[3]],"title":"Blank Positions"}},"required":["word"],"title":"word_score_calculatorArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/board_bonus_explainer":{"post":{"operationId":"board_bonus_explainer","summary":"Explains, generically, how double/triple letter/word bonus squares work: what each type multiplies, the","description":"Explains, generically, how double/triple letter/word bonus squares work: what each type multiplies, the\n    common corners-and-diagonals layout convention, the rule that a multiplier only fires the turn a tile is\n    first placed, how multiple word bonuses stack, and which play styles use a bonus-square board at all. Use for\n    \"how do double word squares work\", \"does Bananagrams have bonus squares\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"game_style":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A play style to check applicability for; omit for the general explanation.","examples":["crossword_tile","speed_tile","grid_search","digital_duel"],"title":"Game Style"}},"title":"board_bonus_explainerArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/game_style_comparison":{"post":{"operationId":"game_style_comparison","summary":"Side-by-side comparison of two tile-word play styles: whether each uses a placement board, whether it's","description":"Side-by-side comparison of two tile-word play styles: whether each uses a placement board, whether it's\n    turn-based, its typical pace, how it checks whether a played word is valid, and how it scores. Recognized\n    styles: crossword_tile (similar to Scrabble), speed_tile (similar to Bananagrams), grid_search (similar to\n    Boggle), digital_duel (similar to Words With Friends). Use for \"how is Bananagrams different from Scrabble\",\n    \"does Boggle use letter points like Scrabble does\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"a":{"description":"First play style.","examples":["crossword_tile","speed_tile","grid_search","digital_duel"],"minLength":1,"title":"A","type":"string"},"b":{"description":"Second play style.","examples":["crossword_tile","speed_tile","grid_search","digital_duel"],"minLength":1,"title":"B","type":"string"}},"required":["a","b"],"title":"game_style_comparisonArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/strategy_tip":{"post":{"operationId":"strategy_tip","summary":"Strategy tips for one tile-word play style, optionally narrowed to a topic. Use for \"give me a Scrabble","description":"Strategy tips for one tile-word play style, optionally narrowed to a topic. Use for \"give me a Scrabble\n    opening tip\", \"how should I manage my rack\", \"endgame advice for Boggle\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"game_style":{"description":"Which play style to get tips for.","examples":["crossword_tile","speed_tile","grid_search","digital_duel"],"minLength":1,"title":"Game Style","type":"string"},"topic":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"Narrow to one topic, e.g. opening, scoring, rack_management, word_finding, endgame, speed, challenges, peeling. Omit for all topics.","examples":["opening","endgame"],"title":"Topic"}},"required":["game_style"],"title":"strategy_tipArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/beginner_tips":{"post":{"operationId":"beginner_tips","summary":"A curated shortlist of general beginner advice that applies across most tile-word play styles. Use for","description":"A curated shortlist of general beginner advice that applies across most tile-word play styles. Use for\n    \"what should a beginner learn first\", \"basic tips for word tile games\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"count":{"default":5,"description":"How many tips to return.","maximum":10,"minimum":1,"title":"Count","type":"integer"}},"title":"beginner_tipsArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}},"/v1/tools/term_glossary":{"post":{"operationId":"term_glossary","summary":"Definitions of common tile-word-game terms — rack, bag/pool, blank tile, bingo/bonus play, hook, phony,","description":"Definitions of common tile-word-game terms — rack, bag/pool, blank tile, bingo/bonus play, hook, phony,\n    challenge, premium square, leave, playability, and more. Use for \"what's a bingo in a word tile game\", \"what\n    does hook mean\", \"what's the difference between a phony and a challenge\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"term":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A specific term to look up; omit to list all.","title":"Term"}},"title":"term_glossaryArguments","type":"object"}}}},"responses":{"200":{"description":"Tool result. `ok: true` on success; `ok: false` with a structured `error` (provider_unavailable, upstream_error, bad_input) when the tool could not answer.","content":{"application/json":{"schema":{"type":"object","additionalProperties":true}}}},"422":{"description":"Arguments failed validation","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}},"429":{"description":"Rate limit exceeded (see Retry-After)","content":{"application/json":{"schema":{"$ref":"#/components/schemas/Error"}}}}},"x-read-only":true}}}}