Skip to main content
GET
/
stores
/
{store_id}
/
menu
/
list?status=active&sortBy=categories&sortDirection=desc&name=all
{
  "id": "<string>",
  "menu_name": "<string>",
  "external_menu_id": "<string>",
  "store_id": "<string>",
  "is_default": true,
  "created_by": "<string>",
  "updated_by": "<string>",
  "created_by_id": "<string>",
  "updated_by_id": "<string>",
  "createdAt": "<string>",
  "updatedAt": "<string>",
  "menu_hours": [
    {
      "id": "<string>",
      "menu_id": "<string>",
      "open_time": "<string>",
      "close_time": "<string>",
      "day_of_week": 123,
      "is_closed": true,
      "created_by": "<string>",
      "updated_by": "<string>",
      "createdAt": "<string>",
      "updatedAt": "<string>"
    }
  ],
  "total_item_count": "<string>",
  "unique_category_count": "<string>",
  "modifier_item_count": "<string>"
}
This endpoint returns a comprehensive list of all menus associated with a store, including detailed menu configuration, operating hours, and statistical information about menu contents.
The menu list provides essential information for menu management, including item counts, category statistics, and operating schedules, making it ideal for administrative dashboards and operational planning.

Path Parameters

store_id
string
required
The unique identifier of the store to retrieve menus for

Query Parameters

status
string
Filter menus by status: “active”, “inactive”, “all”
sortBy
string
Sort criteria: “name”, “created_date”, “categories”, “items”
sortDirection
string
Sort direction: “asc” or “desc”
name
string
Filter by menu name or “all” for all menus

Response

The response is an array of menu objects with comprehensive information:
id
string
Unique identifier for the menu
menu_name
string
Display name of the menu
external_menu_id
string
External system menu identifier (if applicable)
store_id
string
Store identifier this menu belongs to
is_default
boolean
Whether this is the default menu for the store
created_by
string
User ID who created the menu
updated_by
string
User ID who last updated the menu
created_by_id
string
Creator’s user identifier
updated_by_id
string
Last updater’s user identifier
createdAt
string
Timestamp when the menu was created
updatedAt
string
Timestamp when the menu was last updated
menu_hours
array
Array of operating hours for the menu
total_item_count
string
Total number of items in this menu
unique_category_count
string
Number of unique categories in this menu
modifier_item_count
string
Number of modifier items in this menu

Response Example

[
    {
        "id": "dc1c117b-142d-437a-b56f-ffa39e417c6e",
        "menu_name": "All",
        "external_menu_id": "3c4d66ab-f372-4d4a-a14a-c2b7d9cee682",
        "store_id": "449235c1-3d04-4519-998b-40d2a621e5e0",
        "is_default": true,
        "created_by": "870a05c1-bbbf-48ab-a757-e28ae0a2b2a8",
        "updated_by": "870a05c1-bbbf-48ab-a757-e28ae0a2b2a8",
        "created_by_id": "1000049",
        "last_updated_by": "1000049",
        "updated_by_id": "1000049",
        "createdAt": "2023-02-09T12:03:55.124Z",
        "updatedAt": "2024-08-05T10:14:39.875Z",
        "deletedAt": null,
        "menu_hours": [
            {
                "id": "fb8ef97e-4a0f-4d36-9c1b-3e96b2b43cd6",
                "menu_id": "dc1c117b-142d-437a-b56f-ffa39e417c6e",
                "open_time": "00:00",
                "close_time": "23:59",
                "day_of_week": 3,
                "is_closed": false,
                "created_by": "870a05c1-bbbf-48ab-a757-e28ae0a2b2a8",
                "updated_by": "870a05c1-bbbf-48ab-a757-e28ae0a2b2a8",
                "created_by_id": "1000049",
                "last_updated_by": "1000049",
                "updated_by_id": "1000049",
                "createdAt": "2023-07-04T12:42:24.108Z",
                "updatedAt": "2024-08-05T10:14:39.890Z",
                "deletedAt": null
            },
            {
                "id": "f6e0f9c2-2aa9-4c7c-afa5-08a23e9f832f",
                "menu_id": "dc1c117b-142d-437a-b56f-ffa39e417c6e",
                "open_time": "00:00",
                "close_time": "23:59",
                "day_of_week": 5,
                "is_closed": false,
                "created_by": "870a05c1-bbbf-48ab-a757-e28ae0a2b2a8",
                "updated_by": "870a05c1-bbbf-48ab-a757-e28ae0a2b2a8",
                "created_by_id": "1000049",
                "last_updated_by": "1000049",
                "updated_by_id": "1000049",
                "createdAt": "2023-07-04T12:42:24.108Z",
                "updatedAt": "2024-08-05T10:14:39.890Z",
                "deletedAt": null
            },
            {
                "id": "37a519b3-70c2-4c10-980e-637af2541343",
                "menu_id": "dc1c117b-142d-437a-b56f-ffa39e417c6e",
                "open_time": "00:00",
                "close_time": "23:59",
                "day_of_week": 6,
                "is_closed": false,
                "created_by": "870a05c1-bbbf-48ab-a757-e28ae0a2b2a8",
                "updated_by": "870a05c1-bbbf-48ab-a757-e28ae0a2b2a8",
                "created_by_id": "1000049",
                "last_updated_by": "1000049",
                "updated_by_id": "1000049",
                "createdAt": "2023-07-04T12:42:24.108Z",
                "updatedAt": "2024-08-05T10:14:39.890Z",
                "deletedAt": null
            },
            {
                "id": "fc0f9a16-b178-4bd5-af2c-8208a48029ea",
                "menu_id": "dc1c117b-142d-437a-b56f-ffa39e417c6e",
                "open_time": "00:00",
                "close_time": "23:59",
                "day_of_week": 4,
                "is_closed": false,
                "created_by": "870a05c1-bbbf-48ab-a757-e28ae0a2b2a8",
                "updated_by": "870a05c1-bbbf-48ab-a757-e28ae0a2b2a8",
                "created_by_id": "1000049",
                "last_updated_by": "1000049",
                "updated_by_id": "1000049",
                "createdAt": "2023-07-04T12:42:24.108Z",
                "updatedAt": "2024-08-05T10:14:39.890Z",
                "deletedAt": null
            },
            {
                "id": "6f87e48c-fb01-45d7-b208-4f6f0b0053ea",
                "menu_id": "dc1c117b-142d-437a-b56f-ffa39e417c6e",
                "open_time": "00:00",
                "close_time": "23:59",
                "day_of_week": 1,
                "is_closed": false,
                "created_by": "870a05c1-bbbf-48ab-a757-e28ae0a2b2a8",
                "updated_by": "870a05c1-bbbf-48ab-a757-e28ae0a2b2a8",
                "created_by_id": "1000049",
                "last_updated_by": "1000049",
                "updated_by_id": "1000049",
                "createdAt": "2023-07-04T12:42:24.108Z",
                "updatedAt": "2024-08-05T10:14:39.889Z",
                "deletedAt": null
            },
            {
                "id": "0d3856d7-662d-4006-9e78-1d2b81279721",
                "menu_id": "dc1c117b-142d-437a-b56f-ffa39e417c6e",
                "open_time": "00:00",
                "close_time": "23:59",
                "day_of_week": 2,
                "is_closed": false,
                "created_by": "870a05c1-bbbf-48ab-a757-e28ae0a2b2a8",
                "updated_by": "870a05c1-bbbf-48ab-a757-e28ae0a2b2a8",
                "created_by_id": "1000049",
                "last_updated_by": "1000049",
                "updated_by_id": "1000049",
                "createdAt": "2023-07-04T12:42:24.108Z",
                "updatedAt": "2024-08-05T10:14:39.889Z",
                "deletedAt": null
            },
            {
                "id": "3c4d66ab-f372-4d4a-a14a-c2b7d9cee682",
                "menu_id": "dc1c117b-142d-437a-b56f-ffa39e417c6e",
                "open_time": "00:30",
                "close_time": "23:59",
                "day_of_week": 0,
                "is_closed": false,
                "created_by": null,
                "updated_by": "870a05c1-bbbf-48ab-a757-e28ae0a2b2a8",
                "created_by_id": "1000049",
                "last_updated_by": "1000049",
                "updated_by_id": "1000049",
                "createdAt": "2023-07-18T09:37:05.335Z",
                "updatedAt": "2024-08-05T10:14:39.889Z",
                "deletedAt": null
            }
        ],
        "total_item_count": "2320",
        "unique_category_count": "11",
        "modifier_item_count": "0"
    }
]
Time Format: All times are displayed in 24-hour format (HH:MM) for consistency across different regions and to avoid AM/PM confusion.
Filtering Options: Use the query parameters to efficiently find specific menus, especially in stores with many menu configurations.

