{"openapi":"3.1.0","info":{"title":"Voltage Divider API","version":"1.0.0","description":"Resistive voltage-divider circuit design as an API, computed locally and deterministically. The divide endpoint takes an input voltage and two resistors and returns the output voltage Vout = Vin·R2/(R1+R2), the current I = Vin/(R1+R2) that flows through the chain, and the power dissipated in each resistor and in total — a 12 V source with R1 = 1 kΩ and R2 = 2 kΩ gives 8 V at 4 mA. The loaded endpoint adds a load resistor across R2, computes the parallel combination R2′ = R2·RL/(R2+RL) and the loaded output Vout = Vin·R2′/(R1+R2′), and reports the droop in volts and percent against the unloaded value, the classic mistake when a divider feeds a real load. The resistor endpoint sizes the missing resistor for a target output — R2 = R1·Vout/(Vin−Vout) or R1 = R2·(Vin−Vout)/Vout — so you can pick parts for a reference or sensor-bias point. All quantities are volts, ohms, amps and watts. Everything is computed locally and deterministically, so it is instant and private. Ideal for electronics, embedded, hardware, sensor-interfacing and EE-education app developers, reference-voltage and bias-network tools, and maker software. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is the resistive divider; for a single Ohm’s-law relationship use an Ohm’s-law API and for RC/RL filters an RC-filter API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/voltagedivider-api","description":"oanor gateway"}],"tags":[{"name":"Divider"},{"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/divide":{"get":{"operationId":"get_v1_divide","tags":["Divider"],"summary":"Voltage divider","description":"","parameters":[{"name":"vin","in":"query","required":true,"description":"Input voltage (V)","schema":{"type":"string"},"example":"12"},{"name":"r1","in":"query","required":true,"description":"Top resistor R1 (ohm)","schema":{"type":"string"},"example":"1000"},{"name":"r2","in":"query","required":true,"description":"Bottom resistor R2 (ohm)","schema":{"type":"string"},"example":"2000"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Unloaded divider: Vout = Vin·R2/(R1+R2); current I = Vin/(R1+R2) flows through both resistors; power Pi = I²·Ri.","vout":8,"inputs":{"r1":1000,"r2":2000,"vin":12},"current_a":0.004,"current_ma":4,"power_r1_w":0.016,"power_r2_w":0.032,"total_power_w":0.048,"total_resistance_ohm":3000},"meta":{"timestamp":"2026-06-05T19:50:29.400Z","request_id":"b7cfd114-5e8d-4c80-8651-4fc70ee8d653"},"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/loaded":{"get":{"operationId":"get_v1_loaded","tags":["Divider"],"summary":"Loaded divider","description":"","parameters":[{"name":"vin","in":"query","required":true,"description":"Input voltage (V)","schema":{"type":"string"},"example":"12"},{"name":"r1","in":"query","required":true,"description":"R1 (ohm)","schema":{"type":"string"},"example":"1000"},{"name":"r2","in":"query","required":true,"description":"R2 (ohm)","schema":{"type":"string"},"example":"2000"},{"name":"rload","in":"query","required":true,"description":"Load resistance RL (ohm)","schema":{"type":"string"},"example":"2000"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Loaded divider: the load RL sits in parallel with R2, so R2' = R2·RL/(R2+RL) and Vout = Vin·R2'/(R1+R2'). The droop is the drop from the unloaded output — keep RL ≫ R2 to minimise it.","inputs":{"r1":1000,"r2":2000,"vin":12,"rload":2000},"droop_volts":2,"vout_loaded":6,"droop_percent":25,"vout_unloaded":8,"load_current_a":0.003,"r2_parallel_load_ohm":1000},"meta":{"timestamp":"2026-06-05T19:50:29.512Z","request_id":"081cc967-7f14-4a7f-b510-4345b98acad5"},"status":"ok","message":"Loaded 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/resistor":{"get":{"operationId":"get_v1_resistor","tags":["Divider"],"summary":"Solve resistor for target Vout","description":"","parameters":[{"name":"vin","in":"query","required":true,"description":"Input voltage (V)","schema":{"type":"string"},"example":"12"},{"name":"vout","in":"query","required":true,"description":"Target output (V)","schema":{"type":"string"},"example":"5"},{"name":"r1","in":"query","required":false,"description":"R1 if known (ohm)","schema":{"type":"string"},"example":"1000"},{"name":"r2","in":"query","required":false,"description":"R2 if known (ohm)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Resistive divider sizing: Vout = Vin·R2/(R1+R2) ⇒ R2 = R1·Vout/(Vin−Vout), R1 = R2·(Vin−Vout)/Vout.","inputs":{"r1":1000,"vin":12,"vout":5},"r2_ohm":714.285714},"meta":{"timestamp":"2026-06-05T19:50:29.626Z","request_id":"55819d8d-9210-4452-beba-38b3a19490a1"},"status":"ok","message":"Solve resistor for target Vout","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":"Volts, ohms, amps, watts. Ideal resistive divider; for a single Ohm's-law V/I/R relationship use an Ohm's-law API and for RC/RL filters an RC-filter API.","service":"voltagedivider-api","endpoints":{"GET /v1/meta":"This document.","GET /v1/divide":"Vout, current and per-resistor power for an unloaded divider.","GET /v1/loaded":"Loaded divider — output with a load RL across R2, plus droop.","GET /v1/resistor":"Solve R1 or R2 for a target Vout."},"description":"Resistive voltage divider: output voltage, current and power; loaded divider with output droop; and resistor sizing for a target output."},"meta":{"timestamp":"2026-06-05T19:50:29.710Z","request_id":"9d972638-8331-45b7-b5d5-bbbc7907b827"},"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":5200,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":520,"monthly_call_quota":52000,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1480,"monthly_call_quota":240000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":4650,"monthly_call_quota":1380000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/voltagedivider-api"}