{"openapi":"3.1.0","info":{"title":"Hydraulic Press & Pascal API","version":"1.0.0","description":"Pascal's-principle hydraulics as an API, computed locally and deterministically. The press endpoint computes the force multiplication of a hydraulic press, jack or master/slave cylinder: a pressure P = F/A acts equally throughout a connected fluid, so a small input force on a small piston becomes a large output force on a large piston, F2 = F1·A2/A1, with the mechanical advantage A2/A1 — areas given directly or as piston diameters, and the pressure in pascals, bar and psi. The stroke endpoint applies volume conservation, A1·d1 = A2·d2: the big piston moves less the more force it gains, and the work F·d is the same on both sides. The cylinder endpoint gives the push and pull force of a hydraulic cylinder at a pressure, F = P·A on the bore side and F = P·(A_bore − A_rod) on the rod (annulus) side. Everything is computed locally and deterministically, so it is instant and private. Ideal for hydraulics and fluid-power engineering tools, press, jack and lift design, brake and machine apps, and physics education. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is Pascal-principle force multiplication; for pressure at depth and force on a submerged wall use a hydrostatics API and for pump power use a pump API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/hydraulic-api","description":"oanor gateway"}],"tags":[{"name":"Hydraulic"},{"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/cylinder":{"get":{"operationId":"get_v1_cylinder","tags":["Hydraulic"],"summary":"Cylinder push/pull force","description":"","parameters":[{"name":"pressure","in":"query","required":true,"description":"Pressure (Pa)","schema":{"type":"string"},"example":"10000000"},{"name":"bore_diameter","in":"query","required":true,"description":"Bore diameter (m)","schema":{"type":"string"},"example":"0.05"},{"name":"rod_diameter","in":"query","required":false,"description":"Rod diameter for pull force (m)","schema":{"type":"string"},"example":"0.025"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"formula":"push F = P·A_bore; pull F = P·(A_bore − A_rod).","bore_area_m2":0.0019634954,"pressure_bar":100,"pull_force_n":14726.215564,"push_force_n":19634.954085,"pull_force_kn":14.72621556,"push_force_kn":19.63495408,"rod_diameter_m":0.025,"annulus_area_m2":0.0014726216,"bore_diameter_m":0.05},"meta":{"timestamp":"2026-06-04T10:18:40.260Z","request_id":"fdc77ebb-6867-4c86-be9c-8c65fdd5498f"},"status":"ok","message":"Cylinder push/pull force","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/press":{"get":{"operationId":"get_v1_press","tags":["Hydraulic"],"summary":"Hydraulic press force multiplication","description":"","parameters":[{"name":"input_force","in":"query","required":false,"description":"Input force F1 (N)","schema":{"type":"string"},"example":"100"},{"name":"input_area","in":"query","required":false,"description":"Input piston area A1 (m²)","schema":{"type":"string"},"example":"0.001"},{"name":"input_diameter","in":"query","required":false,"description":"Or input piston diameter (m)","schema":{"type":"string"}},{"name":"output_area","in":"query","required":false,"description":"Output piston area A2 (m²)","schema":{"type":"string"},"example":"0.05"},{"name":"output_diameter","in":"query","required":false,"description":"Or output piston diameter (m)","schema":{"type":"string"}},{"name":"output_force","in":"query","required":false,"description":"Or output force F2 (N) to solve input","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"formula":"P = F1/A1; F2 = F1·A2/A1; mechanical advantage = A2/A1.","pressure_pa":100000,"pressure_bar":1,"pressure_kpa":100,"pressure_psi":14.503774,"input_area_m2":0.001,"input_force_n":100,"output_area_m2":0.05,"output_force_n":5000,"mechanical_advantage":50},"meta":{"timestamp":"2026-06-04T10:18:40.361Z","request_id":"9dbcf564-9284-4cc8-829e-b1253bb936c0"},"status":"ok","message":"Hydraulic press force multiplication","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/stroke":{"get":{"operationId":"get_v1_stroke","tags":["Hydraulic"],"summary":"Piston travel & work","description":"","parameters":[{"name":"input_area","in":"query","required":false,"description":"Input area A1 (m²)","schema":{"type":"string"},"example":"0.001"},{"name":"output_area","in":"query","required":false,"description":"Output area A2 (m²)","schema":{"type":"string"},"example":"0.05"},{"name":"input_diameter","in":"query","required":false,"description":"Or input diameter (m)","schema":{"type":"string"}},{"name":"output_diameter","in":"query","required":false,"description":"Or output diameter (m)","schema":{"type":"string"}},{"name":"input_displacement","in":"query","required":false,"description":"Input stroke d1 (m)","schema":{"type":"string"},"example":"0.1"},{"name":"output_displacement","in":"query","required":false,"description":"Or output stroke d2 (m)","schema":{"type":"string"}},{"name":"input_force","in":"query","required":false,"description":"Input force (N) for work","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"formula":"A1·d1 = A2·d2; the output moves less the more force it gains.","input_area_m2":0.001,"output_area_m2":0.05,"displacement_ratio":0.02,"volume_displaced_m3":0.0001,"input_displacement_m":0.1,"output_displacement_m":0.002,"volume_displaced_litres":0.1},"meta":{"timestamp":"2026-06-04T10:18:40.456Z","request_id":"ab66fd50-32e9-492a-8fb1-e16bea63d184"},"status":"ok","message":"Piston travel & work","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":"hydraulic","note":"Pascal's-principle hydraulics (press, stroke, cylinder) — computed locally and deterministically, no key, no third-party service.","endpoints":["/v1/press","/v1/stroke","/v1/cylinder","/v1/meta"]},"meta":{"timestamp":"2026-06-04T10:18:40.554Z","request_id":"a0546006-381e-4914-b45d-d5935c8893ae"},"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":25000,"rps_limit":8,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2400,"monthly_call_quota":150000,"rps_limit":25,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":7400,"monthly_call_quota":773000,"rps_limit":80,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/hydraulic-api"}