{"openapi":"3.1.0","info":{"title":"Mealtiming API","version":"0.1.0","description":"Workout nutrition-timing calculators: protein targets, pre/post-workout fueling, and hydration timing — all local.\n\nEvery operation is read-only or compute-only. The same tools are available over MCP (streamable HTTP) at https://mealtiming.connectorbay.com/mcp.","contact":{"name":"Unify Dynamics LLC","email":"hr@unifydynamics.com","url":"https://connectorbay.com/mealtiming/docs"},"termsOfService":"https://connectorbay.com/mealtiming/terms"},"servers":[{"url":"https://mealtiming.connectorbay.com"}],"externalDocs":{"url":"https://connectorbay.com/mealtiming/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/protein_target_calculator":{"post":{"operationId":"protein_target_calculator","summary":"Daily protein grams (range and midpoint) by body weight and activity level, using documented","description":"Daily protein grams (range and midpoint) by body weight and activity level, using documented\n    general sports-nutrition g/kg ranges. Use for \"how much protein should I eat if I'm 75kg lifting\n    weights\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"weight_kg":{"description":"Body weight in kg.","exclusiveMinimum":30,"maximum":250,"title":"Weight Kg","type":"number"},"activity_level":{"description":"sedentary | general_fitness | endurance | strength_hypertrophy | fat_loss_preserve_muscle","title":"Activity Level","type":"string"}},"required":["weight_kg","activity_level"],"title":"protein_target_calculatorArguments","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/pre_workout_fueling":{"post":{"operationId":"pre_workout_fueling","summary":"Carbohydrate grams to eat by how many hours before training, from the widely cited 1-4 g/kg,","description":"Carbohydrate grams to eat by how many hours before training, from the widely cited 1-4 g/kg,\n    1-4 hours before exercise guidance, with the bucket that applies to your timing. Use for \"what\n    should I eat 2 hours before a run\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"weight_kg":{"description":"Body weight in kg.","exclusiveMinimum":30,"maximum":250,"title":"Weight Kg","type":"number"},"hours_before_workout":{"description":"Hours between eating and the start of the workout.","maximum":24,"minimum":0,"title":"Hours Before Workout","type":"number"}},"required":["weight_kg","hours_before_workout"],"title":"pre_workout_fuelingArguments","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/post_workout_recovery":{"post":{"operationId":"post_workout_recovery","summary":"Protein and carbohydrate targets after training by training type, plus an up-to-date note on","description":"Protein and carbohydrate targets after training by training type, plus an up-to-date note on\n    the \"anabolic window\". Use for \"what should I eat after lifting\", \"do I need to eat right after my\n    workout\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"weight_kg":{"description":"Body weight in kg.","exclusiveMinimum":30,"maximum":250,"title":"Weight Kg","type":"number"},"training_type":{"default":"general","description":"endurance | strength | hypertrophy | general","title":"Training Type","type":"string"}},"required":["weight_kg"],"title":"post_workout_recoveryArguments","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/anabolic_window_explainer":{"post":{"operationId":"anabolic_window_explainer","summary":"What the \"anabolic window\" is, the outdated 30-45 minute belief versus current sports-nutrition","description":"What the \"anabolic window\" is, the outdated 30-45 minute belief versus current sports-nutrition\n    consensus, and when tighter timing still helps. Use for \"do I really need to eat right after my\n    workout\", \"is the anabolic window real\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{},"title":"anabolic_window_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/hydration_timing":{"post":{"operationId":"hydration_timing","summary":"Fluid amounts before, during, and after a workout, from general exercise-science ranges. Use","description":"Fluid amounts before, during, and after a workout, from general exercise-science ranges. Use\n    for \"how much water should I drink during an hour run\".","tags":["tools"],"requestBody":{"required":true,"content":{"application/json":{"schema":{"properties":{"weight_kg":{"description":"Body weight in kg.","exclusiveMinimum":30,"maximum":250,"title":"Weight Kg","type":"number"},"workout_duration_min":{"description":"Planned workout duration in minutes.","exclusiveMinimum":0,"maximum":600,"title":"Workout Duration Min","type":"number"}},"required":["weight_kg","workout_duration_min"],"title":"hydration_timingArguments","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}}}}