{"openapi":"3.1.0","info":{"title":"Catering & Party API","version":"1.0.0","description":"Catering and party-planning maths as an API, computed locally and deterministically — the how-much-do-I-buy numbers a host or caterer plans a headcount with. The food endpoint scales a menu to the guest count and appetite: the main protein at about half a pound of cooked meat per person (light 0.33, hearty 0.75), each side dish at roughly four ounces a head, six appetizer pieces each and one-and-a-half dinner rolls — so 50 guests at a standard dinner with three sides need 25 lb of meat, 300 appetizers and 75 rolls. The drinks endpoint sizes the bar: about one drink per guest per hour plus an extra in the first hour, split across beer, wine and cocktails, and converted into the real units you buy — beer by the case (24) and the half-keg (~165 servings), wine by the bottle (~5 glasses), spirits by the 750 ml bottle (~16 shots) — plus the ice (about 1.5 lb per guest) and water; a 50-guest, four-hour party comes to 250 drinks, 125 beers (0.76 of a keg), 15 bottles of wine and 75 lb of ice. Everything is computed locally and deterministically, so it is instant and private. Ideal for event-planning, catering, hospitality and party app developers, shopping-list and headcount tools, and host calculators. Pure local computation — no key, no third-party service, instant. US units; rules of thumb — round up. Live, nothing stored. 2 compute endpoints. Adjust for the crowd and the season.","contact":{"name":"PremiumApi","url":"https://www.oanor.com/by/premiumapi"}},"servers":[{"url":"https://api.oanor.com/catering-api","description":"oanor gateway"}],"tags":[{"name":"Catering"},{"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/drinks":{"get":{"operationId":"get_v1_drinks","tags":["Catering"],"summary":"Drink quantities","description":"","parameters":[{"name":"guests","in":"query","required":true,"description":"Number of guests","schema":{"type":"string"},"example":"50"},{"name":"hours","in":"query","required":true,"description":"Event length (hours)","schema":{"type":"string"},"example":"4"},{"name":"alcohol","in":"query","required":false,"description":"Serve alcohol (default true)","schema":{"type":"string"},"example":"true"},{"name":"beer_percent","in":"query","required":false,"description":"Beer share % (default 50)","schema":{"type":"string"},"example":"50"},{"name":"wine_percent","in":"query","required":false,"description":"Wine share % (default 30)","schema":{"type":"string"},"example":"30"},{"name":"cocktail_percent","in":"query","required":false,"description":"Cocktail share % (default 20)","schema":{"type":"string"},"example":"20"}],"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/food":{"get":{"operationId":"get_v1_food","tags":["Catering"],"summary":"Food quantities","description":"","parameters":[{"name":"guests","in":"query","required":true,"description":"Number of guests","schema":{"type":"string"},"example":"50"},{"name":"appetite","in":"query","required":false,"description":"light, standard or hearty","schema":{"type":"string"},"example":"standard"},{"name":"sides","in":"query","required":false,"description":"Number of side dishes (default 3)","schema":{"type":"string"},"example":"3"},{"name":"appetizers_per_person","in":"query","required":false,"description":"Appetizer pieces each (default 6)","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":6850,"rps_limit":2,"hard_limit":true},{"slug":"starter","name":"Starter","price_cents_month":385,"monthly_call_quota":60500,"rps_limit":6,"hard_limit":true},{"slug":"pro","name":"Pro","price_cents_month":1080,"monthly_call_quota":247500,"rps_limit":15,"hard_limit":true},{"slug":"mega","name":"Mega","price_cents_month":3450,"monthly_call_quota":1385000,"rps_limit":40,"hard_limit":true}],"x-oanor-marketplace-url":"https://www.oanor.com/api/catering-api"}