{"openapi":"3.1.0","info":{"title":"weyt.ai public API","version":"1.0.0","summary":"Compute a Weyt Age (strength age vs. population norms) from a bench set, optionally plus a squat set. Anonymous, nothing stored.","description":"weyt.ai is a strength-training app with a scoreboard: a Weyt Score (Gains · Balance · Routine) and a Weyt Age — your best lifts ranked against published population norms (Cooper Institute / ACSM) and lifters who track (Strength Level). This API exposes the Weyt Age calculator used by the public demo at https://weyt.ai/weyt-age. Also available as an MCP server at https://weyt.ai/api/mcp (tools: compute_weyt_age). Rate limit: 120 requests / 15 minutes per IP.","termsOfService":"https://weyt.ai/terms","contact":{"name":"weyt.ai","url":"https://weyt.ai/about"}},"servers":[{"url":"https://weyt.ai"}],"paths":{"/api/public/weyt-age":{"get":{"operationId":"computeWeytAge","summary":"Compute a Weyt Age from one bench set (squat optional)","parameters":[{"name":"sex","in":"query","required":true,"schema":{"type":"string","enum":["male","female"]}},{"name":"age","in":"query","required":true,"schema":{"type":"integer","minimum":14,"maximum":95},"description":"Calendar age in years."},{"name":"bodyweight","in":"query","required":false,"schema":{"type":"number","exclusiveMinimum":0},"description":"Bodyweight in `unit`. Optional: defaults to the sex average (200 lb male / 171 lb female) and the response sets bodyweight_assumed."},{"name":"unit","in":"query","required":false,"schema":{"type":"string","enum":["lb","kg"],"default":"lb"},"description":"Units for bodyweight and lift weights."},{"name":"bench","in":"query","required":true,"schema":{"type":"number","exclusiveMinimum":0},"description":"Best bench press set weight, in `unit`."},{"name":"bench_reps","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":10,"default":1}},{"name":"squat","in":"query","required":false,"schema":{"type":"number","exclusiveMinimum":0},"description":"Best squat set weight, in `unit`. Omit to estimate the squat at the bench’s Strength Level percentile (the result then carries squat_estimated: true)."},{"name":"squat_reps","in":"query","required":false,"schema":{"type":"integer","minimum":1,"maximum":10,"default":1}}],"responses":{"200":{"description":"The Weyt Age result, the inputs, the method, and a prefilled link to the interactive calculator.","content":{"application/json":{"schema":{"type":"object","properties":{"weyt_age":{"type":"object","description":"strengthAge, genPop percentile, per-lift results (see lib/weyt-age-demo DemoResult)."},"input":{"type":"object"},"method":{"type":"string"},"source":{"type":"string","format":"uri"},"try_it":{"type":"string","format":"uri"},"disclaimer":{"type":"string"}}}}}},"400":{"description":"Invalid input — `error` says which parameter."},"422":{"description":"Inputs valid but no Weyt Age computable."},"429":{"description":"Rate limited."}}}}},"externalDocs":{"description":"Plain-language description for assistants","url":"https://weyt.ai/llms.txt"}}