{"openapi":"3.1.0","info":{"title":"Bearing Life API","version":"1.0.0","description":"Rolling-element bearing life maths (ISO 281) as an API, computed locally and deterministically. The life endpoint computes the basic rating life of a ball or roller bearing, L10 = (C/P)^p — where p is 3 for ball bearings and 10/3 for roller bearings — from the dynamic load rating C and the equivalent load P, reporting the life in millions of revolutions and, given a speed in rpm, in hours and days; it also works backwards, solving the minimum dynamic load rating needed for a target life, or the maximum load a bearing can carry to still reach it. The load endpoint computes the equivalent dynamic load P = X·Fr + Y·Fa from the radial and axial loads and the bearing X and Y factors, the single load value the life formula needs. The reliability endpoint applies the ISO 281 life-modification factor a1 to give the adjusted rating life Lna = a1·L10 for any survival probability from 90 % up to 99.95 %, interpolated from the standard reliability table. Everything is computed locally and deterministically, so it is instant and private. Ideal for mechanical-engineering, maintenance and reliability tools, machine and drivetrain design, predictive-maintenance and lifetime-costing apps, and engineering education. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is rolling-bearing rating life; for shaft torsion stress use a torsion API and for rotational energy use a flywheel API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/bearing-api","description":"oanor gateway"}],"tags":[{"name":"Bearing"},{"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/life":{"get":{"operationId":"get_v1_life","tags":["Bearing"],"summary":"Basic rating life","description":"","parameters":[{"name":"dynamic_load_rating","in":"query","required":false,"description":"Dynamic load rating C (N)","schema":{"type":"string"},"example":"30000"},{"name":"equivalent_load","in":"query","required":false,"description":"Equivalent load P (N)","schema":{"type":"string"},"example":"3000"},{"name":"type","in":"query","required":false,"description":"ball | roller (default ball)","schema":{"type":"string"},"example":"ball"},{"name":"rpm","in":"query","required":false,"description":"Speed (rpm) for life in hours","schema":{"type":"string"},"example":"1500"},{"name":"target_life","in":"query","required":false,"description":"Or a target life (million rev) to solve C or P","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"mode":"life","inputs":{"rpm":1500,"type":"ball","exponent_p":3,"equivalent_load":3000,"dynamic_load_rating":30000},"life_days":462.963,"life_hours":11111.11,"load_ratio":10,"basic_rating_life_mrev":1000},"meta":{"timestamp":"2026-06-04T10:18:36.507Z","request_id":"51a59b38-ffe6-4c38-9109-314cd2ad74b7"},"status":"ok","message":"Bearing rating life","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/load":{"get":{"operationId":"get_v1_load","tags":["Bearing"],"summary":"Equivalent dynamic load","description":"","parameters":[{"name":"radial_load","in":"query","required":true,"description":"Radial load Fr (N)","schema":{"type":"string"},"example":"2000"},{"name":"axial_load","in":"query","required":false,"description":"Axial load Fa (N, default 0)","schema":{"type":"string"},"example":"1000"},{"name":"x_factor","in":"query","required":false,"description":"Radial factor X (default 1)","schema":{"type":"string"},"example":"0.56"},{"name":"y_factor","in":"query","required":false,"description":"Axial factor Y (default 0)","schema":{"type":"string"},"example":"1.5"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"P = X·Fr + Y·Fa. Default X=1, Y=0 gives a pure-radial load; supply the bearing's X and Y factors for combined loading.","inputs":{"x_factor":0.56,"y_factor":1.5,"axial_load":1000,"radial_load":2000},"axial_to_radial_ratio":0.5,"equivalent_dynamic_load":2620},"meta":{"timestamp":"2026-06-04T10:18:36.596Z","request_id":"b6452e09-e0ba-4b2f-b3e9-e55892ed7fc4"},"status":"ok","message":"Equivalent dynamic load","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/reliability":{"get":{"operationId":"get_v1_reliability","tags":["Bearing"],"summary":"Reliability-adjusted life","description":"","parameters":[{"name":"reliability","in":"query","required":true,"description":"Survival probability (%, 90–99.95)","schema":{"type":"string"},"example":"99"},{"name":"basic_life","in":"query","required":false,"description":"Basic rating life L10 (million rev)","schema":{"type":"string"},"example":"1000"},{"name":"dynamic_load_rating","in":"query","required":false,"description":"Or C (N) to derive L10","schema":{"type":"string"}},{"name":"equivalent_load","in":"query","required":false,"description":"and P (N)","schema":{"type":"string"}},{"name":"type","in":"query","required":false,"description":"ball | roller (default ball)","schema":{"type":"string"},"example":"ball"},{"name":"rpm","in":"query","required":false,"description":"Speed (rpm) for hours","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Lna = a1·L10. a1 from the ISO 281 reliability table (interpolated). Reliability is the survival probability.","inputs":{"basic_life_mrev":1000,"reliability_pct":99},"a1_factor":0.25,"adjusted_life_mrev":250,"failure_probability_pct":1},"meta":{"timestamp":"2026-06-04T10:18:36.700Z","request_id":"c7599a03-706d-4d7e-9c75-8f3cffc6909e"},"status":"ok","message":"Reliability-adjusted life","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":"Loads in newtons, speed in rpm. a1 from the ISO 281 reliability table (90–99.95 %). Idealised — excludes lubrication and contamination (a_ISO) factors.","service":"bearing-api","formulae":{"hours":"L10h = 1e6/(60·n) · (C/P)^p","rating_life":"L10 = (C/P)^p,  p = 3 (ball), 10/3 (roller)","adjusted_life":"Lna = a1 · L10","equivalent_load":"P = X·Fr + Y·Fa"},"endpoints":{"GET /v1/life":"Basic rating life L10 = (C/P)^p in million revolutions and hours; solves C or P from a target life.","GET /v1/load":"Equivalent dynamic load P = X·Fr + Y·Fa from radial and axial loads.","GET /v1/meta":"This document.","GET /v1/reliability":"Reliability-adjusted life Lna = a1·L10 for a chosen survival probability."},"description":"Rolling-element bearing life calculator (ISO 281): basic rating life, equivalent dynamic load, and reliability-adjusted life for ball and roller bearings."},"meta":{"timestamp":"2026-06-04T10:18:36.803Z","request_id":"44de388c-e073-4688-9280-e895bf9b0d34"},"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":15000,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2400,"monthly_call_quota":80000,"rps_limit":18,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":7400,"monthly_call_quota":400000,"rps_limit":50,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/bearing-api"}