Documentation Index
Fetch the complete documentation index at: https://docs.foodsave.kz/llms.txt
Use this file to discover all available pages before exploring further.
Base path: /api/v1/menu
Overview
Manage menu items, categories, CSV imports and POS synchronization for a partner account.
CSV column names must match the importer schema exactly. Invalid rows are skipped and reported in the response summary.
List current partner menu items.
[{ "id":"m-1", "name":"Croissant", "price":450, "archived":false }]
List menu categories.
[{ "id":"c-1", "name":"Breakfast" }]
Create a menu item.
curl --request POST \
--url https://api.foodsave.kz/api/v1/menu/items \
-H 'Authorization: Bearer $PARTNER_TOKEN' \
-H 'Content-Type: application/json' \
-d '{"name":"Croissant","category":"Breakfast","price":450}'
const response = await fetch('https://api.foodsave.kz/api/v1/menu/items', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.PARTNER_TOKEN}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({ name: 'Croissant', category: 'Breakfast', price: 450 })
})
console.log(await response.json())
import os
import requests
response = requests.post(
'https://api.foodsave.kz/api/v1/menu/items',
headers={'Authorization': f"Bearer {os.environ['PARTNER_TOKEN']}"},
json={'name': 'Croissant', 'category': 'Breakfast', 'price': 450}
)
print(response.json())
{ "id":"m-1", "name":"Croissant", "price":450, "archived":false }
Update a menu item.
{ "id":"m-1", "name":"Croissant Deluxe", "price":550 }
Archive a menu item.
Import a CSV menu.
{ "created": 14, "updated": 4, "failed": 1 }
Trigger POS sync.
{ "itemsSynced": 8, "itemsFailed": 0 }