# Menus Overview

Source: https://developer.synup.com/menus/overview

## Overview

This API provides menu management for locations, enabling businesses to create and manage menus with sections and items. A menu belongs to a location and contains sections (e.g., "Starters", "Mains"), each of which holds individual items with names, descriptions, and prices.

---

### Menu API Attributes

Given below are the response fields returned for the API endpoints in **Menus**.

---

### Create a menu

| **Name** | **Field Type** | **Description** |
|----------|----------------|-----------------|
| `id` | String | The unique ID of the created menu |
| `displayName` | String | The display name of the menu |
| `description` | String | A description of the menu |
| `currencyCode` | String | The currency used for item prices, e.g. `us_usd`, `it_eur` |
| `locationId` | String | The ID of the location this menu belongs to |
| [`offeringsSection`](#offeringssection-object-fields) | Object | The initial section added to the menu at creation time |

<a id="offeringssection-object-fields"></a>

#### `offeringsSection` object fields

| **Name** | **Field Type** | **Description** |
|----------|----------------|-----------------|
| `id` | String | The unique ID of the section |
| `displayName` | String | The display name of the section, e.g. `Starters` |
| `description` | String | A description of the section |
| [`offeringsItem`](#offeringsitem-object-fields) | Object | An item nested within the section at creation time |

<a id="offeringsitem-object-fields"></a>

#### `offeringsItem` object fields

| **Name** | **Field Type** | **Description** |
|----------|----------------|-----------------|
| `id` | String | The unique ID of the item |
| `displayName` | String | The display name of the item, e.g. `Bruschetta` |
| `description` | String | A description of the item |
| `price` | String | The price of the item as a decimal string, e.g. `"8.00"` |

---

### Fetch menus for a location

| **Name** | **Field Type** | **Description** |
|----------|----------------|-----------------|
| `id` | String | The unique ID of the menu |
| `displayName` | String | The display name of the menu |
| `description` | String | A description of the menu |
| `currencyCode` | String | The currency used for item prices |
| [`offeringsSection`](#offeringssection-object-fields) | Array of Objects | The sections belonging to this menu |

**Query parameters:**

| **Name** | **Field Type** | **Description** |
|----------|----------------|-----------------|
| `first` | Integer | Number of menus to return |

---

### Add an item to a section

| **Name** | **Field Type** | **Description** |
|----------|----------------|-----------------|
| `id` | String | The unique ID of the created item |
| `displayName` | String | The display name of the item |
| `description` | String | A description of the item |
| `price` | String | The price of the item as a decimal string |
| `sectionId` | String | The ID of the section the item was added to |

---

### Update menu currency

| **Name** | **Field Type** | **Description** |
|----------|----------------|-----------------|
| `id` | String | The unique ID of the menu |
| `currencyCode` | String | The updated currency code, e.g. `us_usd`, `it_eur` |

---

### Assign a menu to a location

| **Name** | **Field Type** | **Description** |
|----------|----------------|-----------------|
| `id` | String | The unique ID of the menu |
| `locationId` | String | The ID of the location the menu was assigned to |

---