Use Cases

Administrative Dashboard
  • Display all store menus for management overview
  • Show menu statistics for operational planning
  • Compare menu configurations across different stores
  • Monitor menu performance and utilization
Operational Planning
  • Review operating hours for scheduling staff
  • Analyze menu complexity for training purposes
  • Plan inventory based on menu item counts
  • Coordinate marketing efforts with menu availability
System Integration
  • Sync menu data with external systems
  • Update point-of-sale systems with current menus
  • Integrate with delivery platform APIs
  • Coordinate with inventory management systems
Business Analysis
  • Compare menu performance across different configurations
  • Analyze the relationship between menu complexity and sales
  • Track menu evolution over time
  • Support decision-making for menu optimization

Filtering and Sorting

Status Filtering
  • active: Only show currently active menus
  • inactive: Show deactivated menus for review
  • all: Display all menus regardless of status
Sorting Options
  • name: Alphabetical sorting by menu name
  • created_date: Chronological sorting by creation date
  • categories: Sort by number of unique categories
  • items: Sort by total item count
Name Filtering
  • Specific menu name for targeted retrieval
  • “all” parameter to retrieve all menus
  • Partial name matching for flexible searches
Direction Control
  • asc: Ascending order (A-Z, oldest first, smallest first)
  • desc: Descending order (Z-A, newest first, largest first)

Data Analysis

Error Handling

Store Not Found
{
  "error": "Store not found",
  "message": "The specified store does not exist"
}
Invalid Query Parameters
{
  "error": "Invalid parameter",
  "message": "sortBy must be one of: name, created_date, categories, items"
}
No Menus Found
{
  "data": [],
  "message": "No menus found for the specified criteria"
}
Access Denied
{
  "error": "Access denied",
  "message": "Insufficient permissions to view store menus"
}

Integration Considerations

API Response Handling
  • Handle array responses appropriately
  • Process nested menu_hours data correctly
  • Account for null values in optional fields
  • Implement proper error handling for edge cases
Data Caching Strategies
  • Cache menu list data for frequently accessed stores
  • Implement cache invalidation on menu updates
  • Consider real-time updates for operational systems
  • Balance performance with data freshness requirements
External System Synchronization
  • Use external_menu_id for third-party integration
  • Maintain mapping between internal and external IDs
  • Handle synchronization conflicts gracefully
  • Implement proper error recovery mechanisms
Performance Considerations
  • Limit request frequency for large stores
  • Implement pagination for stores with many menus
  • Use appropriate filtering to reduce response size
  • Monitor API performance and optimize as needed
I