curl --request POST \
--url https://api.yourplatform.com/merchants/menu \
--header 'content-type: application/json' \
--header 'x-api-key: YOUR_API_KEY' \
--data '{
"merchant_id": "m_001",
"menu": {
"categories": [
{
"id": "cat_burgers",
"title": "Burgers",
"description": "Our burger choice",
"availability": "avail_lunch",
"items": [
"item_classic_burger",
"item_cheese_burger"
]
}
],
"items": [
{
"id": "item_classic_burger",
"name": "Classic Burger",
"description": "Beef, lettuce, tomato, onion, pickles, ketchup, mustard",
"is_deactivated": false,
"image_url": "https://cdn.example.com/menu/classic-burger.jpg",
"price": 899,
"modifiers": [
"mod_size",
"mod_addons"
]
},
{
"id": "item_cheese_burger",
"name": "Cheese Burger",
"description": "Classic + cheddar",
"is_deactivated": true,
"image_url": "https://cdn.example.com/menu/cheese-burger.jpg",
"price": 999,
"modifiers": [
"mod_size",
"mod_addons"
]
}
],
"modifierGroups": [
{
"id": "mod_size",
"name": "Size",
"description": "Choose size",
"min_options": 1,
"max_options": 1,
"options": [
"opt_size_regular",
"opt_size_large"
]
},
{
"id": "mod_addons",
"name": "Addons",
"description": "Additional ingredients",
"min_options": 0,
"max_options": 3,
"options": [
"opt_extra_cheese",
"opt_bacon"
]
},
{
"id": "mod_bacon_crispiness",
"name": "Bacon Crispiness",
"description": "Select bacon crispiness level",
"min_options": 1,
"max_options": 1,
"options": [
"opt_bacon_normal",
"opt_bacon_extra_crispy"
]
}
],
"options": [
{
"id": "opt_size_regular",
"name": "Regular",
"description": "Standard size",
"price": 0,
"modifiers": null,
"is_deactivated": false
},
{
"id": "opt_size_large",
"name": "Large",
"description": "Bigger portion",
"price": 200,
"modifiers": null,
"is_deactivated": false
},
{
"id": "opt_extra_cheese",
"name": "Extra cheese",
"description": "Additional cheddar",
"price": 120,
"modifiers": null,
"is_deactivated": false
},
{
"id": "opt_bacon",
"name": "Bacon",
"description": "Crispy bacon",
"price": 180,
"modifiers": [
"mod_bacon_crispiness"
],
"is_deactivated": false
},
{
"id": "opt_bacon_normal",
"name": "Normal crispy",
"description": "Standard bacon crispiness",
"price": 0,
"modifiers": null,
"is_deactivated": false
},
{
"id": "opt_bacon_extra_crispy",
"name": "Extra crispy",
"description": "Well-done bacon crispiness",
"price": 0,
"modifiers": null,
"is_deactivated": false
}
],
"availabilities": [
{
"id": "avail_lunch",
"rules": [
{
"days_of_week": [
"MONDAY",
"TUESDAY"
],
"start_time": "10:00:00",
"end_time": "22:00:00"
},
{
"days_of_week": [
"FRIDAY"
],
"start_time": "10:00:00",
"end_time": "21:00:00"
}
]
}
]
}
}'