Asynchronously upload a menu

Bbot supports full menu uploads. We will map the IDs of your menu, menu_items, headings, modifiers, modifier_groups to Bbot's internal IDs.

This endpoint only supports full and not partial menu upserts, in order to avoid service disruptions, please ensure every call contains full menu data.

If the request payload is valid, you will receive a upsert successful response with the status of your async task as pending

📘

Getting the ID mapping

This endpoint will only perform the operation of enqueuing an upsert task. To get the resulting ID mapping, you will need to call the menu upsert menu status

{
  "task_id": "<optional-idempotency-id>",
  "restaurant_id": "u87df007-b6d3-41a5-93e8-a694eb4a83aj",
  "menus": [
    {
      "id": "d87df007-b6d3-41a5-93e8-a694eb4a33ba",
      "name": "Galley Grub",
      "allow_order_ahead": false,
      "max_order_ahead_minutes": 2880,
      "display_position": 1000,
      "enabled": true,
      "headings": [
        {
          "id": "bbc479f4-9384-4b56-99d0-adc518a9894e",
          "name": "Burgers",
          "display_position": 999,
          "items": [
            "bbc47254-81ce-4e6a-a57a-fcd0266a5eb7"
          ]
        }
      ],
      "modifier_groups": [
        {
          "id": "bbc46aee-10c4-418a-a379-229a46104790",
          "name": "Add Patties",
          "display_position": 999,
          "min_selected": 0,
          "max_selected": 1,
          "modifiers": [
            {
              "id": "bbc44c5c-4fb5-472c-983a-b824098dc251",
              "name": "Double Patty",
              "pretax_cents": 300,
              "tax_cents": 30,
              "tax_fraction": 0.1,
              "menu_item_class": "addon",
              "pre_selected": false,
              "in_stock": true,
              "display_position": 1000,
              "sku": "doublepatty",
              "tags": [
                "spicy",
                "vegan"
              ],
              "enabled": true
            },
            {
              "id": "bbc453a7-59bb-43ea-81dd-bd33e10e6b5f",
              "name": "Tripple Patty",
              "pretax_cents": 400,
              "tax_cents": 36,
              "tax_fraction": 0.09,
              "menu_item_class": "addon",
              "pre_selected": false,
              "in_stock": true,
              "display_position": 1000,
              "sku": "triplepatty",
              "tags": [
                "spicy",
                "vegan"
              ],
              "enabled": true
            }
          ]
        }
      ],
      "menu_items": [
        {
          "id": "bbc47254-81ce-4e6a-a57a-fcd0266a5eb7",
          "name": "Krabby Patty",
          "description": "Squidward's favorite",
          "pretax_cents": 1000,
          "tax_cents": 100,
          "tax_fraction": 0.1,
          "most_loved": false,
          "in_stock": true,
          "modifier_groups": [
            {
              "modifier_group_id": "bbc46aee-10c4-418a-a379-229a46104790",
              "modifier_ids": [
                "bbc44c5c-4fb5-472c-983a-b824098dc251",
                "bbc453a7-59bb-43ea-81dd-bd33e10e6b5f"
              ]
            }
          ],
          "image_url": "https://cdn.com/customer/8940f5b9-cefb-4907-a431-85526b8a5d89/menuItem/ArNHLaNVTx6ddc8FT-HzqA",
          "tags": [
            "spicy",
            "vegan"
          ],
          "menu_heading_id": "bbc479f4-9384-4b56-99d0-adc518a9894e",
          "special_instruction": true,
          "menu_item_class": "food",
          "display_position": 1000,
          "enabled": true,
          "skip_ahead_minutes": 0,
          "pre_selected": false,
          "sku": ""
        }
      ],
      "active_schedule": {
        "friday": [
            {
              "start_time": "09:30",
              "end_time": "15:00"
             },
             {
              "start_time": "17:30",
              "end_time": "22:00"
             }
          ],
        "tuesday": [
            {
              "start_time": "09:30",
              "end_time": "22:00"
             }
          ]
      	}
      }
    }
  ]
}
Language
Authorization
Basic
base64
:
Click Try It! to start a request and see the response here!