{"openapi":"3.1.0","info":{"title":"StepGoal API","version":"0.1.0","description":"Daily step-goal targets adjusted by age and activity level, a stride-length-based steps-to-distance/calorie converter, and a weekly-progress tracker with a real trend calculation — all local.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://stepgoal.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/stepgoal/docs"},"termsOfService":"https://connectorbay.com/stepgoal/terms"},"servers":[{"url":"https://stepgoal.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/stepgoal/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/daily_step_target":{"post":{"operationId":"daily_step_target","summary":"Recommended daily step target from documented walking-research baselines, adjusted for age and goal —","description":"Recommended daily step target from documented walking-research baselines, adjusted for age and goal —\n    with an explanation of where \"10,000 steps\" actually came from. Use for \"what should my daily step goal\n    be at 68, moderately active\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"age":{"description":"Age in years.","maximum":100,"minimum":5,"title":"Age","type":"integer"},"activity_level":{"description":"sedentary | light | moderate | active | very_active","title":"Activity Level","type":"string"},"goal":{"default":"general_health","description":"general_health | maintain | weight_management | increase_activity","title":"Goal","type":"string"},"current_daily_steps":{"anyOf":[{"minimum":0,"type":"number"},{"type":"null"}],"default":null,"description":"Your current typical daily steps, to get a classification and a gradual step-up plan.","title":"Current Daily Steps"}},"required":["age","activity_level"],"title":"daily_step_targetArguments","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/steps_to_distance_calories":{"post":{"operationId":"steps_to_distance_calories","summary":"Converts a step count to distance (using a stride-length-from-height estimate) and, with weight and","description":"Converts a step count to distance (using a stride-length-from-height estimate) and, with weight and\n    pace, to calories via the standard MET formula. Use for \"how far is 8,000 steps for someone 5'6\" and\n    calories at 70kg\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"steps":{"description":"Step count.","maximum":200000,"minimum":0,"title":"Steps","type":"number"},"height_cm":{"description":"Height in cm, for the stride-length estimate.","maximum":250,"minimum":100,"title":"Height Cm","type":"number"},"weight_kg":{"anyOf":[{"exclusiveMinimum":20,"maximum":300,"type":"number"},{"type":"null"}],"default":null,"description":"Body weight in kg, to also estimate calories burned.","title":"Weight Kg"},"pace":{"default":"moderate","description":"slow | moderate | brisk — affects cadence, minutes and MET.","title":"Pace","type":"string"},"sex":{"anyOf":[{"type":"string"},{"type":"null"}],"default":null,"description":"male | female, for the stride-length formula only. Omit for a unisex average.","title":"Sex"}},"required":["steps","height_cm"],"title":"steps_to_distance_caloriesArguments","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/weekly_progress_tracker":{"post":{"operationId":"weekly_progress_tracker","summary":"Weekly total, daily average, days meeting target, and a real trend (least-squares slope, classified","description":"Weekly total, daily average, days meeting target, and a real trend (least-squares slope, classified\n    improving/steady/declining). Use for \"was this a good step week against a target of 8000\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"daily_steps":{"description":"Steps for each of the last several days, oldest first.","examples":[[6200,7100,8000,7500,9200,10100,8800]],"items":{"type":"number"},"title":"Daily Steps","type":"array"},"target":{"description":"Your daily step target for comparison.","exclusiveMinimum":0,"title":"Target","type":"number"}},"required":["daily_steps","target"],"title":"weekly_progress_trackerArguments","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/step_count_reference":{"post":{"operationId":"step_count_reference","summary":"Where \"10,000 steps\" actually came from, the Tudor-Locke step-count classification, activity-level","description":"Where \"10,000 steps\" actually came from, the Tudor-Locke step-count classification, activity-level\n    baselines, and the cadence/MET table used by the other tools. Use for \"where does the 10,000 steps number\n    come from\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"step_count_referenceArguments","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}}}}