{"openapi":"3.1.0","info":{"title":"Lockbox API","version":"0.1.0","description":"A fully local, hand-curated escape-room puzzle-design reference: common mechanism types (combination and directional locks, UV/blacklight reveals, physical key hunts, magnetic and electronic triggers, and more), puzzle categories, pacing and difficulty-curve design, hint-system design, real room-capacity/time-budget planning logic, a design-term glossary, and theming tips by genre. Keyless; fully local; zero upstream calls.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://lockbox.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/lockbox/docs"},"termsOfService":"https://connectorbay.com/lockbox/terms"},"servers":[{"url":"https://lockbox.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/lockbox/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/mechanism_info":{"post":{"operationId":"mechanism_info","summary":"Full detail for one escape-room mechanism type: how it works, typical uses, build complexity and cost","description":"Full detail for one escape-room mechanism type: how it works, typical uses, build complexity and cost\n    tier, common failure modes, player-experience notes, and accessibility notes. Use for \"how does a UV\n    blacklight reveal work\", \"explain a magnetic trigger mechanism\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A mechanism's name or alias.","examples":["combination lock","UV blacklight reveal","magnetic trigger","hidden compartment","laser beam puzzle"],"minLength":1,"title":"Name","type":"string"}},"required":["name"],"title":"mechanism_infoArguments","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/design_tip":{"post":{"operationId":"design_tip","summary":"One practical escape-room design tip, keyed by topic — pacing, difficulty curve, red herrings, room flow/","description":"One practical escape-room design tip, keyed by topic — pacing, difficulty curve, red herrings, room flow/\n    gating, teaching a mechanic, puzzle density, aha moments, playtesting, avoiding bottlenecks, accessibility,\n    fail-safes, group-size scaling, narrative integration, prop maintenance — or, with no topic, the full list\n    of tip topics. Use for \"how do I pace an escape room\", \"tips for avoiding a puzzle bottleneck\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"topic":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A design topic to look up; omit to list every tip topic.","examples":["pacing","difficulty curve","red herrings","avoiding bottlenecks"],"title":"Topic"}},"title":"design_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/puzzle_category_info":{"post":{"operationId":"puzzle_category_info","summary":"Full detail on one puzzle category: a summary, how players typically experience it, design","description":"Full detail on one puzzle category: a summary, how players typically experience it, design\n    considerations, an original example prompt, and which mechanisms pair well with it. Use for \"what's a meta\n    puzzle\", \"explain search and observation puzzles\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A puzzle category's name.","examples":["cipher and code","logic and deduction","meta puzzle","teamwork"],"minLength":1,"title":"Name","type":"string"}},"required":["name"],"title":"puzzle_category_infoArguments","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 escape-room design vocabulary — game master, meta puzzle, red herring, gating,","description":"Definitions of common escape-room design vocabulary — game master, meta puzzle, red herring, gating,\n    linear vs. hub-and-spoke flow, soft lock vs. hard lock, safe word, and more. Use for \"what does 'gating'\n    mean\", \"define hub-and-spoke flow\".","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}},"/v1/tools/hint_system_design":{"post":{"operationId":"hint_system_design","summary":"Guidance on one aspect of hint-system design — escalating tiers, delivery channels, when to intervene,","description":"Guidance on one aspect of hint-system design — escalating tiers, delivery channels, when to intervene,\n    nudge vs. answer, avoiding dependency, remote/take-home hinting, silent in-world hints, game-master\n    training, optional hint costs, or a dedicated ask-for-help signal — or, with no topic, the full list of\n    topics. Use for \"how should I structure hints in my escape room\", \"how many hint tiers should I have\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"topic":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A hint-system design topic to look up; omit to list every topic.","examples":["hint tiers","delivery channels","when to intervene","nudge vs answer"],"title":"Topic"}},"title":"hint_system_designArguments","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/room_capacity_planning":{"post":{"operationId":"room_capacity_planning","summary":"Genuine, transparently-computed planning logic for how a group size fits a stated room type: a","description":"Genuine, transparently-computed planning logic for how a group size fits a stated room type: a\n    suggested total puzzle count, how many puzzle stations should run simultaneously, whether a parallel/\n    split-team path is advisable, a suggested time limit, and how well the group size fits the room type's\n    recommended player range. Room types: beginner, intermediate, advanced, expert, horror, family, corporate.\n    Use for \"what room size and time limit fits 6 players in an advanced room\", \"is 10 players too many for a\n    horror room\". This is a documented design heuristic, not a fixed industry standard.","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"group_size":{"description":"How many players will be playing.","examples":[2,4,6,10],"maximum":40,"minimum":1,"title":"Group Size","type":"integer"},"room_type":{"description":"A room type/difficulty tier.","examples":["beginner","intermediate","advanced","expert","horror","family","corporate"],"minLength":1,"title":"Room Type","type":"string"}},"required":["group_size","room_type"],"title":"room_capacity_planningArguments","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/theming_tip":{"post":{"operationId":"theming_tip","summary":"Theming guidance for one escape-room genre — heist, horror, sci-fi, fantasy, mystery/noir, pirate/","description":"Theming guidance for one escape-room genre — heist, horror, sci-fi, fantasy, mystery/noir, pirate/\n    treasure, prison break, post-apocalyptic, fairy tale, wild west, ancient tomb/Egyptian, spy/espionage, or\n    circus/carnival — including sensory ideas, common mechanisms, and pitfalls to avoid. With no genre, lists\n    every genre. Use for \"theming tips for a horror escape room\", \"what mechanisms suit a heist theme\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"genre":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A theming genre to look up; omit to list every genre.","examples":["heist","horror","sci-fi","fantasy","pirate"],"title":"Genre"}},"title":"theming_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 ranked shortlist of tips for someone designing their first escape room — flow, puzzle count, hint","description":"A ranked shortlist of tips for someone designing their first escape room — flow, puzzle count, hint\n    scripting, reset time, and more. Use for \"tips for designing my first escape room\".","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}}}}