{"openapi":"3.1.0","info":{"title":"Baking Pan Scaler API","version":"1.0.0","description":"Baking-pan maths as an API, computed locally and deterministically — the area and scale-factor numbers a baker resizes a recipe between pans with. The trick everyone gets wrong is that a recipe scales by the pan’s AREA, not its diameter, so a 10-inch round holds far more batter than a 9-inch. The area endpoint gives the surface area of any pan — round and springform as π/4·d², square as s², rectangle as length × width, and bundt or tube pans as the ring (the outer circle minus the centre hole) — so a 9-inch round is 63.6 in², an 8-inch square 64 and a 9×13 is 117; add a depth and it returns the volume in cubic inches and cups. The convert endpoint gives the scale factor to move a recipe from one pan to another, factor = target area ÷ source area: a 9-inch round to a 9×13 is ×1.84, and two 8-inch rounds really do equal one 9×13. Pass an ingredient amount and it scales it for you, with a note to keep the batter depth similar and adjust the bake time. Everything is computed locally and deterministically, so it is instant and private. Ideal for baking, recipe, meal-prep and kitchen app developers, recipe-scaling and substitution tools, and culinary software. Pure local computation — no key, no third-party service, instant. Inches. Live, nothing stored. 2 compute endpoints. For ingredient unit conversion use a cooking API.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/panscale-api","description":"oanor gateway"}],"tags":[{"name":"Pan"},{"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/area":{"get":{"operationId":"get_v1_area","tags":["Pan"],"summary":"Pan area + volume","description":"","parameters":[{"name":"shape","in":"query","required":true,"description":"round, square, rectangle, springform, bundt/tube","schema":{"type":"string"},"example":"round"},{"name":"diameter","in":"query","required":false,"description":"Diameter (round/springform/bundt)","schema":{"type":"string"},"example":"9"},{"name":"side","in":"query","required":false,"description":"Side (square)","schema":{"type":"string"}},{"name":"length","in":"query","required":false,"description":"Length (rectangle)","schema":{"type":"string"}},{"name":"width","in":"query","required":false,"description":"Width (rectangle)","schema":{"type":"string"}},{"name":"hole_diameter","in":"query","required":false,"description":"Centre hole (bundt/tube)","schema":{"type":"string"}},{"name":"depth","in":"query","required":false,"description":"Depth for volume","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"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/convert":{"get":{"operationId":"get_v1_convert","tags":["Pan"],"summary":"Recipe scale factor between pans","description":"","parameters":[{"name":"from_shape","in":"query","required":true,"description":"Source pan shape","schema":{"type":"string"},"example":"round"},{"name":"from_diameter","in":"query","required":false,"description":"Source diameter","schema":{"type":"string"},"example":"9"},{"name":"from_side","in":"query","required":false,"description":"Source side","schema":{"type":"string"}},{"name":"from_length","in":"query","required":false,"description":"Source length","schema":{"type":"string"}},{"name":"from_width","in":"query","required":false,"description":"Source width","schema":{"type":"string"}},{"name":"to_shape","in":"query","required":true,"description":"Target pan shape","schema":{"type":"string"},"example":"rectangle"},{"name":"to_diameter","in":"query","required":false,"description":"Target diameter","schema":{"type":"string"}},{"name":"to_side","in":"query","required":false,"description":"Target side","schema":{"type":"string"}},{"name":"to_length","in":"query","required":false,"description":"Target length","schema":{"type":"string"},"example":"13"},{"name":"to_width","in":"query","required":false,"description":"Target width","schema":{"type":"string"},"example":"9"},{"name":"amount","in":"query","required":false,"description":"An ingredient amount to scale","schema":{"type":"string"}}],"security":[{"oanorKey":[]}],"responses":{"200":{"description":"OK"},"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"},"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":7240,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":404,"monthly_call_quota":57700,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1136,"monthly_call_quota":237600,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":3614,"monthly_call_quota":1366000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/panscale-api"}