{"openapi":"3.1.0","info":{"title":"O-Ring Seal API","version":"1.0.0","description":"O-ring seal-design maths as an API, computed locally and deterministically — the squeeze, gland and stretch numbers an engineer or maker designs a seal to. The squeeze endpoint gives the compression that makes the seal: squeeze = (cross-section − gland depth) ÷ cross-section, so a 0.139-inch cord in a 0.113-inch deep groove is squeezed 18.7 %, and it grades the result — roughly 10–16 % suits dynamic (reciprocating) seals and 15–30 % static ones — and, given the groove width, the gland fill percentage, which should stay under about 85 % so the rubber has room to expand from heat or fluid swell. The gland endpoint works the other way: from the cross-section and whether the seal is static or dynamic (or a target squeeze) it returns the groove depth and a width sized for about 70 % fill — typically 1.3 to 1.5 times the cross-section — plus a corner radius. The stretch endpoint checks installation: stretch = (mating diameter − o-ring ID) ÷ ID, which should stay under about 5 % on a rod because stretching thins the cross-section and steals squeeze. Everything is computed locally and deterministically, so it is instant and private. Ideal for mechanical-engineering, hydraulics, pneumatics, vacuum and product-design app developers, seal-selection and gland-design tools, and CAD plugins. Pure local computation — no key, no third-party service, instant. Inches or millimetres. Live, nothing stored. 3 compute endpoints.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/oring-api","description":"oanor gateway"}],"tags":[{"name":"ORing"},{"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/gland":{"get":{"operationId":"get_v1_gland","tags":["ORing"],"summary":"Recommended gland","description":"","parameters":[{"name":"cross_section","in":"query","required":true,"description":"O-ring cross-section","schema":{"type":"string"},"example":"0.139"},{"name":"application","in":"query","required":false,"description":"static or dynamic (default static)","schema":{"type":"string"},"example":"static"},{"name":"target_squeeze_percent","in":"query","required":false,"description":"Target squeeze % (overrides application)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Groove depth = cross-section × (1 − target squeeze); width sized for ~70 % fill (typically 1.3–1.5 × cross-section). Static seals run more squeeze (~20 %), dynamic less (~12 %) to limit friction and wear. Break groove corners to a small radius.","inputs":{"application":"static","cross_section":0.139,"target_squeeze_percent":20},"gland_depth":0.1112,"groove_width":0.1949,"corner_radius_max":0.0139,"groove_width_ratio":1.4},"meta":{"timestamp":"2026-06-06T07:13:59.434Z","request_id":"9efe78fd-ed59-4460-9631-d0e27fda3c4a"},"status":"ok","message":"Gland design","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/squeeze":{"get":{"operationId":"get_v1_squeeze","tags":["ORing"],"summary":"Squeeze % + gland fill","description":"","parameters":[{"name":"cross_section","in":"query","required":true,"description":"O-ring cross-section (CS/W)","schema":{"type":"string"},"example":"0.139"},{"name":"gland_depth","in":"query","required":true,"description":"Groove depth","schema":{"type":"string"},"example":"0.113"},{"name":"groove_width","in":"query","required":false,"description":"Groove width (for gland fill %)","schema":{"type":"string"},"example":"0.19"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Squeeze = (cross-section − gland depth) ÷ cross-section. Aim ~10–16 % for dynamic and ~15–30 % for static seals. Gland fill should stay ≤ ~85 % so the o-ring has room to expand from heat or fluid swell.","inputs":{"gland_depth":0.113,"cross_section":0.139},"fill_ok":true,"assessment":"good for static seals","groove_width":0.19,"squeeze_amount":0.026,"squeeze_percent":18.71,"gland_fill_percent":70.68},"meta":{"timestamp":"2026-06-06T07:13:59.523Z","request_id":"71b70849-5a2b-4701-a1dc-86c5ab980c29"},"status":"ok","message":"O-ring squeeze","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/stretch":{"get":{"operationId":"get_v1_stretch","tags":["ORing"],"summary":"Installation stretch","description":"","parameters":[{"name":"inner_diameter","in":"query","required":true,"description":"O-ring inner diameter (ID)","schema":{"type":"string"},"example":"1.0"},{"name":"mating_diameter","in":"query","required":true,"description":"Rod / groove mating diameter","schema":{"type":"string"},"example":"1.03"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Stretch = (mating diameter − o-ring ID) ÷ ID. Keep ID stretch on a rod under ~5 %; stretch thins the cross-section (reducing squeeze), so pick an ID close to the groove. Bore/face seals compress the OD instead.","inputs":{"inner_diameter":1,"mating_diameter":1.03},"assessment":"good — within the usual ≤ 5 % limit","stretch_percent":3},"meta":{"timestamp":"2026-06-06T07:13:59.604Z","request_id":"cc36217e-32e5-409b-ae4a-f83a25534b50"},"status":"ok","message":"Installation stretch","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":{"notes":"Work in inches or millimetres (one unit per call). Squeeze ~10–16 % dynamic / 15–30 % static; gland fill ≤ ~85 %; ID stretch ≤ ~5 %. Design aid — confirm against the seal maker's gland tables and the fluid/temperature.","service":"oring-api","endpoints":{"GET /v1/meta":"This document.","GET /v1/gland":"Recommended gland depth and groove width for a cross-section and application.","GET /v1/squeeze":"Squeeze % and gland fill from cross-section, gland depth and groove width.","GET /v1/stretch":"Installation stretch % of the inner diameter over a mating diameter."},"description":"O-ring seal-design maths: squeeze & gland fill, recommended gland (groove) from cross-section, and installation stretch."},"meta":{"timestamp":"2026-06-06T07:13:59.696Z","request_id":"e875abfe-e32f-47f5-b9d8-d968caa68b73"},"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":6550,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":452,"monthly_call_quota":51800,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1238,"monthly_call_quota":215000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":3940,"monthly_call_quota":1282000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/oring-api"}