Skip to content

Update food menus

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

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

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

Parameters

  • accountId (path, string) required — The Zernio account ID (from /v1/accounts)

  • locationId (query, string) — Override which location to target. If omitted, uses the account's selected location. Use GET /gmb-locations to list valid IDs.

Request body

Content-Type: application/json

  • menus (array) required — Array of food menus to set
  • updateMask (string) — Field mask for partial updates (e.g. "menus")

Example:

json

{
  "menus": [
    {
      "labels": [
        {
          "displayName": "Dinner Menu",
          "languageCode": "en"
        }
      ],
      "sections": [
        {
          "labels": [
            {
              "displayName": "Mains"
            }
          ],
          "items": [
            {
              "labels": [
                {
                  "displayName": "Grilled Salmon",
                  "description": "With seasonal vegetables"
                }
              ],
              "attributes": {
                "price": {
                  "currencyCode": "USD",
                  "units": "24"
                },
                "allergen": [
                  "FISH"
                ]
              }
            }
          ]
        }
      ]
    }
  ],
  "updateMask": "menus"
}

Responses

200 — Food menus updated successfully

  • success (boolean)
  • accountId (string)
  • locationId (string)
  • name (string)
  • menus (array)

400 — Invalid request

  • error (string)
  • details (object)

401 — Unauthorized or token expired

  • error (string)
  • details (object)

403 — Permission denied for this location

  • error (string)
  • details (object)

404

500 — Failed to update food menus

  • error (string)
  • details (object)