{"openapi":"3.1.0","info":{"title":"VSWR & Impedance Match API","version":"1.0.0","description":"VSWR and RF impedance-matching maths as an API, computed locally and deterministically. The vswr endpoint computes the voltage standing-wave ratio and its companion figures — the reflection coefficient Γ = (ZL − Z0)/(ZL + Z0) = √(Pr/Pf), the VSWR = (1+|Γ|)/(1−|Γ|), the return loss −20·log₁₀|Γ| dB, the mismatch loss and the percentage of power reflected and transmitted — from a reflection coefficient, a load and source impedance (Z0 default 50 Ω), or the forward and reflected power. The fromvswr endpoint goes the other way, deriving Γ, return loss and the power split from a VSWR figure. The power endpoint computes the reflected and transmitted power from a forward power and a VSWR or reflection coefficient. Everything is computed locally and deterministically, so it is instant and private. Ideal for RF, antenna, amateur-radio and wireless app developers, antenna-tuning and feedline tools, and electronics education. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is RF impedance match; for antenna gain and aperture use an antenna API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/vswr-api","description":"oanor gateway"}],"tags":[{"name":"VSWR"},{"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/fromvswr":{"get":{"operationId":"get_v1_fromvswr","tags":["VSWR"],"summary":"From a VSWR figure","description":"","parameters":[{"name":"vswr","in":"query","required":true,"description":"VSWR (≥ 1)","schema":{"type":"string"},"example":"2"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"|Γ| = (VSWR−1)/(VSWR+1). A VSWR of 1 is a perfect match (no reflection).","vswr":2,"inputs":{"vswr":2},"return_loss_db":9.5424,"mismatch_loss_db":0.51153,"reflection_coefficient":0.333333,"power_reflected_percent":11.1111,"power_transmitted_percent":88.8889},"meta":{"timestamp":"2026-06-04T18:38:11.660Z","request_id":"b1af4af1-4304-40b6-a645-5a2fc8545c20"},"status":"ok","message":"From VSWR","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/power":{"get":{"operationId":"get_v1_power","tags":["VSWR"],"summary":"Power split","description":"","parameters":[{"name":"forward_power","in":"query","required":true,"description":"Forward power","schema":{"type":"string"},"example":"100"},{"name":"vswr","in":"query","required":false,"description":"VSWR","schema":{"type":"string"},"example":"2"},{"name":"reflection_coefficient","in":"query","required":false,"description":"Or reflection coefficient |Γ|","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Reflected = forward·|Γ|²; transmitted = forward − reflected. The reflected power returns toward the source.","inputs":{"forward_power":100,"reflection_coefficient":0.333333},"reflected_power":11.111111,"transmitted_power":88.888889,"power_transmitted_percent":88.8889},"meta":{"timestamp":"2026-06-04T18:38:11.792Z","request_id":"fc179983-3d51-40bd-b98f-7fae724e506f"},"status":"ok","message":"Power split","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/vswr":{"get":{"operationId":"get_v1_vswr","tags":["VSWR"],"summary":"VSWR & return loss","description":"","parameters":[{"name":"reflection_coefficient","in":"query","required":false,"description":"Reflection coefficient |Γ| (0–1)","schema":{"type":"string"},"example":"0.2"},{"name":"load_impedance","in":"query","required":false,"description":"Load impedance ZL (Ω)","schema":{"type":"string"},"example":"75"},{"name":"source_impedance","in":"query","required":false,"description":"Line impedance Z0 (Ω, default 50)","schema":{"type":"string"},"example":"50"},{"name":"forward_power","in":"query","required":false,"description":"Forward power","schema":{"type":"string"}},{"name":"reflected_power","in":"query","required":false,"description":"Reflected power","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"VSWR = (1+|Γ|)/(1−|Γ|). Γ = (ZL−Z0)/(ZL+Z0) = √(Pr/Pf). Return loss = −20·log₁₀|Γ| dB.","vswr":1.5,"inputs":{"from":"reflection_coefficient","load_impedance":75,"source_impedance":50},"return_loss_db":13.9794,"mismatch_loss_db":0.17729,"reflection_coefficient":0.2,"power_reflected_percent":4,"power_transmitted_percent":96},"meta":{"timestamp":"2026-06-04T18:38:11.908Z","request_id":"5fb0b477-8700-4679-8cae-00e8f8403867"},"status":"ok","message":"VSWR","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":"Impedances in ohms (Z0 default 50 Ω), power in any consistent unit. Reflection coefficient magnitude 0–1. Assumes real (resistive) impedances; complex matching needs the full reflection vector.","service":"vswr-api","formulae":{"vswr":"VSWR = (1+|Γ|)/(1−|Γ|)","gamma":"Γ = (ZL−Z0)/(ZL+Z0) = √(Pr/Pf)","return_loss":"RL = −20·log₁₀|Γ| dB"},"endpoints":{"GET /v1/meta":"This document.","GET /v1/vswr":"VSWR, return loss and mismatch loss from Γ, load/source impedance, or forward/reflected power.","GET /v1/power":"Reflected and transmitted power from forward power and a VSWR or Γ.","GET /v1/fromvswr":"Reflection coefficient, return loss and power split from a VSWR figure."},"description":"VSWR and impedance-match calculator for RF: VSWR, return loss and mismatch loss from a reflection coefficient, impedances or power; plus the forward/reflected power split."},"meta":{"timestamp":"2026-06-04T18:38:12.014Z","request_id":"b56ef0d1-e376-4d15-a158-6b3a843e850f"},"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":8,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2400,"monthly_call_quota":250000,"rps_limit":25,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":7400,"monthly_call_quota":1503000,"rps_limit":80,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/vswr-api"}