{"openapi":"3.1.0","info":{"title":"RF Path Loss API","version":"1.0.0","description":"RF path-loss and link-budget maths as an API, computed locally and deterministically. The fspl endpoint computes the free-space path loss, FSPL(dB) = 20·log₁₀(d_km) + 20·log₁₀(f_MHz) + 32.44, the ideal line-of-sight attenuation between two antennas, and the wavelength. The linkbudget endpoint computes the received power, Prx = Ptx + Gtx + Grx − path loss − cable losses, the EIRP, and — given a receiver sensitivity — the link margin and whether the link closes. The dbm endpoint converts RF power between dBm, watts and dBW (0 dBm = 1 mW, 30 dBm = 1 W). Everything is computed locally and deterministically, so it is instant and private. Ideal for wireless, IoT, LoRa, Wi-Fi and radio app developers, link-planning and coverage tools, and RF engineering education. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is RF link budget; for VSWR and impedance match use a VSWR API and for antenna gain use an antenna API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/pathloss-api","description":"oanor gateway"}],"tags":[{"name":"Path Loss"},{"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/dbm":{"get":{"operationId":"get_v1_dbm","tags":["Path Loss"],"summary":"Power conversion","description":"","parameters":[{"name":"dbm","in":"query","required":false,"description":"Power in dBm","schema":{"type":"string"},"example":"30"},{"name":"watts","in":"query","required":false,"description":"Or power in watts","schema":{"type":"string"}},{"name":"dbw","in":"query","required":false,"description":"Or power in dBW","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"dbm":30,"dbw":0,"note":"dBm = 10·log₁₀(P/1 mW); dBW = 10·log₁₀(P/1 W). 0 dBm = 1 mW, 30 dBm = 1 W.","watts":1,"inputs":{"dbm":30},"milliwatts":1000},"meta":{"timestamp":"2026-06-04T18:38:11.242Z","request_id":"575f0951-7b72-4e90-9657-d589a8646832"},"status":"ok","message":"Power conversion","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/fspl":{"get":{"operationId":"get_v1_fspl","tags":["Path Loss"],"summary":"Free-space path loss","description":"","parameters":[{"name":"distance","in":"query","required":true,"description":"Distance (km)","schema":{"type":"string"},"example":"1"},{"name":"frequency","in":"query","required":true,"description":"Frequency (MHz)","schema":{"type":"string"},"example":"2400"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"FSPL(dB) = 20·log₁₀(d_km) + 20·log₁₀(f_MHz) + 32.44. Free-space, line-of-sight only — real paths add obstruction and multipath loss.","inputs":{"distance_km":1,"frequency_mhz":2400},"fspl_db":100.0442,"wavelength_m":0.124914},"meta":{"timestamp":"2026-06-04T18:38:11.355Z","request_id":"e4df9836-7348-44b3-b3d3-6cf7b2241604"},"status":"ok","message":"Free-space path loss","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/linkbudget":{"get":{"operationId":"get_v1_linkbudget","tags":["Path Loss"],"summary":"Link budget","description":"","parameters":[{"name":"tx_power","in":"query","required":true,"description":"TX power (dBm)","schema":{"type":"string"},"example":"20"},{"name":"tx_gain","in":"query","required":false,"description":"TX antenna gain (dBi)","schema":{"type":"string"},"example":"5"},{"name":"rx_gain","in":"query","required":false,"description":"RX antenna gain (dBi)","schema":{"type":"string"},"example":"5"},{"name":"distance","in":"query","required":false,"description":"Distance (km)","schema":{"type":"string"},"example":"1"},{"name":"frequency","in":"query","required":false,"description":"Frequency (MHz)","schema":{"type":"string"},"example":"2400"},{"name":"path_loss","in":"query","required":false,"description":"Or path loss directly (dB)","schema":{"type":"string"}},{"name":"losses","in":"query","required":false,"description":"Cable/connector losses (dB)","schema":{"type":"string"},"example":"2"},{"name":"sensitivity","in":"query","required":false,"description":"RX sensitivity (dBm) for margin","schema":{"type":"string"},"example":"-90"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Prx = Ptx + Gtx + Grx − path loss − losses (all in dB/dBm/dBi). Link margin = Prx − receiver sensitivity; aim for > 10 dB.","inputs":{"losses":2,"rx_gain":5,"tx_gain":5,"tx_power":20,"path_loss":100.0442},"link_ok":true,"eirp_dbm":23,"link_margin_db":17.9558,"sensitivity_dbm":-90,"received_power_dbm":-72.0442},"meta":{"timestamp":"2026-06-04T18:38:11.454Z","request_id":"447f6fda-7bce-4d11-b0ed-977be5836e86"},"status":"ok","message":"Link budget","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":"Distance in km, frequency in MHz, powers in dBm, gains in dBi, losses in dB. FSPL is the ideal line-of-sight minimum; add fade margin for real links.","service":"pathloss-api","formulae":{"dbm":"dBm = 10·log₁₀(P/1 mW)","fspl":"FSPL = 20·log₁₀(d_km) + 20·log₁₀(f_MHz) + 32.44","link_budget":"Prx = Ptx + Gtx + Grx − path_loss − losses"},"endpoints":{"GET /v1/dbm":"Convert RF power between dBm, watts and dBW.","GET /v1/fspl":"Free-space path loss from distance (km) and frequency (MHz).","GET /v1/meta":"This document.","GET /v1/linkbudget":"Received power and link margin from TX power, antenna gains, path loss and losses."},"description":"RF path-loss and link-budget calculator: free-space path loss, link budget with margin, and dBm/watt power conversion."},"meta":{"timestamp":"2026-06-04T18:38:11.521Z","request_id":"aff4c908-a300-4a48-8206-71368402b0d7"},"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":40000,"rps_limit":5,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2400,"monthly_call_quota":250000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":7400,"monthly_call_quota":1526000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/pathloss-api"}