{"openapi":"3.1.0","info":{"title":"Cache API","version":"0.1.0","description":"A fully local, hand-curated geocaching reference: cache types (traditional, multi-cache, mystery/puzzle, EarthCache, virtual, letterbox hybrid, Wherigo, events and more), the difficulty/terrain 1-5 star rating system, etiquette, trackables (travel bugs, geocoins), gear basics, a glossary and beginner tips. Not affiliated with any specific geocaching app or platform.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://cache.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/cache/docs"},"termsOfService":"https://connectorbay.com/cache/terms"},"servers":[{"url":"https://cache.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/cache/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/cache_type_info":{"post":{"operationId":"cache_type_info","summary":"Full detail for one geocaching cache type: how it works, typical contents, and who it suits. Use for","description":"Full detail for one geocaching cache type: how it works, typical contents, and who it suits. Use for\n    \"what's a mystery cache\", \"how does an EarthCache work\", \"what is a Wherigo cache\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"description":"A cache type's name or alias.","examples":["traditional","mystery cache","EarthCache","multi-cache"],"minLength":1,"title":"Name","type":"string"}},"required":["name"],"title":"cache_type_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/cache_type_list":{"post":{"operationId":"cache_type_list","summary":"Every cache type covered, each with a one-line summary and which experience levels it suits. Use for","description":"Every cache type covered, each with a one-line summary and which experience levels it suits. Use for\n    \"what cache types are there\", \"list every kind of geocache\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"cache_type_listArguments","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/rating_system_explainer":{"post":{"operationId":"rating_system_explainer","summary":"Explains the Difficulty/Terrain (D/T) 1-5 star rating system used across geocaching listings — what each","description":"Explains the Difficulty/Terrain (D/T) 1-5 star rating system used across geocaching listings — what each\n    axis measures, how the half-point scale works, and how container size relates to it. Use for \"explain the\n    difficulty and terrain ratings\", \"what does a 3/4.5 D/T rating mean\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"topic":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A rating topic to explain; omit to get every topic.","examples":["overview","difficulty","terrain","how_to_read","size"],"title":"Topic"}},"title":"rating_system_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/etiquette_tip":{"post":{"operationId":"etiquette_tip","summary":"One geocaching etiquette tip — Cache In Trash Out, signing the logbook, re-hiding carefully, trading","description":"One geocaching etiquette tip — Cache In Trash Out, signing the logbook, re-hiding carefully, trading\n    fairly, staying discreet around muggles, respecting private property, leave no trace, logging a DNF\n    honestly, reporting a damaged cache, avoiding spoilers — or every tip if no topic is given. Use for \"what\n    does cache in trash out mean\", \"geocaching etiquette tips\", \"how should I re-hide a cache\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"topic":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"An etiquette topic; omit to get every tip.","examples":["cache in trash out","muggles","logbook","trading","leave no trace"],"title":"Topic"}},"title":"etiquette_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/trackable_info":{"post":{"operationId":"trackable_info","summary":"Explains geocaching trackables — what a trackable is, travel bugs, geocoins, tracking codes, stated","description":"Explains geocaching trackables — what a trackable is, travel bugs, geocoins, tracking codes, stated\n    missions/goals, moving one along, and trackable hotels — or every topic if none is given. Use for \"what's a\n    travel bug\", \"how do geocoins work\", \"what should I do if I find a trackable\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"topic":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A trackables topic; omit to get every topic.","examples":["travel bug","geocoin","tracking code","mission","trackable hotel"],"title":"Topic"}},"title":"trackable_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/gear_overview":{"post":{"operationId":"gear_overview","summary":"Basic gear worth bringing geocaching — a GPS device or app, pen, tweezers, gloves, and more — each","description":"Basic gear worth bringing geocaching — a GPS device or app, pen, tweezers, gloves, and more — each\n    flagged as essential or optional with a one-line reason. Use for \"what gear do I need to start\n    geocaching\", \"what should I bring caching\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"gear_overviewArguments","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 geocaching terms — muggle, TFTC, FTF, DNF, BYOP, CO, swag, nano, bison tube, GZ,","description":"Definitions of common geocaching terms — muggle, TFTC, FTF, DNF, BYOP, CO, swag, nano, bison tube, GZ,\n    spoiler, waypoint, power trail, archived, plundered, dip, smiley, and more. Use for \"what does muggle\n    mean\", \"what's TFTC\", \"what's a bison tube\".","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/find_cache_type_for_experience":{"post":{"operationId":"find_cache_type_for_experience","summary":"Suggests which cache types suit a stated experience level (beginner, intermediate, advanced), with the","description":"Suggests which cache types suit a stated experience level (beginner, intermediate, advanced), with the\n    reasoning behind the suggestion. Use for \"what cache types should a beginner try\", \"what's next after\n    traditional caches\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"level":{"description":"An experience level.","examples":["beginner","intermediate","advanced"],"minLength":1,"title":"Level","type":"string"}},"required":["level"],"title":"find_cache_type_for_experienceArguments","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 tips for finding your first geocaches, ordered from most to least essential. Use","description":"A curated shortlist of tips for finding your first geocaches, ordered from most to least essential. Use\n    for \"tips for a first-time geocacher\", \"how do I find my first cache\".","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}}}}