MenuHub
MenuHub API Reference - Docs
A complete reference for MenuHub API endpoints used to manage menus, locations, customers, and related data.
MenuHub API Overview
The MenuHub API allows you to programmatically manage menus, menu items, locations, customers, and related business data. Most endpoints accept data via the request body, making it easy to pass identifiers such as organization_id, location_id, or other related fields.
All endpoints are designed to be simple, predictable, and flexible for both internal tools and third-party integrations.
Base URL: https://menuhub.bosapps.io/api
Authentication
Authentication details will be provided during onboarding. Most requests require valid credentials or API keys associated with your organization.
Menus
Get All Menus for a Location
Endpoint: GET /menus
Description: Retrieve all menus associated with a specific location.
Request Body: Pass the location_id of the location you want menus for.
Response: Returns an array of menus with their id, title, description, and timestamps.
Create a Menu
Endpoint: POST /menus/create
Description: Add a new menu to a location.
Request Body: Include title, description, and location_id.
Response: Returns the created menu with id, title, description, location_id, and created_at.
Menu Items
Get All Items for a Menu
Endpoint: GET /menu-items
Description: Retrieve all items for a specific menu.
Request Body: Pass the menu_id of the menu you want items for.
Response: Returns an array of menu items including id, title, description, price, menu_id, availability, and timestamps.
Create a Menu Item
Endpoint: POST /menu-items/create
Description: Add a new item to a menu.
Request Body: Include title, description, price, menu_id, and available status.
Response: Returns the created menu item with all fields and timestamps.
Locations
Get All Locations for an Organization
Endpoint: GET /locations
Description: Retrieve all locations associated with an organization.
Request Body: Pass organization_id.
Response: Returns an array of locations with id, name, address, organization_id, and timestamps.
Create a Location
Endpoint: POST /locations/create
Description: Add a new location to an organization.
Request Body: Include name, address, and organization_id.
Response: Returns the created location with id, name, address, organization_id, and created_at.
Customers
Create a Customer
Endpoint: POST /create-customer
Description: Add a new customer to the system.
Request Body: Include first_name, last_name, email, phone, and optionally organization_id or location_id.
Response: Returns the created customer with id, full name, contact info, organization/location association, and timestamps.
Get All Customers for a Location
Endpoint: GET /customers
Description: Retrieve all customers associated with a location.
Request Body: Pass location_id.
Response: Returns an array of customers including id, first_name, last_name, email, phone, and timestamps.
Additional Endpoints
Update Menu
Endpoint: PUT /menus/update
Description: Update an existing menu’s details.
Request Body: Include menu_id and fields to update such as title or description.
Response: Returns the updated menu.
Update Menu Item
Endpoint: PUT /menu-items/update
Description: Update an existing menu item’s details.
Request Body: Include menu_item_id and fields to update such as title, description, price, or available.
Response: Returns the updated menu item.
Update Customer
Endpoint: PUT /customers/update
Description: Update a customer’s information.
Request Body: Include customer_id and fields to update such as first_name, last_name, email, or phone.
Response: Returns the updated customer.
Delete Menu
Endpoint: DELETE /menus/delete
Description: Remove a menu from the system.
Request Body: Include menu_id.
Response: Confirms deletion.
Delete Menu Item
Endpoint: DELETE /menu-items/delete
Description: Remove a menu item from a menu.
Request Body: Include menu_item_id.
Response: Confirms deletion.
Delete Customer
Endpoint: DELETE /customers/delete
Description: Remove a customer from the system.
Request Body: Include customer_id.
Response: Confirms deletion.
Notes
- Most endpoints require a valid API key or authentication token.
- Standard HTTP response codes are used:
200for success,400for bad request,401for unauthorized,404for not found, and500for server errors. - All timestamps are returned in ISO 8601 format.
- Most data is passed in the request body as JSON.