Products
12 API calls in this section.
Create Product
/restaurant/locations/:locationId/products1curl --request POST "$ONDI_BASE_URL/restaurant/locations/:locationId/products" \2 --header "Authorization: Bearer {{access_token}}" \3 --header "Content-Type: application/json" \4 --data '{5 "category_ids": [6 "{{categoryId1}}",7 "{{categoryId2}}"8 ],9 "name": {10 "en": "Cheeseburger"11 },12 "description": {},13 "price": 9.99,14 "has_variant": false,15 "sku": null,16 "ingredients": [17 "beef",18 "cheese"19 ],20 "is_active": true,21 "tags": [22 "popular"23 ],24 "images": [],25 "menu_ids": [26 "{{menuId1}}",27 "{{menuId2}}"28 ]29}'1{2 "category_ids": [3 "{{categoryId1}}",4 "{{categoryId2}}"5 ],6 "name": {7 "en": "Cheeseburger"8 },9 "description": {},10 "price": 9.99,11 "has_variant": false,12 "sku": null,13 "ingredients": [14 "beef",15 "cheese"16 ],17 "is_active": true,18 "tags": [19 "popular"20 ],21 "images": [],22 "menu_ids": [23 "{{menuId1}}",24 "{{menuId2}}"25 ]26}Path parameters
locationIdRequiredRequest body fields
category_idsExampleExample field from the request body.
nameExampleExample field from the request body.
name.enExampleExample field from the request body.
descriptionExampleExample field from the request body.
priceExampleExample field from the request body.
has_variantExampleExample field from the request body.
skuExampleExample field from the request body.
ingredientsExampleExample field from the request body.
is_activeExampleExample field from the request body.
tagsExampleExample field from the request body.
imagesExampleExample field from the request body.
menu_idsExampleExample field from the request body.
Headers
AuthorizationOptionalBearer {{access_token}}
Responses
No response example is available for this endpoint yet.
Update Product
/restaurant/products/:id1curl --request PUT "$ONDI_BASE_URL/restaurant/products/:id" \2 --header "Authorization: Bearer {{access_token}}" \3 --header "Content-Type: application/json" \4 --data '{5 "category_ids": [6 "{{categoryId1}}",7 "{{categoryId3}}"8 ],9 "name": {10 "en": "Cheeseburger Deluxe"11 },12 "description": {},13 "price": 10.99,14 "has_variant": false,15 "sku": null,16 "ingredients": [17 "beef",18 "cheese"19 ],20 "is_active": true,21 "tags": [22 "popular"23 ],24 "images": [],25 "menu_ids": [26 "{{menuId1}}",27 "{{menuId3}}"28 ]29}'1{2 "category_ids": [3 "{{categoryId1}}",4 "{{categoryId3}}"5 ],6 "name": {7 "en": "Cheeseburger Deluxe"8 },9 "description": {},10 "price": 10.99,11 "has_variant": false,12 "sku": null,13 "ingredients": [14 "beef",15 "cheese"16 ],17 "is_active": true,18 "tags": [19 "popular"20 ],21 "images": [],22 "menu_ids": [23 "{{menuId1}}",24 "{{menuId3}}"25 ]26}Path parameters
idRequiredRequest body fields
category_idsExampleExample field from the request body.
nameExampleExample field from the request body.
name.enExampleExample field from the request body.
descriptionExampleExample field from the request body.
priceExampleExample field from the request body.
has_variantExampleExample field from the request body.
skuExampleExample field from the request body.
ingredientsExampleExample field from the request body.
is_activeExampleExample field from the request body.
tagsExampleExample field from the request body.
imagesExampleExample field from the request body.
menu_idsExampleExample field from the request body.
Headers
AuthorizationOptionalBearer {{access_token}}
Responses
No response example is available for this endpoint yet.
Delete Product
/restaurant/products/:id1curl --request DELETE "$ONDI_BASE_URL/restaurant/products/:id" \2 --header "Authorization: Bearer {{access_token}}"Path parameters
idRequiredHeaders
AuthorizationOptionalBearer {{access_token}}
Responses
No response example is available for this endpoint yet.
List Products by Location
/restaurant/locations/:locationId/products?category_ids={{categoryId1}},{{categoryId2}}&menu_ids={{menuId1}}&modifier_group_ids={{modifierGroupId}}&is_active=true&search={{search}}&lang=en&sort=created_at&order=desc&page=1&limit=101curl --request GET "$ONDI_BASE_URL/restaurant/locations/:locationId/products?category_ids={{categoryId1}},{{categoryId2}}&menu_ids={{menuId1}}&modifier_group_ids={{modifierGroupId}}&is_active=true&search={{search}}&lang=en&sort=created_at&order=desc&page=1&limit=10" \2 --header "Authorization: Bearer {{access_token}}"Path parameters
locationIdRequiredQuery parameters
category_idsOptional{{categoryId1}},{{categoryId2}}
menu_idsOptional{{menuId1}}
modifier_group_idsOptional{{modifierGroupId}}
is_activeOptionaltrue
searchOptional{{search}}
langOptionalen
sortOptionalcreated_at
orderOptionaldesc
pageOptional1
limitOptional10
Headers
AuthorizationOptionalBearer {{access_token}}
Responses
No response example is available for this endpoint yet.
Get Product
/restaurant/products/:id?location_id={{location_id}}1curl --request GET "$ONDI_BASE_URL/restaurant/products/:id?location_id={{location_id}}" \2 --header "Authorization: Bearer {{access_token}}"Path parameters
idRequiredQuery parameters
location_idOptional{{location_id}}
Headers
AuthorizationOptionalBearer {{access_token}}
Responses
No response example is available for this endpoint yet.
Create Variant
/restaurant/products/:productId/variants1curl --request POST "$ONDI_BASE_URL/restaurant/products/:productId/variants" \2 --header "Authorization: Bearer {{access_token}}" \3 --header "Content-Type: application/json" \4 --data '{5 "name": {6 "en": "Regular"7 },8 "description": {},9 "price": 8.99,10 "sku": null,11 "ingredients": [12 "beef",13 "cheese"14 ],15 "is_active": true,16 "is_primary": true,17 "images": []18}'1{2 "name": {3 "en": "Regular"4 },5 "description": {},6 "price": 8.99,7 "sku": null,8 "ingredients": [9 "beef",10 "cheese"11 ],12 "is_active": true,13 "is_primary": true,14 "images": []15}Path parameters
productIdRequiredRequest body fields
nameExampleExample field from the request body.
name.enExampleExample field from the request body.
descriptionExampleExample field from the request body.
priceExampleExample field from the request body.
skuExampleExample field from the request body.
ingredientsExampleExample field from the request body.
is_activeExampleExample field from the request body.
is_primaryExampleExample field from the request body.
imagesExampleExample field from the request body.
Headers
AuthorizationOptionalBearer {{access_token}}
Responses
No response example is available for this endpoint yet.
Update Variant
/restaurant/products/:productId/variants/:variantId1curl --request PUT "$ONDI_BASE_URL/restaurant/products/:productId/variants/:variantId" \2 --header "Authorization: Bearer {{access_token}}" \3 --header "Content-Type: application/json" \4 --data '{5 "name": {6 "en": "Large"7 },8 "description": {},9 "price": 10.99,10 "sku": null,11 "ingredients": [12 "beef",13 "cheese"14 ],15 "is_active": true,16 "is_primary": false,17 "images": []18}'1{2 "name": {3 "en": "Large"4 },5 "description": {},6 "price": 10.99,7 "sku": null,8 "ingredients": [9 "beef",10 "cheese"11 ],12 "is_active": true,13 "is_primary": false,14 "images": []15}Path parameters
productIdRequiredvariantIdRequiredRequest body fields
nameExampleExample field from the request body.
name.enExampleExample field from the request body.
descriptionExampleExample field from the request body.
priceExampleExample field from the request body.
skuExampleExample field from the request body.
ingredientsExampleExample field from the request body.
is_activeExampleExample field from the request body.
is_primaryExampleExample field from the request body.
imagesExampleExample field from the request body.
Headers
AuthorizationOptionalBearer {{access_token}}
Responses
No response example is available for this endpoint yet.
Delete Variant
/restaurant/products/:productId/variants/:variantId1curl --request DELETE "$ONDI_BASE_URL/restaurant/products/:productId/variants/:variantId" \2 --header "Authorization: Bearer {{access_token}}"Path parameters
productIdRequiredvariantIdRequiredHeaders
AuthorizationOptionalBearer {{access_token}}
Responses
No response example is available for this endpoint yet.
Create Variants (Bulk)
/restaurant/products/:productId/variants/bulk1curl --request POST "$ONDI_BASE_URL/restaurant/products/:productId/variants/bulk" \2 --header "Authorization: Bearer {{access_token}}" \3 --header "Content-Type: application/json" \4 --data '[5 {6 "name": {7 "en": "Regular"8 },9 "description": {},10 "price": 8.99,11 "sku": null,12 "ingredients": [13 "beef",14 "cheese"15 ],16 "is_active": true,17 "is_primary": true,18 "images": []19 },20 {21 "name": {22 "en": "Large"23 },24 "description": {},25 "price": 10.99,26 "sku": null,27 "ingredients": [28 "beef",29 "cheese"30 ],31 "is_active": true,32 "is_primary": false,33 "images": []34 }35]'1[2 {3 "name": {4 "en": "Regular"5 },6 "description": {},7 "price": 8.99,8 "sku": null,9 "ingredients": [10 "beef",11 "cheese"12 ],13 "is_active": true,14 "is_primary": true,15 "images": []16 },17 {18 "name": {19 "en": "Large"20 },21 "description": {},22 "price": 10.99,23 "sku": null,24 "ingredients": [25 "beef",26 "cheese"27 ],28 "is_active": true,29 "is_primary": false,30 "images": []31 }32]Path parameters
productIdRequiredRequest body fields
nameExampleExample field from the request body.
name.enExampleExample field from the request body.
descriptionExampleExample field from the request body.
priceExampleExample field from the request body.
skuExampleExample field from the request body.
ingredientsExampleExample field from the request body.
is_activeExampleExample field from the request body.
is_primaryExampleExample field from the request body.
imagesExampleExample field from the request body.
Headers
AuthorizationOptionalBearer {{access_token}}
Responses
No response example is available for this endpoint yet.
List Variants
/restaurant/products/:productId/variants?is_active=true&sort=created_at&order=desc&page=1&limit=251curl --request GET "$ONDI_BASE_URL/restaurant/products/:productId/variants?is_active=true&sort=created_at&order=desc&page=1&limit=25" \2 --header "Authorization: Bearer {{access_token}}"Path parameters
productIdRequiredQuery parameters
is_activeOptionaltrue
sortOptionalcreated_at
orderOptionaldesc
pageOptional1
limitOptional25
Headers
AuthorizationOptionalBearer {{access_token}}
Responses
No response example is available for this endpoint yet.
Link Product to Menus
/restaurant/products/:productId/menusLinks a product to multiple menus (idempotent).
1curl --request POST "$ONDI_BASE_URL/restaurant/products/:productId/menus" \2 --header "Authorization: Bearer {{access_token}}" \3 --header "Content-Type: application/json" \4 --data '{5 "menu_ids": [6 "{{menuId1}}",7 "{{menuId2}}"8 ]9}'1{2 "menu_ids": [3 "{{menuId1}}",4 "{{menuId2}}"5 ]6}Path parameters
productIdRequiredRequest body fields
menu_idsExampleExample field from the request body.
Headers
AuthorizationOptionalBearer {{access_token}}
Responses
1{2 "success": true,3 "data": [4 {5 "product_id": "{{productId}}",6 "menu_id": "{{menuId1}}"7 },8 {9 "product_id": "{{productId}}",10 "menu_id": "{{menuId2}}"11 }12 ]13}Unlink Product from Menus
/restaurant/products/:productId/menus/removeUnlinks a product from multiple menus.
1curl --request POST "$ONDI_BASE_URL/restaurant/products/:productId/menus/remove" \2 --header "Authorization: Bearer {{access_token}}" \3 --header "Content-Type: application/json" \4 --data '{5 "menu_ids": [6 "{{menuId1}}",7 "{{menuId2}}"8 ]9}'1{2 "menu_ids": [3 "{{menuId1}}",4 "{{menuId2}}"5 ]6}Path parameters
productIdRequiredRequest body fields
menu_idsExampleExample field from the request body.
Headers
AuthorizationOptionalBearer {{access_token}}
Responses
1{2 "success": true,3 "data": {4 "count": 25 }6}