{"openapi":"3.1.0","info":{"title":"ADA Ramp API","version":"1.0.0","description":"ADA wheelchair-ramp maths as an API, computed locally and deterministically — the run, landing and slope numbers a builder or accessibility planner sizes a ramp by. The rule the ADA fixes is 1 inch of rise per 12 of run, a maximum 8.33 % slope, so the ramp endpoint turns a rise into the ramp: run = rise × 12 (or × 16 / × 20 for a gentler grade if you have the room), plus the level landings the code requires — a 5-foot landing top and bottom and another between runs whenever the rise exceeds 30 inches — and the total length end to end, so a 24-inch rise needs a 24-foot run and 34 feet overall, while a 36-inch rise breaks into two runs with an intermediate landing for 51 feet. The fit endpoint answers the real-world question: does a ramp for this rise fit the run you have? It returns the minimum run an ADA 1:12 ramp needs, whether your space is enough, and the slope you would actually get if you forced it in — flagging when that exceeds 8.33 % and you need a switchback or a lower rise. Everything is computed locally and deterministically, so it is instant and private. Ideal for construction, accessibility, home-modification and contractor app developers, ramp-estimator and code-check tools, and building software. Pure local computation — no key, no third-party service, instant. Confirm against current ADA and local code. Live, nothing stored. 2 compute endpoints.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/adaramp-api","description":"oanor gateway"}],"tags":[{"name":"Ramp"},{"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/fit":{"get":{"operationId":"get_v1_fit","tags":["Ramp"],"summary":"Does it fit the run?","description":"","parameters":[{"name":"rise","in":"query","required":true,"description":"Vertical rise","schema":{"type":"string"},"example":"10"},{"name":"available_run","in":"query","required":true,"description":"Available horizontal run","schema":{"type":"string"},"example":"120"},{"name":"unit","in":"query","required":false,"description":"in or ft (default in)","schema":{"type":"string"},"example":"in"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"The available run is long enough for an ADA 1:12 ramp (8.33 %). Using more of it makes a gentler, easier ramp.","inputs":{"rise":10,"unit":"in","available_run":120},"fits_ada":true,"slope_percent":8.33,"slope_in_available_run":"1:12","available_run_compliant":true,"required_run_ft_at_1_12":10},"meta":{"timestamp":"2026-06-06T15:30:50.451Z","request_id":"acd39317-fdf5-4659-8d75-6b58ddf74cfa"},"status":"ok","message":"Ramp fit","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/ramp":{"get":{"operationId":"get_v1_ramp","tags":["Ramp"],"summary":"Ramp run + landings","description":"","parameters":[{"name":"rise","in":"query","required":true,"description":"Vertical rise","schema":{"type":"string"},"example":"24"},{"name":"unit","in":"query","required":false,"description":"in or ft (default in)","schema":{"type":"string"},"example":"in"},{"name":"slope_denominator","in":"query","required":false,"description":"Slope 1:N (default 12 = ADA max)","schema":{"type":"string"},"example":"12"}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK","content":{"application/json":{"example":{"data":{"note":"ADA: a ramp rises 1 inch per 12 of run (max 8.33 % slope), a single run climbs at most 30\", and a 5-ft (60\") level landing goes top, bottom and between runs. Run = rise × slope denominator. Gentler is better — 1:16 or 1:20 if you have the room.","inputs":{"rise":24,"unit":"in","slope_denominator":12},"rise_in":24,"ramp_run_ft":24,"ramp_run_in":288,"slope_ratio":"1:12","ada_compliant":true,"slope_percent":8.33,"total_length_ft":34,"intermediate_landings":0},"meta":{"timestamp":"2026-06-06T15:30:50.544Z","request_id":"f1d22fa7-9c5a-481c-bce7-773c97f590ea"},"status":"ok","message":"Ramp design","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":"ADA: 1:12 max slope (8.33 %), 30\" max rise per run, 5-ft landings top/bottom/between. Run = rise × 12. Rise/run in inches or feet. Accessibility code — confirm against current ADA/local requirements. For generic slope conversion use a slope API.","service":"adaramp-api","endpoints":{"GET /v1/fit":"Whether a ramp for a rise fits an available run, and the resulting slope.","GET /v1/meta":"This document.","GET /v1/ramp":"Ramp run, landings and total length for a rise at a chosen slope (default ADA 1:12)."},"description":"ADA wheelchair-ramp maths: required run and landings for a rise, and whether a ramp fits an available run."},"meta":{"timestamp":"2026-06-06T15:30:50.651Z","request_id":"b002a8d6-ef55-4f8c-87ac-13f45bca6b0e"},"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":6500,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":457,"monthly_call_quota":52400,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1245,"monthly_call_quota":217500,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":3935,"monthly_call_quota":1278000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/adaramp-api"}