{"openapi":"3.1.0","info":{"title":"Powerlifting Score API","version":"1.0.0","description":"Powerlifting strength-score maths as an API, computed locally and deterministically — the Wilks, DOTS and IPF GL numbers a meet, gym or training app uses to compare lifters across bodyweights and sexes. The wilks endpoint gives the classic Wilks coefficient (1996) and score: total × 500 ÷ a fifth-order polynomial in bodyweight, with separate male and female curves — long the federation standard for \"best lifter\", a 100 kg man totalling 600 kg scores about 365. The dots endpoint gives the modern DOTS score (2019), the same total × 500 ÷ polynomial idea but fitted to updated data with a fourth-order curve that is fairer across the weight classes and not skewed to the middleweights, now the default in most raw meet software. The ipf-gl endpoint gives the International Powerlifting Federation's current GL Points (2020): 100 × total ÷ (A − B·e^(−C·bodyweight)), with separate constants for sex and for raw (classic) versus equipped lifting, the official metric at IPF championships. Everything is computed locally and deterministically, so it is instant and private. Ideal for meet-management and scoring software, gym leaderboards and training-log apps, and strength-sport tools. Pure local computation — no key, no third-party service, instant. 3 compute endpoints. For one-rep-max estimation and plate loading use a strength-training API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/powerlifting-api","description":"oanor gateway"}],"tags":[{"name":"Score"},{"name":"Meta"}],"components":{"securitySchemes":{"oanorKey":{"type":"apiKey","in":"header","name":"x-oanor-key","description":"Get your key at https://www.oanor.com/developer/keys"}}},"security":[{"oanorKey":[]}],"paths":{"/v1/dots":{"get":{"operationId":"get_v1_dots","tags":["Score"],"summary":"DOTS coefficient and score","description":"","parameters":[{"name":"sex","in":"query","required":true,"description":"male or female","schema":{"type":"string"},"example":"male"},{"name":"bodyweight_kg","in":"query","required":true,"description":"Bodyweight (kg)","schema":{"type":"string"},"example":"100"},{"name":"total_kg","in":"query","required":true,"description":"Total lifted (kg)","schema":{"type":"string"},"example":"600"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/ipf-gl":{"get":{"operationId":"get_v1_ipf_gl","tags":["Score"],"summary":"IPF GL points","description":"","parameters":[{"name":"sex","in":"query","required":true,"description":"male or female","schema":{"type":"string"},"example":"male"},{"name":"bodyweight_kg","in":"query","required":true,"description":"Bodyweight (kg)","schema":{"type":"string"},"example":"100"},{"name":"total_kg","in":"query","required":true,"description":"Total lifted (kg)","schema":{"type":"string"},"example":"600"},{"name":"equipment","in":"query","required":false,"description":"raw (classic) or equipped (default raw)","schema":{"type":"string"},"example":"raw"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/wilks":{"get":{"operationId":"get_v1_wilks","tags":["Score"],"summary":"Wilks coefficient and score","description":"","parameters":[{"name":"sex","in":"query","required":true,"description":"male or female","schema":{"type":"string"},"example":"male"},{"name":"bodyweight_kg","in":"query","required":true,"description":"Bodyweight (kg)","schema":{"type":"string"},"example":"100"},{"name":"total_kg","in":"query","required":true,"description":"Total lifted (kg)","schema":{"type":"string"},"example":"600"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}},"/v1/meta":{"get":{"operationId":"get_v1_meta","tags":["Meta"],"summary":"Spec","description":"","parameters":[],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"401":{"description":"Missing or invalid x-oanor-key header"},"402":{"description":"Active subscription required"},"429":{"description":"Rate-limit or monthly quota reached"},"502":{"description":"Upstream did not respond"}}}}},"x-oanor-pricing":[{"slug":"free","name":"Free","price_cents_month":0,"monthly_call_quota":9000,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":720,"monthly_call_quota":88000,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2620,"monthly_call_quota":360000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":8100,"monthly_call_quota":1640000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/powerlifting-api"}