{"openapi":"3.1.0","info":{"title":"Taper Calculator API","version":"1.0.0","description":"Taper and cone geometry as an API, computed locally and deterministically. The taper endpoint relates the large and small diameters, the length and the taper of a conical part: give the two diameters and the length and it returns the taper ratio, the taper per foot and per inch (for inch parts), the included angle 2·atan((D−d)/(2L)) and the half (taper) angle from the axis — or leave one of the diameters or the length out and provide the taper per foot, and it solves for the missing dimension. The diameter-at endpoint gives the diameter (and radius) at any distance along the taper, measured from either the large or the small end, by linear interpolation d(x) = D − (D−d)·x/L. The morse endpoint is a reference of the standard Morse taper series MT0 to MT7, with each taper's taper per foot, gauge-line large and small diameter, length and included angle. Lengths and diameters use consistent units (inches by default, or millimetres for the angle and ratio outputs). Everything is computed locally and deterministically, so it is instant and private. Ideal for machining and lathe tools, CAD and toolmaking apps, maker and metalworking projects, and mechanical-engineering calculators. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is taper geometry; for screw-thread pitch and tap drill use a thread API and for spur-gear geometry use a gear API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/taper-api","description":"oanor gateway"}],"tags":[{"name":"Taper"},{"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/diameter-at":{"get":{"operationId":"get_v1_diameter_at","tags":["Taper"],"summary":"Diameter at a distance","description":"","parameters":[{"name":"large_diameter","in":"query","required":true,"description":"Large diameter","schema":{"type":"string"},"example":"1.5"},{"name":"small_diameter","in":"query","required":true,"description":"Small diameter","schema":{"type":"string"},"example":"1.0"},{"name":"length","in":"query","required":true,"description":"Length","schema":{"type":"string"},"example":"6"},{"name":"distance","in":"query","required":true,"description":"Distance along the taper","schema":{"type":"string"},"example":"3"},{"name":"from","in":"query","required":false,"description":"large|small end (default large)","schema":{"type":"string"},"example":"large"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"length":6,"formula":"d(x) = D − (D − d)·x/L (x measured from the large end).","distance":3,"measured_from":"large_end","large_diameter":1.5,"small_diameter":1,"radius_at_distance":0.625,"diameter_at_distance":1.25},"meta":{"timestamp":"2026-06-04T10:18:55.069Z","request_id":"4043a514-990c-4782-91c0-5ebc3f78904c"},"status":"ok","message":"Diameter at a distance","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/morse":{"get":{"operationId":"get_v1_morse","tags":["Taper"],"summary":"Morse taper reference","description":"","parameters":[{"name":"number","in":"query","required":false,"description":"Morse number MT0–MT7 (or omit for all)","schema":{"type":"string"},"example":"2"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Standard Morse taper. Diameters in inches at the gauge line.","length_in":2.5625,"morse_taper":"MT2","taper_per_foot":0.59941,"taper_per_inch":0.04995083,"taper_angle_deg":1.43069,"large_diameter_in":0.7,"small_diameter_in":0.572,"included_angle_deg":2.86138},"meta":{"timestamp":"2026-06-04T10:18:55.179Z","request_id":"c790e4a1-7772-4054-86c0-803a9e223f39"},"status":"ok","message":"Morse taper reference","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/taper":{"get":{"operationId":"get_v1_taper","tags":["Taper"],"summary":"Taper geometry","description":"","parameters":[{"name":"large_diameter","in":"query","required":false,"description":"Large diameter","schema":{"type":"string"},"example":"1.5"},{"name":"small_diameter","in":"query","required":false,"description":"Small diameter","schema":{"type":"string"},"example":"1.0"},{"name":"length","in":"query","required":false,"description":"Length","schema":{"type":"string"},"example":"6"},{"name":"taper_per_foot","in":"query","required":false,"description":"Or taper per foot (inches)","schema":{"type":"string"}},{"name":"unit","in":"query","required":false,"description":"in|mm|cm (default in)","schema":{"type":"string"},"example":"in"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"unit":"in","length":6,"formula":"ratio = (D − d)/L; included angle = 2·atan((D − d)/(2L)).","taper_ratio":0.08333333,"large_diameter":1.5,"small_diameter":1,"taper_per_foot":1,"taper_per_inch":0.08333333,"taper_angle_deg":2.385944,"included_angle_deg":4.771888,"taper_per_unit_length":0.08333333},"meta":{"timestamp":"2026-06-04T10:18:55.277Z","request_id":"ed40f0ab-f9c6-4195-a120-2f69201b9097"},"status":"ok","message":"Taper geometry","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":"taper","note":"Taper / cone geometry — computed locally and deterministically, no key, no third-party service. Taper per foot assumes inches.","endpoints":["/v1/taper","/v1/diameter-at","/v1/morse","/v1/meta"],"morse_tapers":["MT0","MT1","MT2","MT3","MT4","MT5","MT6","MT7"]},"meta":{"timestamp":"2026-06-04T10:18:55.341Z","request_id":"307c77b9-1601-4fdc-b6b8-393355c1b36c"},"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":800,"monthly_call_quota":20000,"rps_limit":5,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2200,"monthly_call_quota":120000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":6900,"monthly_call_quota":600000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/taper-api"}