---
title: "Update food menus"
method: PUT
path: "/v1/accounts/{accountId}/gmb-food-menus"
tags: ["GMB Food Menus"]
---

# Update food menus

`PUT /v1/accounts/{accountId}/gmb-food-menus`

Updates food menus for a GBP location. Send the full menus array. Use updateMask for partial updates.

## Path parameters

- `accountId` string, required

## Query parameters

- `locationId` string

## Request body

- object
  - `menus` FoodMenu[], required — Array of food menus to set
    - `labels` FoodMenuLabel[], required
      - `displayName` string, required — Display name of the item/section/menu
      - `description` string — Optional description
      - `languageCode` string — BCP-47 language code (e.g. en, es)
    - `sections` FoodMenuSection[]
      - `labels` FoodMenuLabel[], required
        - `displayName` string, required — Display name of the item/section/menu
        - `description` string — Optional description
        - `languageCode` string — BCP-47 language code (e.g. en, es)
      - `items` FoodMenuItem[]
        - `labels` FoodMenuLabel[], required
          - `displayName` string, required — Display name of the item/section/menu
          - `description` string — Optional description
          - `languageCode` string — BCP-47 language code (e.g. en, es)
        - `attributes` FoodMenuItemAttributes
          - `price` Money
            - `currencyCode` string, required — ISO 4217 currency code (e.g. USD, EUR)
            - `units` string, required — Whole units of the amount
            - `nanos` integer — Nano units (10^-9) of the amount
          - `spiciness` 'SPICINESS_UNSPECIFIED' | 'MILD' | 'MEDIUM' | 'HOT' — Spiciness level (e.g. MILD, MEDIUM, HOT)
          - `allergen` string[] — Allergens (e.g. DAIRY, GLUTEN, SHELLFISH)
          - `dietaryRestriction` string[] — Dietary labels (e.g. VEGETARIAN, VEGAN, GLUTEN_FREE)
          - `servesNumPeople` integer — Number of people the item serves
          - `preparationMethods` string[] — Preparation methods (e.g. GRILLED, FRIED)
          - `mediaKeys` string[] — Media references for item photos
        - `options` object[] — Item variants/options (e.g. sizes, preparations)
          - `labels` FoodMenuLabel[], required
            - `displayName` string, required — Display name of the item/section/menu
            - `description` string — Optional description
            - `languageCode` string — BCP-47 language code (e.g. en, es)
          - `attributes` FoodMenuItemAttributes, required
            - `price` Money
              - …
            - `spiciness` 'SPICINESS_UNSPECIFIED' | 'MILD' | 'MEDIUM' | 'HOT' — Spiciness level (e.g. MILD, MEDIUM, HOT)
            - `allergen` string[] — Allergens (e.g. DAIRY, GLUTEN, SHELLFISH)
            - `dietaryRestriction` string[] — Dietary labels (e.g. VEGETARIAN, VEGAN, GLUTEN_FREE)
            - `servesNumPeople` integer — Number of people the item serves
            - `preparationMethods` string[] — Preparation methods (e.g. GRILLED, FRIED)
            - `mediaKeys` string[] — Media references for item photos
    - `cuisines` string[] — Cuisine types (e.g. AMERICAN, ITALIAN, JAPANESE)
    - `sourceUrl` string, uri — URL of the original menu source
  - `updateMask` string — Field mask for partial updates (e.g. "menus")

## Response `200`

Food menus updated successfully

- object
  - `success` boolean
  - `accountId` string
  - `locationId` string
  - `name` string
  - `menus` FoodMenu[]
    - `labels` FoodMenuLabel[], required
      - `displayName` string, required — Display name of the item/section/menu
      - `description` string — Optional description
      - `languageCode` string — BCP-47 language code (e.g. en, es)
    - `sections` FoodMenuSection[]
      - `labels` FoodMenuLabel[], required
        - `displayName` string, required — Display name of the item/section/menu
        - `description` string — Optional description
        - `languageCode` string — BCP-47 language code (e.g. en, es)
      - `items` FoodMenuItem[]
        - `labels` FoodMenuLabel[], required
          - `displayName` string, required — Display name of the item/section/menu
          - `description` string — Optional description
          - `languageCode` string — BCP-47 language code (e.g. en, es)
        - `attributes` FoodMenuItemAttributes
          - `price` Money
            - `currencyCode` string, required — ISO 4217 currency code (e.g. USD, EUR)
            - `units` string, required — Whole units of the amount
            - `nanos` integer — Nano units (10^-9) of the amount
          - `spiciness` 'SPICINESS_UNSPECIFIED' | 'MILD' | 'MEDIUM' | 'HOT' — Spiciness level (e.g. MILD, MEDIUM, HOT)
          - `allergen` string[] — Allergens (e.g. DAIRY, GLUTEN, SHELLFISH)
          - `dietaryRestriction` string[] — Dietary labels (e.g. VEGETARIAN, VEGAN, GLUTEN_FREE)
          - `servesNumPeople` integer — Number of people the item serves
          - `preparationMethods` string[] — Preparation methods (e.g. GRILLED, FRIED)
          - `mediaKeys` string[] — Media references for item photos
        - `options` object[] — Item variants/options (e.g. sizes, preparations)
          - `labels` FoodMenuLabel[], required
            - `displayName` string, required — Display name of the item/section/menu
            - `description` string — Optional description
            - `languageCode` string — BCP-47 language code (e.g. en, es)
          - `attributes` FoodMenuItemAttributes, required
            - `price` Money
              - …
            - `spiciness` 'SPICINESS_UNSPECIFIED' | 'MILD' | 'MEDIUM' | 'HOT' — Spiciness level (e.g. MILD, MEDIUM, HOT)
            - `allergen` string[] — Allergens (e.g. DAIRY, GLUTEN, SHELLFISH)
            - `dietaryRestriction` string[] — Dietary labels (e.g. VEGETARIAN, VEGAN, GLUTEN_FREE)
            - `servesNumPeople` integer — Number of people the item serves
            - `preparationMethods` string[] — Preparation methods (e.g. GRILLED, FRIED)
            - `mediaKeys` string[] — Media references for item photos
    - `cuisines` string[] — Cuisine types (e.g. AMERICAN, ITALIAN, JAPANESE)
    - `sourceUrl` string, uri — URL of the original menu source

## Other responses

- `400` — Invalid request
- `401` — Unauthorized or token expired
- `403` — Permission denied for this location
- `404` — Resource not found
- `500` — Failed to update food menus

---

[API](https://skmtc.net/zernio/apis/zernio-api.md) · [All operations](https://skmtc.net/zernio/apis/zernio-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/zernio/zernio-api/revisions/f81ca70ea6b9/schema)
