{"openapi":"3.1.0","info":{"title":"Soundproofing API","version":"1.0.0","description":"Building-acoustics soundproofing maths as an API, computed locally and deterministically. The mass-law endpoint computes the sound-transmission loss of a single partition from its surface mass density and the frequency using the field-incidence mass law, TL = 20·log10(m·f) − 47 dB — transmission loss rises about 6 dB for every doubling of mass or of frequency — and also gives the normal-incidence value. The composite endpoint combines the transmission losses of several elements that make up one wall, such as a heavy wall with a window or a door, by area-weighting their transmission coefficients, TL = −10·log10(Σ(Ai·τi)/ΣAi) — which shows how the weakest element, like a small gap or a thin window, dominates and wrecks an otherwise good wall. The transmission endpoint computes the received sound level on the far side of a partition, the source level minus the transmission loss, with an optional room-to-room correction that adds 10·log10(partition area / receiving-room absorption). Surface density is in kg/m², frequency in Hz, levels and transmission losses in dB and areas in m². Everything is computed locally and deterministically, so it is instant and private. Ideal for architecture, building-acoustics, studio-design, HVAC-noise and construction app developers, partition and noise-control tools, and acoustics education. Pure local computation — no key, no third-party service, instant. Live, nothing stored. 3 endpoints. This is sound insulation; for room reverberation use a reverberation API and for sound pressure level a sound-level API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/soundproof-api","description":"oanor gateway"}],"tags":[{"name":"Soundproof"},{"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/composite":{"get":{"operationId":"get_v1_composite","tags":["Soundproof"],"summary":"Composite transmission loss","description":"","parameters":[{"name":"areas","in":"query","required":true,"description":"Comma-separated areas (m²)","schema":{"type":"string"},"example":"9,1"},{"name":"transmission_losses","in":"query","required":true,"description":"Comma-separated TLs (dB)","schema":{"type":"string"},"example":"45,25"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Composite TL = −10·log10(Σ(Ai·τi)/ΣAi), τ = 10^(−TL/10). The weakest element dominates — a small gap or window can wreck an otherwise good wall.","inputs":{"elements":[{"area":9,"tl_db":45,"transmission_coefficient":3.1622776601683795e-5},{"area":1,"tl_db":25,"transmission_coefficient":0.0031622776601683794}]},"total_area_m2":10,"composite_transmission_loss_db":34.6257},"meta":{"timestamp":"2026-06-05T11:30:29.333Z","request_id":"c340c564-1777-4b36-abca-6e46cc02aad1"},"status":"ok","message":"Composite TL","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/mass-law":{"get":{"operationId":"get_v1_mass_law","tags":["Soundproof"],"summary":"Mass-law transmission loss","description":"","parameters":[{"name":"surface_density","in":"query","required":true,"description":"Surface density (kg/m²)","schema":{"type":"string"},"example":"10"},{"name":"frequency","in":"query","required":true,"description":"Frequency (Hz)","schema":{"type":"string"},"example":"500"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"Mass law (field incidence) TL = 20·log10(m·f) − 47 dB. Transmission loss rises ~6 dB per doubling of mass or of frequency. Real partitions deviate near the coincidence dip.","inputs":{"frequency_hz":500,"surface_density_kg_m2":10},"normal_incidence_db":31.9794,"transmission_loss_db":26.9794},"meta":{"timestamp":"2026-06-05T11:30:29.433Z","request_id":"8176bc8f-4739-4d6d-b0e1-c1967a2a5544"},"status":"ok","message":"Mass law TL","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/transmission":{"get":{"operationId":"get_v1_transmission","tags":["Soundproof"],"summary":"Received level","description":"","parameters":[{"name":"source_level","in":"query","required":true,"description":"Source level (dB)","schema":{"type":"string"},"example":"80"},{"name":"transmission_loss","in":"query","required":true,"description":"Transmission loss (dB)","schema":{"type":"string"},"example":"35"},{"name":"partition_area","in":"query","required":false,"description":"Partition area (m²)","schema":{"type":"string"}},{"name":"receiving_absorption","in":"query","required":false,"description":"Receiving-room absorption (m² Sabine)","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"The received level is the source level reduced by the transmission loss; for a room-to-room estimate it adds 10·log10(partition area / receiving-room absorption).","inputs":{"source_level_db":80,"transmission_loss_db":35},"method":"simple (received = source − TL)","received_level_db":45,"level_reduction_db":35},"meta":{"timestamp":"2026-06-05T11:30:29.494Z","request_id":"3d6aa68e-3cea-41dc-a906-4ce9a9145e62"},"status":"ok","message":"Received level","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":"Surface density in kg/m², frequency in Hz, levels and TL in dB, areas in m². Mass law is field-incidence; real walls deviate near the coincidence frequency.","service":"soundproof-api","formulae":{"mass_law":"TL = 20·log10(m·f) − 47 dB","composite":"TL = −10·log10(Σ(Ai·τi)/ΣAi)","transmission":"received = source − TL"},"endpoints":{"GET /v1/meta":"This document.","GET /v1/mass-law":"Transmission loss of a single partition from its surface density and frequency.","GET /v1/composite":"Combined TL of a wall made of several elements (e.g. wall plus window).","GET /v1/transmission":"Received sound level through a partition, optionally room-to-room."},"description":"Soundproofing calculator: mass-law sound-transmission loss of a partition, composite TL of a wall with multiple elements, and the received noise level through a partition."},"meta":{"timestamp":"2026-06-05T11:30:29.593Z","request_id":"8843060a-9e4e-4b9d-a732-38c0adfe9947"},"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":2650,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":800,"monthly_call_quota":36500,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":2200,"monthly_call_quota":246000,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":6700,"monthly_call_quota":1610000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/soundproof-api"}