{"openapi":"3.1.0","info":{"title":"Food Delivery API","version":"1.0.0","description":"Restaurants, menus, cuisine categories, and delivery tracking Exported as an OpenAPI 3.1 document from Fake API for Devs."},"servers":[{"url":"https://fakeapifordevs.vercel.app","description":"Fake API for Devs production endpoint"}],"tags":[{"name":"Food Delivery","description":"Restaurants, menus, cuisine categories, and delivery tracking"}],"paths":{"/api/food/restaurants":{"get":{"tags":["Food Delivery"],"summary":"GET /api/food/restaurants?q=burger&open_now=true","operationId":"food_get_food_restaurants","parameters":[{"name":"page","in":"query","schema":{"type":"integer","minimum":1,"default":1},"description":"1-indexed page number for collection endpoints."},{"name":"per_page","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":10},"description":"Page size for collection endpoints."},{"name":"q","in":"query","schema":{"type":"string"},"description":"Optional text search filter where supported."},{"name":"delay","in":"query","schema":{"type":"number","minimum":0,"maximum":10},"description":"Optional artificial delay in seconds."},{"name":"simulate_error","in":"query","schema":{"type":"string","enum":["rate_limit","server_error","not_found","unauthorized","forbidden","bad_request","service_unavailable","timeout","malformed"]},"description":"Force a mock failure scenario for resilience testing."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"404":{"description":"Not found"},"429":{"description":"Rate limited"},"500":{"description":"Internal server error"}}}},"/api/food/restaurants/rest_001":{"get":{"tags":["Food Delivery"],"summary":"GET /api/food/restaurants/rest_001","operationId":"food_get_food_restaurants_rest_001","parameters":[{"name":"page","in":"query","schema":{"type":"integer","minimum":1,"default":1},"description":"1-indexed page number for collection endpoints."},{"name":"per_page","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":10},"description":"Page size for collection endpoints."},{"name":"q","in":"query","schema":{"type":"string"},"description":"Optional text search filter where supported."},{"name":"delay","in":"query","schema":{"type":"number","minimum":0,"maximum":10},"description":"Optional artificial delay in seconds."},{"name":"simulate_error","in":"query","schema":{"type":"string","enum":["rate_limit","server_error","not_found","unauthorized","forbidden","bad_request","service_unavailable","timeout","malformed"]},"description":"Force a mock failure scenario for resilience testing."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"404":{"description":"Not found"},"429":{"description":"Rate limited"},"500":{"description":"Internal server error"}}}},"/api/food/restaurants/rest_001/menu":{"get":{"tags":["Food Delivery"],"summary":"GET /api/food/restaurants/rest_001/menu","operationId":"food_get_food_restaurants_rest_001_menu","parameters":[{"name":"page","in":"query","schema":{"type":"integer","minimum":1,"default":1},"description":"1-indexed page number for collection endpoints."},{"name":"per_page","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":10},"description":"Page size for collection endpoints."},{"name":"q","in":"query","schema":{"type":"string"},"description":"Optional text search filter where supported."},{"name":"delay","in":"query","schema":{"type":"number","minimum":0,"maximum":10},"description":"Optional artificial delay in seconds."},{"name":"simulate_error","in":"query","schema":{"type":"string","enum":["rate_limit","server_error","not_found","unauthorized","forbidden","bad_request","service_unavailable","timeout","malformed"]},"description":"Force a mock failure scenario for resilience testing."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"404":{"description":"Not found"},"429":{"description":"Rate limited"},"500":{"description":"Internal server error"}}}},"/api/food/categories":{"get":{"tags":["Food Delivery"],"summary":"GET /api/food/categories","operationId":"food_get_food_categories","parameters":[{"name":"page","in":"query","schema":{"type":"integer","minimum":1,"default":1},"description":"1-indexed page number for collection endpoints."},{"name":"per_page","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":10},"description":"Page size for collection endpoints."},{"name":"q","in":"query","schema":{"type":"string"},"description":"Optional text search filter where supported."},{"name":"delay","in":"query","schema":{"type":"number","minimum":0,"maximum":10},"description":"Optional artificial delay in seconds."},{"name":"simulate_error","in":"query","schema":{"type":"string","enum":["rate_limit","server_error","not_found","unauthorized","forbidden","bad_request","service_unavailable","timeout","malformed"]},"description":"Force a mock failure scenario for resilience testing."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"404":{"description":"Not found"},"429":{"description":"Rate limited"},"500":{"description":"Internal server error"}}}},"/api/food/orders":{"post":{"tags":["Food Delivery"],"summary":"POST /api/food/orders","operationId":"food_post_food_orders","parameters":[],"requestBody":{"required":true,"content":{"application/json":{"schema":{"type":"object"},"example":{"restaurant_id":"rest_001","customer":{"name":"Jordan Patel","phone":"+1-555-0144","address":"220 Front Street, Brooklyn, NY 11201"},"items":[{"menu_item_id":"item_001","quantity":2},{"menu_item_id":"item_002","quantity":1}]}}}},"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"404":{"description":"Not found"},"429":{"description":"Rate limited"},"500":{"description":"Internal server error"}}}},"/api/food/orders/order_mock_001":{"get":{"tags":["Food Delivery"],"summary":"GET /api/food/orders/order_mock_001","operationId":"food_get_food_orders_order_mock_001","parameters":[{"name":"page","in":"query","schema":{"type":"integer","minimum":1,"default":1},"description":"1-indexed page number for collection endpoints."},{"name":"per_page","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":10},"description":"Page size for collection endpoints."},{"name":"q","in":"query","schema":{"type":"string"},"description":"Optional text search filter where supported."},{"name":"delay","in":"query","schema":{"type":"number","minimum":0,"maximum":10},"description":"Optional artificial delay in seconds."},{"name":"simulate_error","in":"query","schema":{"type":"string","enum":["rate_limit","server_error","not_found","unauthorized","forbidden","bad_request","service_unavailable","timeout","malformed"]},"description":"Force a mock failure scenario for resilience testing."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"404":{"description":"Not found"},"429":{"description":"Rate limited"},"500":{"description":"Internal server error"}}}},"/api/food/orders/order_mock_001/tracking":{"get":{"tags":["Food Delivery"],"summary":"GET /api/food/orders/order_mock_001/tracking","operationId":"food_get_food_orders_order_mock_001_tracking","parameters":[{"name":"page","in":"query","schema":{"type":"integer","minimum":1,"default":1},"description":"1-indexed page number for collection endpoints."},{"name":"per_page","in":"query","schema":{"type":"integer","minimum":1,"maximum":50,"default":10},"description":"Page size for collection endpoints."},{"name":"q","in":"query","schema":{"type":"string"},"description":"Optional text search filter where supported."},{"name":"delay","in":"query","schema":{"type":"number","minimum":0,"maximum":10},"description":"Optional artificial delay in seconds."},{"name":"simulate_error","in":"query","schema":{"type":"string","enum":["rate_limit","server_error","not_found","unauthorized","forbidden","bad_request","service_unavailable","timeout","malformed"]},"description":"Force a mock failure scenario for resilience testing."}],"responses":{"200":{"description":"Successful response","content":{"application/json":{"schema":{"type":"object"}}}},"400":{"description":"Bad request"},"401":{"description":"Unauthorized"},"404":{"description":"Not found"},"429":{"description":"Rate limited"},"500":{"description":"Internal server error"}}}}}}