{"openapi":"3.1.0","info":{"title":"Screw Jack API","version":"1.0.0","description":"Power-screw (lead-screw and screw-jack) mechanics as an API, computed locally and deterministically. The torque endpoint computes the torque to raise and to lower a load on a power screw from the load, the mean thread diameter, the lead (given directly or as pitch × starts) and the coefficient of friction: T_raise = (W·dm/2)·(L + π·μ′·dm)/(π·dm − μ′·L), with the matching lower torque, the lead angle, the efficiency (W·L ÷ 2π·T_raise) and whether the screw is self-locking (it is when the effective friction is at least the tangent of the lead angle). Square threads are the default; pass a thread angle (for example 29° for an ACME thread) and it applies the effective friction μ/cos(half-angle). The effort endpoint turns that torque into the hand force on a lever or handle and the resulting mechanical advantage. The travel endpoint relates turns, lift distance and — with an rpm — the linear speed and time. Lengths are in millimetres, load in newtons and torque in newton-metres. Everything is computed locally and deterministically, so it is instant and private. Thread friction only — add collar/thrust friction separately. Ideal for machine-design and mechanism tools, jack, press, vice and clamp design, maker and robotics projects, and engineering calculators. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is power-screw mechanics; for the geometry of a screw thread use a thread API and for bolt tightening torque use a torque API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/screwjack-api","description":"oanor gateway"}],"tags":[{"name":"ScrewJack"},{"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/effort":{"get":{"operationId":"get_v1_effort","tags":["ScrewJack"],"summary":"Handle effort & mechanical advantage","description":"","parameters":[{"name":"load","in":"query","required":true,"description":"Axial load W (N)","schema":{"type":"string"},"example":"10000"},{"name":"mean_diameter","in":"query","required":true,"description":"Mean diameter (mm)","schema":{"type":"string"},"example":"22"},{"name":"lead","in":"query","required":false,"description":"Lead (or pitch+starts)","schema":{"type":"string"},"example":"5"},{"name":"friction","in":"query","required":false,"description":"Friction (default 0.15)","schema":{"type":"string"},"example":"0.15"},{"name":"thread_angle","in":"query","required":false,"description":"Thread angle deg","schema":{"type":"string"},"example":"0"},{"name":"lever_arm","in":"query","required":true,"description":"Handle/lever arm (mm)","schema":{"type":"string"},"example":"300"},{"name":"direction","in":"query","required":false,"description":"raise|lower (default raise)","schema":{"type":"string"},"example":"raise"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Effort = torque ÷ lever arm. Mechanical advantage = load ÷ effort.","load_N":10000,"torque":{"N_m":24.7261,"N_mm":24726.06},"effort_N":82.4202,"direction":"raise","lever_arm_mm":300,"mechanical_advantage":121.329},"meta":{"timestamp":"2026-06-04T01:59:03.111Z","request_id":"e2da44b5-e6dd-45f7-be8a-7ebaf6fc74be"},"status":"ok","message":"Handle effort & mechanical advantage","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/torque":{"get":{"operationId":"get_v1_torque","tags":["ScrewJack"],"summary":"Raise/lower torque & efficiency","description":"","parameters":[{"name":"load","in":"query","required":true,"description":"Axial load W (N)","schema":{"type":"string"},"example":"10000"},{"name":"mean_diameter","in":"query","required":true,"description":"Mean thread diameter dm (mm)","schema":{"type":"string"},"example":"22"},{"name":"lead","in":"query","required":false,"description":"Lead (mm) (or pitch+starts)","schema":{"type":"string"},"example":"5"},{"name":"pitch","in":"query","required":false,"description":"Thread pitch","schema":{"type":"string"}},{"name":"starts","in":"query","required":false,"description":"Number of starts","schema":{"type":"string"}},{"name":"friction","in":"query","required":false,"description":"Coefficient of friction (default 0.15)","schema":{"type":"string"},"example":"0.15"},{"name":"thread_angle","in":"query","required":false,"description":"Thread angle deg (0 square, 29 ACME)","schema":{"type":"string"},"example":"0"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Square thread by default (thread_angle=0); pass thread_angle=29 for ACME. Excludes collar/thrust-bearing friction.","load_N":10000,"formula":"T_raise = (W·dm/2)·(L+π·μ'·dm)/(π·dm−μ'·L); efficiency = W·L/(2π·T_raise); self-locking when μ' ≥ tanλ.","lead_mm":5,"friction":0.15,"efficiency":0.32184,"lower_torque":{"N_m":8.4506,"N_mm":8450.55},"raise_torque":{"N_m":24.7261,"N_mm":24726.06},"self_locking":true,"lead_angle_deg":4.1377,"mean_diameter_mm":22,"thread_angle_deg":0,"effective_friction":0.15,"efficiency_percent":32.18},"meta":{"timestamp":"2026-06-04T01:59:03.220Z","request_id":"3b886b71-3da5-43d2-84e5-7d2ee53e5314"},"status":"ok","message":"Raise/lower torque & efficiency","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/travel":{"get":{"operationId":"get_v1_travel","tags":["ScrewJack"],"summary":"Turns, distance & speed","description":"","parameters":[{"name":"lead","in":"query","required":false,"description":"Lead (or pitch+starts)","schema":{"type":"string"},"example":"5"},{"name":"pitch","in":"query","required":false,"description":"Pitch","schema":{"type":"string"}},{"name":"starts","in":"query","required":false,"description":"Starts","schema":{"type":"string"}},{"name":"distance","in":"query","required":false,"description":"Lift distance (mm)","schema":{"type":"string"},"example":"100"},{"name":"turns","in":"query","required":false,"description":"Or number of turns","schema":{"type":"string"}},{"name":"rpm","in":"query","required":false,"description":"Rotation speed (for linear speed)","schema":{"type":"string"},"example":"60"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"rpm":60,"note":"Turns = distance ÷ lead. Linear speed = rpm × lead.","turns":20,"lead_mm":5,"distance_mm":100,"time_seconds":20,"linear_speed_mm_s":5,"linear_speed_mm_min":300},"meta":{"timestamp":"2026-06-04T01:59:03.318Z","request_id":"7bea14ca-8029-4c69-9264-fda6f1838dd6"},"status":"ok","message":"Turns, distance & speed","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":"screwjack","note":"Power-screw (lead-screw / screw-jack) mechanics — computed locally and deterministically, no key, no third-party service.","defaults":{"friction":0.15,"thread_angle_deg":0},"endpoints":["/v1/torque","/v1/effort","/v1/travel","/v1/meta"]},"meta":{"timestamp":"2026-06-04T01:59:03.406Z","request_id":"6b0968f4-ffb3-498f-9b73-83e45c25ed82"},"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":1500,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":900,"monthly_call_quota":18000,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2400,"monthly_call_quota":120000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":7400,"monthly_call_quota":600000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/screwjack-api"}