{"openapi":"3.1.0","info":{"title":"Tire Calculator API","version":"1.0.0","description":"Tire maths as an API, computed locally and deterministically — the size, pressure and speedometer numbers a driver, fitter or fleet manager works out before fitting a tyre. The size endpoint turns a P-metric spec into the real dimensions: overall diameter = rim + 2 × the sidewall (section width × aspect ratio), so a 225/45R17 stands about 25 inches tall, rolls a 78-inch circumference and turns roughly 808 times a mile — the numbers behind fitment, gearing and clearance. The pressure endpoint gives the hot pressure from a cold pressure and the temperature change, because pressure tracks absolute temperature (P2/P1 = T2/T1), about +1 psi per 10 °F — so 32 psi set cold at 70 °F reads ~34.6 after warming to 100 °F, and drops on a cold morning, which is what trips the warning light. The speedo-error endpoint gives the speedometer error and true speed from a tyre-size change: a taller tyre makes the speedo read low, so actual speed = indicated × new diameter ÷ old — go up 4 % and 60 on the dial is really 62.5. Everything is computed locally and deterministically, so it is instant and private. Ideal for tyre-shop and fitment apps, fleet and 4x4 build tools, speedo-recalibration calculators, and automotive sites. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 compute endpoints. Estimates — always set pressure cold to the placard.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/tire-api","description":"oanor gateway"}],"tags":[{"name":"Tire"},{"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/pressure":{"get":{"operationId":"get_v1_pressure","tags":["Tire"],"summary":"Hot pressure from temperature","description":"","parameters":[{"name":"cold_pressure_psi","in":"query","required":true,"description":"Cold (set) pressure in psi","schema":{"type":"string"},"example":"32"},{"name":"cold_temp_f","in":"query","required":true,"description":"Cold temperature °F","schema":{"type":"string"},"example":"70"},{"name":"hot_temp_f","in":"query","required":true,"description":"Hot/operating temperature °F","schema":{"type":"string"},"example":"100"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"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/size":{"get":{"operationId":"get_v1_size","tags":["Tire"],"summary":"Overall tire size","description":"","parameters":[{"name":"width_mm","in":"query","required":true,"description":"Section width in mm","schema":{"type":"string"},"example":"225"},{"name":"aspect_ratio","in":"query","required":true,"description":"Aspect ratio (%)","schema":{"type":"string"},"example":"45"},{"name":"rim_diameter_in","in":"query","required":true,"description":"Rim diameter in inches","schema":{"type":"string"},"example":"17"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"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/speedo-error":{"get":{"operationId":"get_v1_speedo_error","tags":["Tire"],"summary":"Speedometer error from size change","description":"","parameters":[{"name":"old_diameter_in","in":"query","required":true,"description":"Old overall diameter in inches","schema":{"type":"string"},"example":"24.97"},{"name":"new_diameter_in","in":"query","required":true,"description":"New overall diameter in inches","schema":{"type":"string"},"example":"26"},{"name":"indicated_speed","in":"query","required":false,"description":"Indicated speed (default 60)","schema":{"type":"string"},"example":"60"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"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"},"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":600,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":485,"monthly_call_quota":15500,"rps_limit":8,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1620,"monthly_call_quota":95000,"rps_limit":20,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":4860,"monthly_call_quota":310000,"rps_limit":48,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/tire-api"}