{"openapi":"3.1.0","info":{"title":"Flywheel Energy API","version":"1.0.0","description":"Flywheel and rotational-energy dynamics as an API, computed locally and deterministically. The energy endpoint computes the rotational kinetic energy stored in a spinning body, E = ½·I·ω², together with its angular momentum L = I·ω, in joules, kilojoules and watt-hours — from a moment of inertia (given directly, or worked out from a shape, mass and dimension) and an angular speed given as rpm, radians per second or hertz, which it reports in all three. The inertia endpoint returns the moment of inertia about the central axis for the common shapes — solid disk and cylinder (½·m·r²), thin ring and hoop (m·r²), hollow cylinder (½·m·(r_out²+r_in²)), solid sphere (⅖·m·r²), hollow sphere (⅔·m·r²) and a rod about its centre (1/12·m·L²) or end (⅓·m·L²) — from a mass and a radius, diameter or length. The flywheel endpoint sizes a flywheel: give a target energy and an operating speed and it returns the required inertia I = 2E/ω², or give an inertia and a maximum and minimum rpm and it returns the energy delivered between them, ΔE = ½·I·(ω₁²−ω₂²), with the coefficient of fluctuation. Everything is computed locally and deterministically, so it is instant and private. Ideal for mechanical-engineering and energy-storage tools, motor, engine and powertrain design, kinetic-energy-recovery and physics-education apps. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is rotational energy and inertia; for bolt tightening torque use a torque API and for power-screw mechanics use a screw-jack API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/flywheel-api","description":"oanor gateway"}],"tags":[{"name":"Flywheel"},{"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/energy":{"get":{"operationId":"get_v1_energy","tags":["Flywheel"],"summary":"Rotational kinetic energy & angular momentum","description":"","parameters":[{"name":"inertia","in":"query","required":false,"description":"Moment of inertia (kg·m²)","schema":{"type":"string"},"example":"1.25"},{"name":"shape","in":"query","required":false,"description":"Or shape (solid_disk, solid_sphere, …)","schema":{"type":"string"},"example":"solid_disk"},{"name":"mass","in":"query","required":false,"description":"Mass for the shape (kg)","schema":{"type":"string"},"example":"10"},{"name":"radius","in":"query","required":false,"description":"Radius for the shape (m)","schema":{"type":"string"},"example":"0.5"},{"name":"rpm","in":"query","required":false,"description":"Angular speed (rpm)","schema":{"type":"string"},"example":"3000"},{"name":"omega","in":"query","required":false,"description":"Or angular speed (rad/s)","schema":{"type":"string"}},{"name":"hz","in":"query","required":false,"description":"Or angular speed (Hz)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"formula":"E = ½·I·ω²; L = I·ω; ω = rpm·2π/60.","angular_speed":{"hz":50,"rpm":3000,"omega_rad_s":314.159265},"inertia_source":"given","kinetic_energy_kj":61.68502751,"kinetic_energy_wh":17.13472986,"kinetic_energy_joules":61685.027507,"moment_of_inertia_kg_m2":1.25,"angular_momentum_kg_m2_s":392.699082},"meta":{"timestamp":"2026-06-04T10:18:54.212Z","request_id":"3d26438d-33e6-4ef9-85fb-b41e54236c03"},"status":"ok","message":"Rotational kinetic energy","success":true}}}},"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/flywheel":{"get":{"operationId":"get_v1_flywheel","tags":["Flywheel"],"summary":"Flywheel sizing & energy delivered","description":"","parameters":[{"name":"energy","in":"query","required":false,"description":"Target energy (J) for required inertia","schema":{"type":"string"},"example":"50000"},{"name":"rpm","in":"query","required":false,"description":"Operating speed (rpm)","schema":{"type":"string"},"example":"3000"},{"name":"inertia","in":"query","required":false,"description":"Or inertia (kg·m²) for energy delivered","schema":{"type":"string"}},{"name":"rpm_max","in":"query","required":false,"description":"Maximum rpm","schema":{"type":"string"}},{"name":"rpm_min","in":"query","required":false,"description":"Minimum rpm","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"mode":"required_inertia","note":"Flywheel energy storage and sizing.","formula":"I = 2E/ω²; ΔE = ½·I·(ω₁² − ω₂²).","operating_speed":{"hz":50,"rpm":3000,"omega_rad_s":314.159265},"target_energy_joules":50000,"required_moment_of_inertia_kg_m2":1.01321184},"meta":{"timestamp":"2026-06-04T10:18:54.317Z","request_id":"b4c28c7b-b331-4bc8-b4f0-bb708fb45e50"},"status":"ok","message":"Flywheel sizing & energy delivered","success":true}}}},"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/inertia":{"get":{"operationId":"get_v1_inertia","tags":["Flywheel"],"summary":"Moment of inertia of a shape","description":"","parameters":[{"name":"shape","in":"query","required":true,"description":"solid_disk|thin_ring|hollow_cylinder|solid_sphere|rod_center|…","schema":{"type":"string"},"example":"solid_disk"},{"name":"mass","in":"query","required":true,"description":"Mass (kg)","schema":{"type":"string"},"example":"10"},{"name":"radius","in":"query","required":false,"description":"Radius (m)","schema":{"type":"string"},"example":"0.5"},{"name":"length","in":"query","required":false,"description":"Or length for a rod (m)","schema":{"type":"string"}},{"name":"outer_radius","in":"query","required":false,"description":"Outer radius for hollow cylinder (m)","schema":{"type":"string"}},{"name":"inner_radius","in":"query","required":false,"description":"Inner radius for hollow cylinder (m)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"shape":"solid_disk","formula":"Solid disk / solid cylinder, I = ½·m·r²","mass_kg":10,"radius_m":0.5,"moment_of_inertia_kg_m2":1.25},"meta":{"timestamp":"2026-06-04T10:18:54.408Z","request_id":"a4e20de0-2fdf-43a3-bf6e-cc1930cf7b33"},"status":"ok","message":"Moment of inertia of a shape","success":true}}}},"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","content":{"application/json":{"example":{"data":{"api":"flywheel","note":"Flywheel / rotational-energy dynamics — computed locally and deterministically, no key, no third-party service.","shapes":["solid_disk","solid_cylinder","thin_ring","hoop","thin_cylinder","solid_sphere","hollow_sphere","rod_center","rod_end","point_mass","hollow_cylinder"],"endpoints":["/v1/energy","/v1/inertia","/v1/flywheel","/v1/meta"]},"meta":{"timestamp":"2026-06-04T10:18:54.506Z","request_id":"8c63be4b-b0c7-49eb-b8d2-de4583af69b1"},"status":"ok","message":"Meta","success":true}}}},"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":2000,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":900,"monthly_call_quota":40000,"rps_limit":5,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2400,"monthly_call_quota":250000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":7400,"monthly_call_quota":1546000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/flywheel-api"}