Delete Store Menu
curl --request DELETE \
--globoff \
--url 'https://api.example.com/stores/{{store_id}}/menu/{{menu_id}}'import requests
url = "https://api.example.com/stores/{{store_id}}/menu/{{menu_id}}"
response = requests.delete(url)
print(response.text)const options = {method: 'DELETE'};
fetch('https://api.example.com/stores/{{store_id}}/menu/{{menu_id}}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/stores/{{store_id}}/menu/{{menu_id}}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/stores/{{store_id}}/menu/{{menu_id}}"
req, _ := http.NewRequest("DELETE", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://api.example.com/stores/{{store_id}}/menu/{{menu_id}}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/stores/{{store_id}}/menu/{{menu_id}}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
response = http.request(request)
puts response.read_bodyMenus
Delete Store Menu
Delete a specific menu from a store, removing all associated menu hours and configurations.
DELETE
/
stores
/
{store_id}
/
menu
/
{menu_id}
Delete Store Menu
curl --request DELETE \
--globoff \
--url 'https://api.example.com/stores/{{store_id}}/menu/{{menu_id}}'import requests
url = "https://api.example.com/stores/{{store_id}}/menu/{{menu_id}}"
response = requests.delete(url)
print(response.text)const options = {method: 'DELETE'};
fetch('https://api.example.com/stores/{{store_id}}/menu/{{menu_id}}', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://api.example.com/stores/{{store_id}}/menu/{{menu_id}}",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "DELETE",
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://api.example.com/stores/{{store_id}}/menu/{{menu_id}}"
req, _ := http.NewRequest("DELETE", url, nil)
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.delete("https://api.example.com/stores/{{store_id}}/menu/{{menu_id}}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.example.com/stores/{{store_id}}/menu/{{menu_id}}")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Delete.new(url)
response = http.request(request)
puts response.read_bodyThis endpoint permanently removes a menu from a store, including all associated operating hours and menu item associations.
Menu deletion is a permanent operation that removes all menu configuration data. Consider the impact on customer experience and ensure proper backup procedures before deletion.
Path Parameters
string
required
The unique identifier of the store that owns the menu
string
required
The unique identifier of the menu to delete
Deletion Impact and Considerations
Deletion Impact and Considerations
Data Removal
- Complete menu configuration is permanently deleted
- All associated menu hours are removed
- Menu item associations are cleared
- Menu rules and conditions are deleted
- Customers will no longer see this menu
- Associated operating hours become unavailable
- Menu-specific item visibility rules are removed
- Default menu status transfers if applicable
- Orders referencing this menu may be affected
- Analytics and reporting data remains for historical purposes
- External system integrations may need updates
- Cached menu data will be cleared
Default Menu Protection: Most systems prevent deletion of default menus to ensure store operational continuity. Set another menu as default before attempting to delete the current default menu.
Permanent Operation: Menu deletion cannot be undone. Ensure you have proper backups and confirm the deletion is intended before proceeding.
Use Cases
Common Deletion Scenarios
Common Deletion Scenarios
Menu Cleanup
- Remove outdated seasonal menus
- Delete test menus created during setup
- Clean up duplicate or incorrect menu configurations
- Remove menus no longer needed for operations
- Merge multiple similar menus into one
- Simplify menu management by reducing options
- Standardize menu configurations across locations
- Remove redundant menu variations
- Delete menus when changing business models
- Remove menus for discontinued services
- Clean up after store format changes
- Update menus for new operational requirements
- Remove incorrectly configured menus
- Delete menus created with wrong parameters
- Clean up after failed menu setup attempts
- Remove test data from production systems
Safety Considerations
Pre-Deletion Safety Checks
Pre-Deletion Safety Checks
Menu Status Verification
- Confirm the menu is not currently active
- Verify no current customer orders reference this menu
- Check if menu is set as store default
- Ensure no critical business processes depend on this menu
- Export menu configuration before deletion
- Save menu hours and item associations
- Document menu rules and conditions
- Archive historical performance data
- Consider deactivating instead of deleting
- Archive menu for potential future use
- Transfer menu items to another menu
- Update menu status to inactive first
- Check external system integrations
- Verify analytics and reporting impacts
- Confirm customer-facing system updates
- Test menu synchronization after deletion
Error Handling
Common Deletion Errors
Common Deletion Errors
Menu Not FoundDefault Menu ProtectionActive Menu DeletionPermission DeniedStore Not Found
{
"error": "Menu not found",
"message": "The specified menu does not exist"
}
{
"error": "Cannot delete default menu",
"message": "Set another menu as default before deleting this menu"
}
{
"error": "Cannot delete active menu",
"message": "Deactivate the menu before deletion"
}
{
"error": "Insufficient permissions",
"message": "You do not have permission to delete menus"
}
{
"error": "Store not found",
"message": "The specified store does not exist"
}
Best Practices
Safe Deletion Practices
Safe Deletion Practices
Pre-Deletion Planning
- Review menu usage analytics before deletion
- Identify any dependencies or integrations
- Plan for customer communication if necessary
- Schedule deletion during low-traffic periods
- Double-check menu ID and store ID
- Confirm menu is not referenced in active orders
- Verify menu is not the store’s default menu
- Ensure proper authorization for the deletion
- Verify menu is no longer accessible
- Update any documentation referencing the deleted menu
- Monitor systems for any related errors
- Confirm customer-facing changes are reflected properly
- Log the reason for menu deletion
- Document who performed the deletion and when
- Record any business impact or customer notifications
- Maintain audit trail for compliance purposes
Alternative Approaches
Alternatives to Menu Deletion
Alternatives to Menu Deletion
Menu Deactivation
- Set menu status to “inactive” instead of deleting
- Preserves menu configuration for potential reactivation
- Maintains historical data and associations
- Allows for easy restoration if needed
- Move menu to an archived state
- Preserve configuration while removing from active use
- Maintain data for reporting and analytics
- Enable future reference or restoration
- Update menu instead of deleting
- Change operating hours to remove availability
- Modify menu items to empty set
- Maintain menu structure while removing functionality
- Create replacement menu before deletion
- Transfer menu items to new menu
- Update default menu designation
- Ensure continuous service availability
Integration Considerations
System Integration Impact
System Integration Impact
Customer-Facing Systems
- Mobile apps will no longer display the deleted menu
- Website menu listings will be updated
- Point-of-sale systems will remove menu references
- Order management systems will handle legacy references
- Historical data remains available for analysis
- Current reporting will exclude the deleted menu
- Performance metrics will reflect the menu removal
- Trend analysis will show the deletion point
- Third-party delivery platforms may need updates
- POS integrations require menu synchronization
- Inventory management systems may need adjustment
- Marketing platforms should update menu references
- Admin dashboards will remove menu from active lists
- User permissions related to the menu are cleaned up
- Audit logs maintain deletion records
- Backup systems should retain historical menu data
Recovery Options
Menu Recovery Procedures
Menu Recovery Procedures
Immediate Recovery
- Contact system administrator immediately after accidental deletion
- Provide menu ID and store ID for recovery attempts
- Check if soft deletion is implemented for recovery
- Restore from recent database backups if available
- Use exported menu configuration to recreate menu
- Reference historical data for menu hours reconstruction
- Restore menu item associations from backup data
- Recreate menu rules based on documentation
- Implement confirmation dialogs for menu deletion
- Require manager approval for menu deletions
- Set up automated backups of menu configurations
- Use staging environments for testing menu changes
- Create temporary menu to maintain operations
- Use backup menu configurations during recovery
- Communicate with customers about temporary changes
- Document lessons learned for future prevention

