{"openapi":"3.1.0","info":{"title":"Breathwork API","version":"0.1.0","description":"General, secular breathing-technique reference and session timer — box breathing, 4-7-8, diaphragmatic breathing, physiological sigh — all local.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://breathwork.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/breathwork/docs"},"termsOfService":"https://connectorbay.com/breathwork/terms"},"servers":[{"url":"https://breathwork.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/breathwork/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/technique_guide":{"post":{"operationId":"technique_guide","summary":"Step-by-step instructions and real phase timing for a named breathing technique (box breathing,","description":"Step-by-step instructions and real phase timing for a named breathing technique (box breathing,\n    4-7-8, diaphragmatic breathing, physiological sigh); omit `name` to list all four. Use for \"how do I\n    do box breathing\", \"what's the 4-7-8 technique\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"name":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"A technique name, e.g. 'box breathing', '4-7-8', 'diaphragmatic breathing', 'physiological sigh'. Omit to list all four.","title":"Name"}},"title":"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/goal_based_recommendation":{"post":{"operationId":"goal_based_recommendation","summary":"Which breathing technique(s) suit a general goal (calming acute stress, falling asleep,","description":"Which breathing technique(s) suit a general goal (calming acute stress, falling asleep,\n    focus/performance, daily stress) and why. Use for \"which breathing technique helps me fall\n    asleep\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"goal":{"description":"calm_acute_stress | fall_asleep | focus_performance | daily_stress","title":"Goal","type":"string"}},"required":["goal"],"title":"goal_based_recommendationArguments","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/session_timer":{"post":{"operationId":"session_timer","summary":"How many full breathing cycles of a technique fit into a target session length, with the exact","description":"How many full breathing cycles of a technique fit into a target session length, with the exact\n    session time used and leftover seconds. Use for \"how many box breathing cycles fit in 3 minutes\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"technique":{"description":"A technique name, e.g. 'box breathing', '4-7-8'.","title":"Technique","type":"string"},"minutes":{"description":"Target session length in minutes.","exclusiveMinimum":0,"maximum":60,"title":"Minutes","type":"number"}},"required":["technique","minutes"],"title":"session_timerArguments","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}}}}