Menu API Grubtech Endpoints

Upload Menu

The Upload Menu endpoint on the Grubtech platform allows the creation of a menu for a specific store. This endpoint is designed to handle complex menu structures and ensures that all menu items, categories, and modifiers are uploaded and properly configured for integration with Grubtech's POS application.

  • Menu Creation: This endpoint facilitates the creation and structuring of a restaurant's menu on Grubtech's platform.

  • Store-Specific Menus: The menu being uploaded is associated with a specific store, ensuring that each store can have a distinct menu if needed.

  • Supports Nested Modifiers: For POS systems that support nested modifiers (i.e., modifiers within modifiers), this endpoint allows for the inclusion of those nested structures within the menu payload. Nested modifiers allow for hierarchical grouping, where a modifier can have additional sub-options. To properly configure nested modifiers, refer to the step-by-step process outlined in POS Platforms Supporting Nested Modifiers. Ensure that the payload follows the correct format to nest these modifiers.

put/menus

Request

  • Base URL
    https://api.staging.grubtech.io/menu/v1
  • URL
    https://api.staging.grubtech.io/menu/v1/menus
  • Auth
    API key in header X-API-KEY

Request body

idstring required

Unique identifier for the menu, provided by the integration party.

imageUrlstring required

URL pointing to an image of the item. <br/> Image requirements <br/> - File size must be less than 2MB. <br/> - Image must be in JPEG, PNG. <br/> - Optimal resolution for the images will be 800 x 800 px.

currencyCodestring required

Applicable currency code for the menu.

storeIdsstring[] required

Unique identifiers (string) for each locations which shared the menu

externalDatastring

(optional) Free-form text field reserved for the api consumer to use, e.g. for POS integrations.

Example request

{
  "id": "601e50ce6053727605dc5a1c",
  "name": {
    "translations": {
      "en-us": "grubtech"
    }
  },
  "description": {
    "translations": {
      "en-us": "grubtech"
    }
  },
  "imageUrl": "https://cdn.staging.grubtech.io/default-menu-cover.jpg",
  "currencyCode": "AED",
  "storeIds": [
    "5fe33b6a48c2a05c552e669b"
  ],
  "items": [
    {
      "id": "601e50ce9509110c35650e01",
      "name": {
        "translations": {
          "en-us": "grubtech"
        }
      },
      "description": {
        "translations": {
          "en-us": "grubtech"
        }
      },
      "classifications": [
        "VEG"
      ],
      "imageUrl": "https://cdn.staging.grubtech.io/IMAGE_RECIPE-b086a720-63e1-480e-ace3-1973fa19cc40.jpeg",
      "modifierGroups": [
        "601e4eddcadaefc990e652a45fec41c6fd8e121b65dfa02e"
      ],
      "quantityInfo": {
        "maxPermitted": 10
      },
      "type": "ITEM",
      "availability": "AVAILABLE",
      "overrides": [
        {
          "contextId": "cbeb2ca5-d6e2-4d22-8002-470f12986a9c",
          "properties": {
            "price": 1500
          }
        }
      ]
    }
  ],
  "modifierGroups": [
    {
      "id": "601e4eddcadaefc990e652a45fec41c6fd8e121b65dfa02e",
      "name": {
        "translations": {
          "en-us": "grubtech"
        }
      },
      "quantityInfo": {
        "maxPermitted": 10
      },
      "modifiers": [
        "601e50ce9509110c35650e02"
      ]
    }
  ],
  "categories": [
    {
      "id": "601e50cd6053727605dc5a17",
      "background": {
        "type": "IMAGE",
        "value": "IMAGE_CATEGORY-3cb9f4ed-48d6-4088-a88b-d04cc8faaaab.jpeg"
      },
      "name": {
        "translations": {
          "en-us": "grubtech"
        }
      },
      "description": {
        "translations": {
          "en-us": "grubtech"
        }
      },
      "servingHours": [
        {
          "dayOfWeek": "MONDAY",
          "timePeriods": [
            {
              "start": "08:30",
              "end": "23:30"
            }
          ]
        }
      ],
      "items": [
        "601e50ce9509110c35650e01"
      ]
    }
  ],
  "contexts": [
    [
      {
        "id": "cbeb2ca5-d6e2-4d22-8002-470f12986a9c"
      }
    ]
  ]
}

Response

Successful response OK

idstring required

Unique id for the menu.

externalReferenceIdstring required

Grubtech unique id for the menu

Changes

No recorded changes to this operation across all 1 revision of this API.