# Get Menu Returns the latest menu for the specified channel, time, fulfillment method, etc. Endpoint: GET /v2/menu Version: v2 Security: BearerAuthSecurityScheme ## Header parameters: - `x-md-api-version` (string, required) Enum: "4" - `x-bite-org-id` (string, required) The org ID you are working with. - `x-bite-location-id` (string, required) The location ID you are working with. ## Query parameters: - `fulfillmentMethod` (integer) The user's chosen fulfillment method for their order. - `time` (integer) The Unix timestamp for the ready time of a future order. ASAP orders will not have this property. If this is a pickup order, then this will denote the time by which the order is ready to be picked up from the store. If this is a delivery order, then this will denote the time by which the order should be delivered. - `outpostId` (string) If this is an outpost pickup order, then outpostId is required. The ID of the outpost that this order should be delivered to for the guest to pick up. ## Response 200 fields (application/json): - `location` (object, required) - `location._id` (string, required) The Bite ID of the location. - `location.name` (string, required) Name of the location. - `location.orgName` (string, required) Name of the org that the location belongs to. - `location.siteId` (string, required) Site ID that the location belongs to. - `location.orderChannel` (string, required) Denotes the ordering channel through which orders are placed: * catering - Catering Website * flash - Contactless (QR-code) * kiosk - Kiosk * linebuster - Linebuster * web - Online Ordering Website Enum: "catering", "flash", "kiosk", "linebuster", "web" - `location.orgId` (string, required) Org ID that the location belongs to. - `location.state` (integer, required) The State of the location in Bite Admin: * 0 Draft - Location should be closed to customers. Allows for configuring the location. * 1 Live - Location should be open to customers. Does not allow drastic configuration changes. - `location.shortCode` (string, required) The location's unique 4-letter short code. - `location.phoneNumber` (string) The location's phone number, formatted as a 10-digit string. - `location.coordinates` (array) The location's geo-coordinates (long, lat). - `location.fullAddress` (object) The location's full physical address. - `location.fullAddress.line1` (string, required) - `location.fullAddress.line2` (string) - `location.fullAddress.crossStreet` (string) - `location.fullAddress.city` (string, required) - `location.fullAddress.state` (string, required) Two-letter abbreviation for the state or province. - `location.fullAddress.postalCode` (string, required) - `location.fullAddress.country` (string) - `location.timezone` (string, required) The timezone of the location. ex: America/New_York - `location.currencyCode` (string, required) Enum: "USD", "CAD" - `location.supportedLanguages` (array, required) Enum: "en-us", "fr-ca", "es-us", "zh-cn", "ja-jp", "ko-kr", "pt-br" - `location.activeFulfillmentMethods` (array, required) - `location.openingHoursByFulfillmentMethod` (array, required) - `location.openingHoursByFulfillmentMethod.fulfillmentMethod` (integer, required) Fulfillment Method: * Web only: * 20 - In-Store Pickup * 21 - Dine In * 22 - Curbside Pickup * 23 - Outpost * 24 - Delivery * Catering only: * 30 - In-Store Pickup * 31 - Dine In * 32 - Curbside Pickup * 33 - Outpost * 34 - Delivery - `location.openingHoursByFulfillmentMethod.openingHours` (object, required) Opening hours for this dining option, broken down by day of the week. - `location.openingHoursByFulfillmentMethod.openingHours.mon` (object) - `location.openingHoursByFulfillmentMethod.openingHours.mon.from` (object, required) - `location.openingHoursByFulfillmentMethod.openingHours.mon.from.hours` (integer, required) - `location.openingHoursByFulfillmentMethod.openingHours.mon.from.minutes` (integer, required) - `location.openingHoursByFulfillmentMethod.openingHours.mon.to` (object, required) - `location.openingHoursByFulfillmentMethod.openingHours.mon.openingHoursString` (string, required) Human-readable representation of the open hours interval (e.g. "11am to 2:30pm") - `location.openingHoursByFulfillmentMethod.openingHours.tue` (object) - `location.openingHoursByFulfillmentMethod.openingHours.wed` (object) - `location.openingHoursByFulfillmentMethod.openingHours.thu` (object) - `location.openingHoursByFulfillmentMethod.openingHours.fri` (object) - `location.openingHoursByFulfillmentMethod.openingHours.sat` (object) - `location.openingHoursByFulfillmentMethod.openingHours.sun` (object) - `location.allowPayAtCashier` (boolean) - `location.tipsLevel` (integer, required) Tips Level: * 0 - No tips * 1 - Tipping is enabled * 2 - Tipping is enabled - always prompt - `location.defaultTip?` (object) A tip descriptor that will be applied by default to any new order. - `location.defaultTip?.amount` (integer, required) If type is percentage, this is the percentage to tip. If type is fixed, this is the amount to tip in cents. - `location.defaultTip?.type` (string, required) The type of tip. Enum: "percentage", "fixed" - `location.presetTips` (array, required) A list of tipping options to be presented to the guest. - `location.diningOptions` (array, required) - `location.diningOptions.asapOrdersEnabled` (boolean, required) True if ASAP orders can be placed at this location with this fulfillment method; false otherwise. If this is false, then futureOrdersEnabled has to be true. - `location.diningOptions.futureOrdersEnabled` (boolean, required) True if future orders can be placed at this location with this fulfillment method; false otherwise. If this is false, then asapOrdersEnabled has to be true. - `appearance` (object, required) - `appearance.menuPageBackgroundImage` (array, required) - `appearance.menuPageBackgroundImage.url` (string, required) Image URL - `appearance.menuPageBackgroundImage.width` (integer, required) Image width in px - `appearance.menuPageBackgroundImage.height` (integer, required) Image height in px - `appearance.titleBarImage` (array) - `appearance.rewardsProgramLogo` (array) - `appearance.priceStyle` (integer, required) Menu Price Style: * 0 - Default ($7, $7.50, $7.99) * 1 - One Digit ($7, $7.5, $7.99) * 2 - Two Digits ($7.00, $7.50, $7.99) - `appearance.showCurrencySymbol` (boolean, required) - `menuStructure` (object, required) - `menuStructure._id` (string, required) - `menuStructure.pages` (array, required) - `menuStructure.pages.name` (string, required) - `menuStructure.pages.sectionIds` (array) A list of ids that reference menu sections that are returned in the menuSections property of the response. - `menuSections` (array, required) - `menuSections.description` (string) - `menuSections.hideFromMenu` (boolean) This might be set to true if none of the menu items in the section should be shown on the menu but they could still be ordered (e.g. by being scanned or recommended). - `menuSections.items` (array, required) A list of ids that reference menu items that are returned in the menuItems property of the response. - `menuItems` (array, required) - `menuItems.priceOptions` (array, required) Price options can represent different sizes or flavors of the same menu item. - `menuItems.priceOptions.price` (integer, required) Price of one unit of the menu item (in cents). If saleUnit is not provided, then the price is for one item. - `menuItems.priceOptions.barcode` (string) Comma separated SKUs/PLUs of the item. - `menuItems.priceOptions.saleUnit` (integer) Sale unit: * 0 - single unit * 2 - pounds * 3 - ounces - `menuItems.priceOptions.modGroupIds` (array) A list of ids that reference modifier groups that are returned in the modGroups property of the response. - `modGroups` (array, required) - `modGroups.minSelectable` (integer) Minimum number of unique modifiers that must be selected from this mod group. - `modGroups.maxSelectable` (integer) Maximum number of unique modifiers that may be selected from this mod group. If this value is 0, then there's no limit. - `modGroups.allowMultipleOfSameMod` (boolean) Whether or not this mod group supports modifiers with quantities greater than 1. Please note that this field determines the relevancy of the other quantity fields listed below. - `modGroups.minAggregateQuantity` (integer) Minimum aggregate quantity of all selected modifiers from this mod group. - `modGroups.maxAggregateQuantity` (integer) Maximum aggregate quantity of all selected modifiers from this mod group. If this value is 0, then there's no limit. - `modGroups.minChoiceQuantity` (integer) Minimum quantity for modifiers within this mod group. - `modGroups.maxChoiceQuantity` (integer) Maximum quantity for modifiers within this mod group. - `modGroups.choiceQuantityIncrement` (integer) Quantity increment for modifiers in this mod group. For example, if a mod group has a choiceQuantityIncrement of 2, mod quantities can only be selected in multiples of 2 (2, 4, 6, etc). - `modGroups.parentModGroupId` (string) - `modGroups.items` (array, required) A list of objects that reference modifiers that are returned in the modifiers property of the response. - `modGroups.items._id` (string, required) Id of the mod - `modGroups.items.name` (string) If provided, then the mod should have this name when presented as part of this mod group. - `modGroups.items.selectedByDefaultQuantity` (boolean) If it exists and is greater than 0, then this mod is automatically preselected with the set quantity in this mod group without any action from the user. This is a purely UI-flag and the Bite platform will not assume this modifier was selected if it wasn't specified as part of the order payload. - `modGroups.items.maxChoiceQuantity` (boolean) If it exists, then this is the maximum quantity of this mod that can be ordered as part of this mod group. - `modGroups.items.price` (boolean) If provided, then this mod should have this price when presented as part of this mod group. - `modGroups.items.initialSelectionQuantity` (boolean) If it exists and is greater than 0, then when this mod is selected by a guest, it will be set to the set quantity. This is a purely UI-flag and the Bite platform will not assume this modifier was selected if it wasn't specified as part of the order payload. - `mods` (array) ## Response 400 fields ## Response 401 fields ## Response 403 fields ## Response 429 fields ## Response 500 fields