{"openapi":"3.1.0","info":{"title":"RC Filter API","version":"1.0.0","description":"First-order RC and RL passive-filter design as an API, computed locally and deterministically. The lowpass and highpass endpoints take a resistor and capacitor (RC) or a resistor and inductor (RL) and return the −3 dB cutoff frequency (fc = 1/(2πRC) for RC, R/(2πL) for RL), the time constant (τ = RC or L/R) and the angular cutoff; pass a frequency as well and they add the magnitude response as a linear gain and in decibels and the phase shift in degrees — a 1 kΩ / 1 µF low-pass has fc ≈ 159.15 Hz, and right at the cutoff the gain is −3.01 dB with −45° phase for a low-pass or +45° for a high-pass. The component endpoint solves the missing one of fc, R and C from the other two (fc = 1/(2πRC)), so you can size a resistor or capacitor for a target cutoff. All quantities are SI: ohms, farads, henries and hertz. Everything is computed locally and deterministically, so it is instant and private. Ideal for electronics, audio, embedded, signal-processing and EE-education app developers, filter-design and circuit-sizing tools, and maker software. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is first-order single-pole filter design; for full RLC impedance and resonance use an impedance API and for stored capacitor energy a capacitor API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/rcfilter-api","description":"oanor gateway"}],"tags":[{"name":"Filter"},{"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/component":{"get":{"operationId":"get_v1_component","tags":["Filter"],"summary":"Solve fc, R or C","description":"","parameters":[{"name":"fc","in":"query","required":false,"description":"Target cutoff (Hz)","schema":{"type":"string"},"example":"159.155"},{"name":"r","in":"query","required":false,"description":"Resistance R (ohm)","schema":{"type":"string"}},{"name":"c","in":"query","required":false,"description":"Capacitance C (farad)","schema":{"type":"string"},"example":"0.000001"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"RC relation fc = 1/(2πRC). Resistance in ohms, capacitance in farads, frequency in hertz.","inputs":{"c":1.0e-6,"fc":159.155},"resistance_ohm":999.99964244},"meta":{"timestamp":"2026-06-05T19:50:30.541Z","request_id":"9c709aa1-40b4-43c4-9d29-053a9153d2e0"},"status":"ok","message":"Solve fc/R/C","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/highpass":{"get":{"operationId":"get_v1_highpass","tags":["Filter"],"summary":"RC/RL high-pass filter","description":"","parameters":[{"name":"r","in":"query","required":false,"description":"Resistance R (ohm)","schema":{"type":"string"},"example":"1000"},{"name":"c","in":"query","required":false,"description":"Capacitance C (farad)","schema":{"type":"string"},"example":"0.000001"},{"name":"l","in":"query","required":false,"description":"Inductance L (henry, for RL)","schema":{"type":"string"}},{"name":"frequency","in":"query","required":false,"description":"Frequency for gain/phase (Hz)","schema":{"type":"string"},"example":"159.155"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"gain":0.70710691,"note":"First-order high-pass: fc = 1/(2πRC) (RC) or R/(2πL) (RL); |H| = (f/fc)/√(1+(f/fc)²); at fc the gain is −3.01 dB and phase +45°.","inputs":{"c":1.0e-6,"r":1000},"gain_db":-3.010298,"topology":"RC","phase_deg":44.99999,"filter_type":"highpass","at_frequency_hz":159.155,"time_constant_s":0.001,"cutoff_frequency_hz":159.15494309,"angular_cutoff_rad_s":1000},"meta":{"timestamp":"2026-06-05T19:50:30.663Z","request_id":"0706e461-0092-427d-b6dd-3c947a9e5068"},"status":"ok","message":"RC/RL high-pass filter","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/lowpass":{"get":{"operationId":"get_v1_lowpass","tags":["Filter"],"summary":"RC/RL low-pass filter","description":"","parameters":[{"name":"r","in":"query","required":false,"description":"Resistance R (ohm)","schema":{"type":"string"},"example":"1000"},{"name":"c","in":"query","required":false,"description":"Capacitance C (farad)","schema":{"type":"string"},"example":"0.000001"},{"name":"l","in":"query","required":false,"description":"Inductance L (henry, for RL)","schema":{"type":"string"}},{"name":"frequency","in":"query","required":false,"description":"Frequency for gain/phase (Hz)","schema":{"type":"string"},"example":"159.155"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"gain":0.70710665,"note":"First-order low-pass: fc = 1/(2πRC) (RC) or R/(2πL) (RL); |H| = 1/√(1+(f/fc)²); at fc the gain is −3.01 dB and phase −45°.","inputs":{"c":1.0e-6,"r":1000},"gain_db":-3.010302,"topology":"RC","phase_deg":-45.00001,"filter_type":"lowpass","at_frequency_hz":159.155,"time_constant_s":0.001,"cutoff_frequency_hz":159.15494309,"angular_cutoff_rad_s":1000},"meta":{"timestamp":"2026-06-05T19:50:30.768Z","request_id":"49f0cc64-ca90-4467-944f-38d8675039c5"},"status":"ok","message":"RC/RL low-pass filter","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":"R in ohms, C in farads, L in henries, frequency in hertz. First-order single-pole filters; for full RLC impedance use an impedance API and for stored capacitor energy a capacitor API.","service":"rcfilter-api","endpoints":{"GET /v1/meta":"This document.","GET /v1/lowpass":"Low-pass cutoff, time constant, and (optional) gain/phase at a frequency.","GET /v1/highpass":"High-pass cutoff, time constant, and (optional) gain/phase at a frequency.","GET /v1/component":"Solve the missing one of fc, R, C (RC: fc = 1/(2πRC))."},"description":"First-order RC/RL passive filter design: cutoff frequency, time constant, magnitude and phase response, and component solving."},"meta":{"timestamp":"2026-06-05T19:50:30.861Z","request_id":"9c49a2bd-a1f6-4bd4-93f9-7768c6e0c822"},"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":4600,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":550,"monthly_call_quota":46000,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1600,"monthly_call_quota":215000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":4900,"monthly_call_quota":1290000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/rcfilter-api"}