{"openapi":"3.1.0","info":{"title":"StretchRoutine API","version":"0.1.0","description":"Stretch and mobility routine builder by activity and target area, with computed routine-duration estimates.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://stretchroutine.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/stretchroutine/docs"},"termsOfService":"https://connectorbay.com/stretchroutine/terms"},"servers":[{"url":"https://stretchroutine.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/stretchroutine/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/stretch_routine":{"post":{"operationId":"stretch_routine","summary":"A structured stretch routine for an activity: dynamic pre-activity warm-up stretches, static post-","description":"A structured stretch routine for an activity: dynamic pre-activity warm-up stretches, static post-\n    activity cool-down stretches, or both, with muscle groups, hold-time/rep guidance and a computed total-\n    duration estimate. Use for \"stretch routine for running\", \"post-workout stretches for weightlifting\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"activity":{"description":"Activity: running, desk_work, weightlifting, cycling, or general.","examples":["running","desk work","weightlifting","cycling"],"title":"Activity","type":"string"},"phase":{"default":"both","description":"pre | post | both","title":"Phase","type":"string"}},"required":["activity"],"title":"stretch_routineArguments","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/mobility_routine":{"post":{"operationId":"mobility_routine","summary":"A general mobility-drill routine for a target area, with a computed total-duration estimate. Use for","description":"A general mobility-drill routine for a target area, with a computed total-duration estimate. Use for\n    \"hip mobility routine\", \"shoulder mobility exercises\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"target_area":{"description":"Target area: hips, shoulders, ankles, thoracic_spine, neck, wrists.","examples":["hips","shoulders","ankles"],"title":"Target Area","type":"string"}},"required":["target_area"],"title":"mobility_routineArguments","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}}}}