---
# System prepended metadata

title: RestaurantsAPI

---

# RestaurantsAPI
### Description
An api containing a list of restaurants and information for people to find a good place to eat with friends.

## API Endpoints
| HTTP Method |  API Endpoint                         | Description                                                                 |
| ----------- | ------------------------------------- | --------------------------------------------------------------------------- |                               
| GET         | /api/restaurants                            | Return a list of all the restaurants                                              |
| GET         | /api/restaurants/{RestaurantId}                   | Return a restaurant for a given id                                                |
| GET         | /api/restaurants/{RestaurantId}/items/{ItemName}  | Return item(s) for a restaurant for a given item name and restaurant id                 |
| GET         | /api/restaurants/{RestaurantName}                 | Return a list of restaurants for a given restaurant name                                |
| POST        | /api/restaurants                            | Add a new restaurant                                                              |
| PUT         | /api/restaurants/{RestaurantId}                   | Update an existing restaurant for a given id                                      |
| DELETE      | /api/restaurants/{RestaurantId}                   | Delete an existing restaurant for a given id, Note: Will delete children as well! |
| GET         | /api/menus                            | Return a list of all the menus and their items                              |
| GET         | /api/menus/{MenuId}                   | Return a menu and it's items for a given id                                 |
| GET         | /api/menus/{ItemName}                 | Return a list of menus containing a given item name                         |
| POST        | /api/menus                            | Add a new menu for an existing restaurant                                         |
| PUT         | /api/menus/{MenuId}                   | Update an existing menu for a given id                                      |
| DELETE      | /api/menus/{MenuId}                   | Delete an existing menu for a given id                                      |
| GET         | /api/items                            | Return a list of all the items                                              |
| GET         | /api/items/{ItemId}                   | Return an item for a given id                                               |
| POST        | /api/items                            | Add a new item for an existing menu                                         |
| PUT         | /api/items/{ItemId}                   | Update an existing item for a given id                                      |
| DELETE      | /api/items/{ItemId}                   | Delete an existing item for a given id                                      |


## Sample Requests/Response
