Menus
10 API calls in this section.
List Menus
/restaurant/locations/:locationId/menusLists menus for a location with pagination and optional search. Includes is_available computed field.
Path parameters
| Parameter | Type | Description |
|---|---|---|
locationIdRequired | string | Dynamic path value from the request URL. |
Query parameters
| Parameter | Type | Description |
|---|---|---|
page | string | Example: |
limit | string | Example: |
search | string | — |
lang | string | Example: |
Headers
| Parameter | Type | Description |
|---|---|---|
Authorization | string | Example: |
Response examples
1{2 "success": true,3 "data": [4 {5 "id": "{{menuId}}",6 "name": {7 "en": "Lunch"8 },9 "activation_mode": "automatic",10 "manual_is_active": false,11 "is_published": true,12 "is_available": true13 }14 ],15 "page": 1,16 "limit": 20,17 "total": 118}Get Menu
/restaurant/menus/:menuIdGet a menu by ID. Includes is_available.
Path parameters
| Parameter | Type | Description |
|---|---|---|
menuIdRequired | string | Dynamic path value from the request URL. |
Headers
| Parameter | Type | Description |
|---|---|---|
Authorization | string | Example: |
Response examples
1{2 "success": true,3 "data": {4 "id": "{{menuId}}",5 "location_id": "{{locationId}}",6 "name": {7 "en": "Lunch"8 },9 "activation_mode": "automatic",10 "manual_is_active": false,11 "is_published": true,12 "is_available": true13 }14}Create Menu
/restaurant/locations/:locationId/menusCreate a new menu. activation_mode can be 'automatic' or 'manual'.
Path parameters
| Parameter | Type | Description |
|---|---|---|
locationIdRequired | string | Dynamic path value from the request URL. |
Headers
| Parameter | Type | Description |
|---|---|---|
Authorization | string | Example: |
Body parameters
| Parameter | Type | Description |
|---|---|---|
name | object | — |
name.en | string | — |
description | object | — |
description.en | string | — |
image | string | — |
activation_mode | string | — |
manual_is_active | boolean | — |
is_published | boolean | — |
Response examples
1{ "success": true, "data": { "id": "{{menuId}}", ... } }Update Menu
/restaurant/menus/:menuIdUpdate menu details.
Path parameters
| Parameter | Type | Description |
|---|---|---|
menuIdRequired | string | Dynamic path value from the request URL. |
Headers
| Parameter | Type | Description |
|---|---|---|
Authorization | string | Example: |
Body parameters
| Parameter | Type | Description |
|---|---|---|
name | object | — |
name.en | string | — |
is_published | boolean | — |
Response examples
1{ "success": true, "data": { ... } }Delete Menu
/restaurant/menus/:menuIdSoft delete a menu.
Path parameters
| Parameter | Type | Description |
|---|---|---|
menuIdRequired | string | Dynamic path value from the request URL. |
Headers
| Parameter | Type | Description |
|---|---|---|
Authorization | string | Example: |
Response examples
1{2 "success": true,3 "data": {4 "id": "{{menuId}}",5 "deleted_at": "..."6 }7}Link Products to Menu
/restaurant/menus/:menuId/productsLink multiple products to a menu. Idempotent upsert.
Path parameters
| Parameter | Type | Description |
|---|---|---|
menuIdRequired | string | Dynamic path value from the request URL. |
Headers
| Parameter | Type | Description |
|---|---|---|
Authorization | string | Example: |
Body parameters
| Parameter | Type | Description |
|---|---|---|
product_ids | array<string> | — |
Response examples
1{ "success": true, "data": [ ... ] }List Products in Menu
/restaurant/menus/:menuId/productsList products linked to a specific menu.
Path parameters
| Parameter | Type | Description |
|---|---|---|
menuIdRequired | string | Dynamic path value from the request URL. |
Query parameters
| Parameter | Type | Description |
|---|---|---|
page | string | Example: |
limit | string | Example: |
Headers
| Parameter | Type | Description |
|---|---|---|
Authorization | string | Example: |
Response examples
1{ "success": true, "data": [ ... ], "page": 1, "limit": 20, "total": 5 }Pause Menu
/restaurant/menus/:menuId/pauseTemporarily pause the menu (deactivate current time window). Requires automatic schedule mode.
Path parameters
| Parameter | Type | Description |
|---|---|---|
menuIdRequired | string | Dynamic path value from the request URL. |
Headers
| Parameter | Type | Description |
|---|---|---|
Authorization | string | Example: |
Response examples
1{2 "success": true,3 "message": "Menu paused successfully"4}Resume Menu
/restaurant/menus/:menuId/resumeResume the menu (reactivate current time window) if manually paused.
Path parameters
| Parameter | Type | Description |
|---|---|---|
menuIdRequired | string | Dynamic path value from the request URL. |
Headers
| Parameter | Type | Description |
|---|---|---|
Authorization | string | Example: |
Response examples
1{2 "success": true,3 "message": "Menu resumed successfully"4}Set Menu State
/restaurant/menus/:menuId/stateSet a menu to automatic (schedule-driven) or manual (manual_is_active=true/false). Bumps location availability_version by trigger.
Path parameters
| Parameter | Type | Description |
|---|---|---|
menuIdRequired | string | Dynamic path value from the request URL. |
Headers
| Parameter | Type | Description |
|---|---|---|
Authorization | string | Example: |
Body parameters
| Parameter | Type | Description |
|---|---|---|
activation_mode | string | — |
manual_is_active | boolean | — |
Response examples
1{2 "success": true,3 "data": {4 "id": "{{menuId}}",5 "activation_mode": "manual",6 "manual_is_active": true7 }8}