{"openapi":"3.1.0","info":{"title":"Ohm's Law & Circuits API","version":"1.0.0","description":"Electronics circuit maths as an API. The ohms-law endpoint takes any two of voltage, current, resistance and power and returns all four (V = IR, P = VI = I²R = V²/R). The combine endpoint computes the total of resistors, capacitors or inductors wired in series or parallel — resistors and inductors add in series and combine reciprocally in parallel, while capacitors do the opposite. The voltage-divider endpoint computes the output voltage of a two-resistor divider and the current through it. The reactance endpoint computes capacitive reactance (Xc = 1/2πfC), inductive reactance (XL = 2πfL), the LC resonant frequency, and the RC or RL time constant. Everything is computed locally with exact formulas in SI units, so it is instant and private. Ideal for electronics design and education, embedded and hardware engineering, hobby and bench projects, and physics teaching. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 5 endpoints. This is circuit maths; for resistor colour codes use a resistor API and for general unit conversion use a unit API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/ohmslaw-api","description":"oanor gateway"}],"tags":[{"name":"Circuits"},{"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/combine":{"get":{"operationId":"get_v1_combine","tags":["Circuits"],"summary":"Components in series/parallel","description":"","parameters":[{"name":"values","in":"query","required":true,"description":"List of values","schema":{"type":"string"},"example":"4,4"},{"name":"type","in":"query","required":false,"description":"resistor|capacitor|inductor","schema":{"type":"string"},"example":"resistor"},{"name":"mode","in":"query","required":false,"description":"series|parallel","schema":{"type":"string"},"example":"parallel"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"mode":"parallel","type":"resistor","unit":"Ω","count":2,"total":2,"values":[4,4]},"meta":{"timestamp":"2026-06-03T17:42:12.393Z","request_id":"343332fe-f96d-4060-aab0-97346c4c7436"},"status":"ok","message":"Combine components","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/ohms-law":{"get":{"operationId":"get_v1_ohms_law","tags":["Circuits"],"summary":"V / I / R / P (give any two)","description":"","parameters":[{"name":"voltage","in":"query","required":false,"description":"Volts","schema":{"type":"string"},"example":"12"},{"name":"current","in":"query","required":false,"description":"Amps","schema":{"type":"string"}},{"name":"resistance","in":"query","required":false,"description":"Ohms","schema":{"type":"string"},"example":"4"},{"name":"power","in":"query","required":false,"description":"Watts","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"power_w":36,"current_a":3,"voltage_v":12,"resistance_ohm":4},"meta":{"timestamp":"2026-06-03T17:42:12.511Z","request_id":"fff126ce-fd18-4d9a-b1fd-b855fefe1c64"},"status":"ok","message":"Ohm's law","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/reactance":{"get":{"operationId":"get_v1_reactance","tags":["Circuits"],"summary":"Reactance / resonance / time constant","description":"","parameters":[{"name":"frequency","in":"query","required":false,"description":"Hz","schema":{"type":"string"},"example":"1000"},{"name":"capacitance","in":"query","required":false,"description":"Farads","schema":{"type":"string"},"example":"0.000001"},{"name":"inductance","in":"query","required":false,"description":"Henries","schema":{"type":"string"}},{"name":"resistance","in":"query","required":false,"description":"Ohms","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"inputs":{"frequency":1000,"capacitance":1.0e-6},"capacitive_reactance_ohm":159.15494},"meta":{"timestamp":"2026-06-03T17:42:12.606Z","request_id":"4060bef2-6086-4a41-b6ad-0eed9a6ec257"},"status":"ok","message":"Reactance","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/voltage-divider":{"get":{"operationId":"get_v1_voltage_divider","tags":["Circuits"],"summary":"Two-resistor divider","description":"","parameters":[{"name":"vin","in":"query","required":true,"description":"Input volts","schema":{"type":"string"},"example":"9"},{"name":"r1","in":"query","required":true,"description":"Top resistor","schema":{"type":"string"},"example":"1000"},{"name":"r2","in":"query","required":true,"description":"Bottom resistor","schema":{"type":"string"},"example":"2000"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"r1":1000,"r2":2000,"vin":9,"vout":6,"ratio":0.66666667,"current_a":0.003},"meta":{"timestamp":"2026-06-03T17:42:12.729Z","request_id":"144ba4ef-f59e-4f05-8a04-35484144b32c"},"status":"ok","message":"Voltage divider","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":{"name":"Ohm's Law & Circuits API","notes":"SI base units (volts, amps, ohms, watts, farads, henries, hertz, seconds). Nothing is stored.","version":"v1","endpoints":[{"path":"/v1/ohms-law","params":{"power":"W (give any two)","current":"A","voltage":"V","resistance":"Ω"},"returns":"voltage, current, resistance and power"},{"path":"/v1/combine","params":{"mode":"series|parallel","type":"resistor|capacitor|inductor","values":"list of component values"},"returns":"the combined total"},{"path":"/v1/voltage-divider","params":{"r1":"top resistor","r2":"bottom resistor","vin":"input voltage"},"returns":"Vout and the current"},{"path":"/v1/reactance","params":{"frequency":"Hz","inductance":"H","resistance":"Ω","capacitance":"F"},"returns":"Xc, XL, resonant frequency, RC/RL time constant (per the pair given)"},{"path":"/v1/meta","params":[],"returns":"this document"}],"description":"Electronics circuit maths as an API. The ohms-law endpoint takes any two of voltage, current, resistance and power and returns all four (V = IR, P = VI = I²R = V²/R). The combine endpoint computes the total of resistors, capacitors or inductors wired in series or parallel (resistors and inductors add in series and combine reciprocally in parallel; capacitors do the opposite). The voltage-divider endpoint computes the output of a two-resistor divider and the current through it. The reactance endpoint computes capacitive reactance (Xc = 1/2πfC), inductive reactance (XL = 2πfL), the LC resonant frequency, and the RC or RL time constant. Everything is computed locally with exact formulas, so it is instant and private. Ideal for electronics design and education, embedded and hardware work, hobby and bench projects, and physics teaching. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 5 endpoints. This is circuit maths; for resistor colour codes use a resistor API and for unit conversion use a unit API."},"meta":{"timestamp":"2026-06-03T17:42:12.841Z","request_id":"ba1ff7c0-b3fd-4428-bed9-afd703422819"},"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":6635,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":815,"monthly_call_quota":16150,"rps_limit":8,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2805,"monthly_call_quota":212500,"rps_limit":20,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":6605,"monthly_call_quota":1105000,"rps_limit":50,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/ohmslaw-api"}