Menu Items API
The Menu Items API allows you to create, read, update, and delete menu items for your restaurant. All endpoints require authentication and operate on items belonging to the authenticated user's restaurant.
GET /api/menu-items
Retrieve all menu items for your restaurant.
Auth: Required (Bearer token)
Response (200 OK)
{
"success": true,
"data": [
{
"id": "uuid",
"name": "Margherita Pizza",
"description": "Classic pizza with fresh mozzarella and basil",
"price": 14.99,
"priceCents": 1499,
"category": "Mains",
"photoUrl": "https://...",
"isActive": true,
"position": 1,
"createdAt": "2026-02-01T12:00:00Z",
"updatedAt": "2026-02-01T12:00:00Z"
}
]
}
POST /api/menu-items
Create a new menu item. The photo should be uploaded separately via the upload endpoint, then referenced by URL.
Auth: Required (Bearer token)
Request Body
{
"name": "Chicken Tikka Masala",
"description": "Tender chicken in a rich, creamy tomato sauce",
"price": 16.99,
"category": "Mains",
"photoUrl": "https://..."
}
Response (201 Created)
{
"success": true,
"data": {
"id": "uuid",
"name": "Chicken Tikka Masala",
...
}
}
PATCH /api/menu-items/[id]
Update an existing menu item. Only include the fields you want to change.
Auth: Required (Bearer token)
Request Body
{
"price": 17.99,
"description": "Updated description"
}
Response (200 OK)
{
"success": true,
"data": {
"id": "uuid",
"price": 17.99,
...
}
}
DELETE /api/menu-items/[id]
Permanently delete a menu item and its associated photo and 3D model.
Auth: Required (Bearer token)
Response (200 OK)
{
"success": true,
"data": { "deleted": true }
}