{"openapi":"3.1.0","info":{"title":"Ascent API","version":"0.1.0","description":"A fully local rock-climbing reference toolkit: grade conversion (YDS/French/UIAA/V-scale), a gear glossary, belay-technique and climbing-discipline guides, safety-system concepts, a climbing-knot subset, warmup and injury-prevention guidance, and a training glossary. Educational reference only, not a substitute for qualified instruction.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://ascent.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/ascent/docs"},"termsOfService":"https://connectorbay.com/ascent/terms"},"servers":[{"url":"https://ascent.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/ascent/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/grade_conversion_table":{"post":{"operationId":"grade_conversion_table","summary":"Converts a climbing grade between the Yosemite Decimal System (5.10a), French sport (6a+), UIAA (VI+), and","description":"Converts a climbing grade between the Yosemite Decimal System (5.10a), French sport (6a+), UIAA (VI+), and\n    V-scale bouldering (V4). Verified against multiple independently published comparison charts. Grade\n    conversions are approximate community consensus, not an exact 1:1 mapping — this is stated in the result, and\n    the V-scale/bouldering cross-reference in particular is a rough ballpark rather than an established\n    conversion. Use for \"convert 5.11a to French\", \"what's V4 in French\", \"what UIAA grade is 6b+\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"system":{"description":"The grade's system: yds | french | uiaa | v_scale.","title":"System","type":"string"},"grade":{"description":"The grade to convert.","examples":["5.10a","6a+","VI+","V4"],"title":"Grade","type":"string"}},"required":["system","grade"],"title":"grade_conversion_tableArguments","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_glossary":{"post":{"operationId":"gear_glossary","summary":"Definitions of common climbing gear: carabiner locking types (screw-gate vs. auto-locking), cams/SLCDs,","description":"Definitions of common climbing gear: carabiner locking types (screw-gate vs. auto-locking), cams/SLCDs,\n    nuts, quickdraws, belay device types, harness, chalk, dynamic vs. static rope, helmet, shoes, crash pad, and\n    slings. Use for \"what's a cam\", \"what's the difference between a screw-gate and an auto-locking carabiner\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"term":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A specific gear term to look up; omit to list all ~16 terms.","title":"Term"}},"title":"gear_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/belay_technique_guide":{"post":{"operationId":"belay_technique_guide","summary":"General technique description for common belay device types: tube-style (ATC-type) and assisted-braking","description":"General technique description for common belay device types: tube-style (ATC-type) and assisted-braking\n    (Grigri-style). This is NOT a substitute for hands-on certified instruction (e.g. from a climbing gym belay\n    class or a qualified instructor) — never belay for real without that training first. Use for \"how does a\n    Grigri work\", \"what's the technique for belaying with an ATC\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"device_type":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"tube_style | assisted_braking; omit to describe both.","title":"Device Type"}},"title":"belay_technique_guideArguments","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/climbing_type_guide":{"post":{"operationId":"climbing_type_guide","summary":"Explains bouldering, sport climbing, traditional (trad) climbing, top-rope climbing, and free solo","description":"Explains bouldering, sport climbing, traditional (trad) climbing, top-rope climbing, and free solo\n    climbing's gear and safety-system differences. Free solo is described factually — it exists, it has no\n    safety system, and its risk profile is extreme — with no instructional \"how-to\" content; it should not be\n    attempted without the exceptional experience it requires. Use for \"what's the difference between sport and\n    trad climbing\", \"what is free soloing\", \"what gear does bouldering need\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"type":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"bouldering | sport | trad | top_rope | free_solo; omit to list all.","title":"Type"}},"title":"climbing_type_guideArguments","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/safety_system_guide":{"post":{"operationId":"safety_system_guide","summary":"General climbing safety concepts only: the redundancy principle, why an anchor needs multiple solid","description":"General climbing safety concepts only: the redundancy principle, why an anchor needs multiple solid\n    points, checking knots/harness/belay device before climbing, and standard communication calls. This is\n    conceptual education, heavily caveated — always get qualified in-person instruction before applying any of\n    this for real climbing. Use for \"what is anchor redundancy\", \"what should I check before I start climbing\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"topic":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"redundancy_principle | anchor_basics | pre_climb_checks | communication_calls; omit to list all.","title":"Topic"}},"title":"safety_system_guideArguments","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/knot_guide":{"post":{"operationId":"knot_guide","summary":"A climbing-specific knot subset: figure-eight follow-through, clove hitch, and prusik/autoblock, with a","description":"A climbing-specific knot subset: figure-eight follow-through, clove hitch, and prusik/autoblock, with a\n    description and typical climbing use for each. The sibling /knots connector has the full 44-knot reference\n    (climbing, sailing, camping, fishing, and more) with numbered step-by-step tying instructions. Use for \"how\n    do I tie in with a figure eight\", \"what's a prusik used for in climbing\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"figure_eight_follow_through | clove_hitch | prusik; omit to list all three.","title":"Name"}},"title":"knot_guideArguments","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/warmup_guide":{"post":{"operationId":"warmup_guide","summary":"General warmup and mobility guidance before climbing — finger/forearm warmup, shoulder activation, and","description":"General warmup and mobility guidance before climbing — finger/forearm warmup, shoulder activation, and\n    starting on easy routes — to reduce injury risk. Use for \"how should I warm up before climbing\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"warmup_guideArguments","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/injury_prevention_guide":{"post":{"operationId":"injury_prevention_guide","summary":"Common climbing injuries (finger pulley strains, shoulder issues, climber's elbow, skin tears) and general","description":"Common climbing injuries (finger pulley strains, shoulder issues, climber's elbow, skin tears) and general\n    prevention tips (gradual loading, proper warmup, listening to pain signals, rest days). General educational\n    information, not medical advice for an actual injury. Use for \"how do I avoid climbing injuries\", \"what's a\n    pulley strain\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"injury_prevention_guideArguments","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/training_glossary":{"post":{"operationId":"training_glossary","summary":"Definitions of climbing-specific training and movement vocabulary — crimp, sloper, jug, beta, redpoint,","description":"Definitions of climbing-specific training and movement vocabulary — crimp, sloper, jug, beta, redpoint,\n    onsight, flash, dyno, crux, project — distinct from the gear glossary. Use for \"what does redpoint mean\",\n    \"what's the difference between onsight and flash\".","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 ~10 terms.","title":"Term"}},"title":"training_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}}}}