{"openapi":"3.1.0","info":{"title":"Air Compressor API","version":"1.0.0","description":"Compressed-air maths as an API, computed locally and deterministically — the receiver, pump-up and SCFM numbers a pneumatics tech or shop owner sizes a system with. The receiver-size endpoint gives the tank you need to ride out a demand burst: volume = demand (free-air CFM) × minutes × 14.7 ÷ the usable pressure window (max − min) — pulling 20 CFM for a minute over a 175-to-100 psi window wants about a 30-gallon receiver, the buffer that lets the pump catch up. The pumpup endpoint gives the time to raise a receiver from one pressure to another: volume × pressure rise ÷ (14.7 × compressor CFM), so a 60-gallon tank from 100 to 175 psi on a 15 CFM compressor takes about 2.7 minutes. The scfm endpoint corrects actual CFM to standard CFM for the inlet conditions — SCFM = ACFM × (inlet pressure ÷ 14.696) × (528 ÷ inlet temperature in Rankine) — so a compressor at 5,000 feet delivers about 17 % fewer SCFM than at sea level, the reason you size tools on SCFM, not the nameplate. Everything is computed locally and deterministically, so it is instant and private. Ideal for pneumatics and shop-air apps, compressor-sizing and tool-demand tools, industrial-air calculators, and trade aids. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 compute endpoints. Estimates — duty cycle and the pump curve shift real numbers.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/compressor-api","description":"oanor gateway"}],"tags":[{"name":"Compressor"},{"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/pumpup":{"get":{"operationId":"get_v1_pumpup","tags":["Compressor"],"summary":"Pump-up time","description":"","parameters":[{"name":"receiver_gallons","in":"query","required":true,"description":"Receiver size in gallons","schema":{"type":"string"},"example":"60"},{"name":"start_pressure_psi","in":"query","required":true,"description":"Start pressure psi","schema":{"type":"string"},"example":"100"},{"name":"end_pressure_psi","in":"query","required":true,"description":"End pressure psi","schema":{"type":"string"},"example":"175"},{"name":"compressor_cfm","in":"query","required":true,"description":"Compressor free-air CFM","schema":{"type":"string"},"example":"15"}],"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/receiver-size":{"get":{"operationId":"get_v1_receiver_size","tags":["Compressor"],"summary":"Receiver size for a demand burst","description":"","parameters":[{"name":"demand_cfm","in":"query","required":true,"description":"Demand in free-air CFM","schema":{"type":"string"},"example":"20"},{"name":"supply_minutes","in":"query","required":true,"description":"Minutes to supply","schema":{"type":"string"},"example":"1"},{"name":"max_pressure_psi","in":"query","required":true,"description":"Max (cut-out) pressure psi","schema":{"type":"string"},"example":"175"},{"name":"min_pressure_psi","in":"query","required":true,"description":"Min (usable) pressure psi","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/scfm":{"get":{"operationId":"get_v1_scfm","tags":["Compressor"],"summary":"ACFM to SCFM correction","description":"","parameters":[{"name":"acfm","in":"query","required":true,"description":"Actual CFM at the inlet","schema":{"type":"string"},"example":"100"},{"name":"inlet_pressure_psia","in":"query","required":false,"description":"Inlet pressure psia (default 14.696)","schema":{"type":"string"},"example":"12.2"},{"name":"inlet_temp_f","in":"query","required":false,"description":"Inlet temperature °F (default 68)","schema":{"type":"string"},"example":"68"}],"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":460,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":575,"monthly_call_quota":12400,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1810,"monthly_call_quota":79000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":5360,"monthly_call_quota":256000,"rps_limit":36,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/compressor-api"}