create_menu_item
API reference — one of six tools an AI assistant can call on an Avrosh account.
What it does
Add one item to the menu or product list. Only write what the human told you - name and price come from them, never from you. Price is a whole number in the business's own currency. If an item with the same name already exists this refuses with its id, so you update it instead of creating a twin. Choice groups (sizes, variants) cannot be set here yet - the dashboard does that; say so if asked.
This is the exact text the model reads before deciding to call.
Parameters
business_idstringrequired
The id returned by list_businesses.
namestringrequired
The item name as customers know it. Max 160 chars.
priceintegerrequired
Whole number in the business's own currency.
categorystringoptional
Operator's own grouping word, e.g. food, drink, treatment. Default 'food'.
descriptionstringoptional
What it is, as read to customers. Max 2000 chars.
availablebooleanoptional
Default true. False = listed but sold out.
dietaryarrayoptional
Free-form tags like 'vegan', 'halal'. Max 20.
allergensarrayoptional
Free-form tags like 'peanut', 'egg'. Max 20.
Request
curl -X POST https://us.avrosh.com/mcp \
-H "Authorization: Bearer $AVROSH_KEY" \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"create_menu_item","arguments":{"business_id":"926135ac-487d-4367-8bad-25397d0d4b87","name":"Es teh manis","price":8000,"category":"drink"}}}'Response
The result arrives as an MCP content block; the JSON below is what the text field parses to.
{
"item": {
"id": "b52d…",
"name": "Es teh manis",
"priceIdr": 8000,
"available": true
}
}Authentication
Every request carries Authorization: Bearer avk_…. Create a key in the Avrosh dashboard under Docs; it is shown once, because only its hash is stored.
One key reaches every business on the account that made it, and no others. There are no scopes to configure and nothing to switch on — a connected assistant receives the whole toolset. What bounds it is whose account the key belongs to, which is enforced in the database rather than by a permission anybody sets.
curl https://us.avrosh.com/mcp \
-H "Authorization: Bearer $AVROSH_KEY"All tools
list_businesses · get_business · list_calls · get_transcript · create_business · update_business · list_knowledge · add_knowledge_chapter · update_knowledge_chapter · delete_knowledge_chapter · restore_knowledge_chapter · list_menu_items · create_menu_item · update_menu_item · set_menu_item_availability · delete_menu_item · restore_menu_item · remove_menu_item_photo · set_menu_item_thumbnail · list_bookable_types · create_bookable_type · update_bookable_type · set_bookable_type_schedule · delete_bookable_type · restore_bookable_type · list_bookings · get_booking · confirm_booking · cancel_booking · list_work_queue · accept_order · finish_order · accept_request · finish_request · assign_request · list_customers · get_customer · export_customer_data · erase_customer