# Get Menu v1.1

The Get Menu endpoint retrieves a specified menu. The request will return a single menu version. It allows for the use of wildcard version values in the version parameter. Expands can be used to retrieve an entire menu with all of its related data.

# Request

GET /menu-api/v1.1/menus/{menuKey}{menuVersion}[?expand]

# Path Parameters

A list of the supported path parameters is described below.

Name Required Type Description
menuKey true string The key for the menu.
menuVersion true string The version of the menu. Valid values are either a version number or current or latest. See Versions below for more information.

# Versions

The endpoint supports wildcard version values that compute the correct version. Each value is described below.

Value Description
version This would be an actual version number such as 202010.
current Returns the version that is currently active, if there is one.
latest Returns the newest version. This may return the current version as that is the latest but it could return a newer version that is future dated.

# Query Parameters

A list of the supported query parameters is described below.

Name Required Type Description
expand false int Provide a list of array properties that should be expanded in the response. Valid values are: sections or items or images or restaurants or featured or any combination thereof. See Expands below for more information.

# Expands

The expand parameter allows some arrays in the response object to be expanded in the response.

Valid values are: sections or items or images or restaurants or featured or any combination thereof. Expanding images only returns image data for sections and items and must be used in combination with those expands.

WARNING

Expanding arrays increases the response time as more data needs to be fetched and processed.

# Response

200
OK
Returns a Menu resource wrapped in an ApiResponse envelope.

# Response Body

The endpoint returns our ApiResponse envelope. The data property of the response will contain a single Menu resource.

# Sample

{
    "message": "The operation succeeded!",
    "notifications": [],
    "data": {
        "key": "SPUR-ZA-45",
        "version": 202010,
        "revision": "4417846432",
        "name": "DEMO MENU",
        "displayName": "DEMO",
        "description": "This menu is to demo new features and functionality.",
        "status": "QA",
        "statusChangedOn": "2020-12-15T11:08:37.1433333",
        "publishStatus": "Draft",
        "publishedOn": null,
        "brand": {
            "key": "SPUR",
            "name": "Spur",
            "displayName": "Spur",
            "enabled": true,
            "createdOn": "2013-09-25T13:37:28.8966667",
            "modifiedOn": "2021-03-18T14:12:19.087"
        },
        "defaultForBrand": false,
        "countryCode": "ZA",
        "currency": "ZAR",
        "foodTypes": [],
        "orderingChannels": [
            {
                "key": 3,
                "name": "1st Party Ordering Platform"
            },
            {
                "key": 38,
                "name": "Branded App"
            },
            {
                "key": 39,
                "name": "ChatBot"
            },
            {
                "key": 118,
                "name": "Kiosk"
            }
        ],
        "fulfilmentChannels": [
            {
                "key": 79,
                "name": "Collection"
            },
            {
                "key": 81,
                "name": "Delivery"
            }
        ],
        "availableFrom": null,
        "availableTo": null,
        "enabled": true,
        "hasAvailabilityRestrictions": true,
        "effectiveFrom": "2020-10-01T00:00:00",
        "effectiveTo": "2021-12-31T23:59:59.9999999",
        "allergens": [
            {
                "key": 1,
                "name": "Gluten"
            },
            {
                "key": 2,
                "name": "Cows Milk"
            },
            {
                "key": 3,
                "name": "Wheat"
            },
            {
                "key": 4,
                "name": "Egg"
            },
            {
                "key": 5,
                "name": "Soya"
            },
            {
                "key": 6,
                "name": "Tree Nuts"
            }
        ],
        "dayParts": [
            {
                "key": 18,
                "name": "Breakfast"
            }
        ],
        "itemCategories": [
            {
                "key": 3,
                "name": "Burgers"
            },
            {
                "key": 4,
                "name": "Steaks"
            },
            {
                "key": 5,
                "name": "Chicken"
            },
            {
                "key": 7,
                "name": "Wings"
            },
            {
                "key": 9,
                "name": "Ribs"
            },
            {
                "key": 11,
                "name": "Seafood"
            }
        ],
        "menuCategories": [
            {
                "key": 1,
                "name": "Main Meals"
            },
            {
                "key": 2,
                "name": "Starters"
            },
            {
                "key": 3,
                "name": "Sharing"
            },
            {
                "key": 5,
                "name": "Kids Meals"
            },
            {
                "key": 7,
                "name": "Beverages"
            }
        ],
        "sections": [],
        "items": [],
        "featuredPeriods": [],
        "restaurants": [],
        "createdOn": "2020-10-20T09:05:37",
        "modifiedOn": "2020-10-01T00:00:00"
    }
}

# Errors

The standard error responses apply.

404
Not Found
When the requested menu cannot be found.
404
Not Found
When the requested version cannot be found or the wildcard value cannot be resolved.
400
Bad Request
When the expand value provided is invalid.