74 operations. Call each with POST https://app.chirply.io/api/v1/actions/<name> and a bearer token; the response is { "data": { "action", "summary", "result" } }. A read badge means the operation changes nothing; write requires the credential’s write scope.
Add items to order
restaurant.add_order_itemswrite
Add menu items to an open order. Prices, names and station routing are ALWAYS re-read from the menu on the server — pass menu item and modifier ids only. Items land as 'pending' and are not cooked until restaurant.fire_order sends them.
Parameters
Field
Type
Required
Description
order_id
string (uuid)
required
The open order to add to.
items
object[]
required
The lines to add.
items[].menu_item_id
string (uuid)
required
The menu item to add.
items[].qty
integer
optional
How many. Default: 1
items[].modifier_ids
array of (string (uuid))
optional
Chosen modifier ids (their prices are read server-side). Default: []
items[].notes
string
optional
Kitchen note for this line.
items[].seat
integer
optional
Seat number, if seats are tracked.
items[].course
integer
optional
Course number (1 = first).
items[].check_id
string (uuid)
optional
Land the line on a specific check; defaults to the first open check.
Over MCP the same operation is the tool restaurant_add_order_items at https://app.chirply.io/api/mcp, same bearer token, same input.
Adjust
restaurant.adjust_stockwriteconfirm
Change an inventory item's on-hand amount by a signed delta and write the matching row in the stock-movement ledger. This rewrites what the shelf says the restaurant owns — deliveries, waste, corrections, and physical counts all go through here — so the number feeds the low-stock report and everything downstream that trusts it. Requires the Restaurant app (a one-time purchase from the App Marketplace) to be installed in this account; without it the call returns 403 app_required and no data.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Parameters
Field
Type
Required
Description
inventory_item_id
string (uuid)
required
The inventory item to adjust.
delta
number
required
How much to change on-hand by, in the item's own unit. Positive adds stock (a delivery), negative removes it (waste). A 'count' correction is the counted amount minus the current on-hand.
reason
"purchase" | "waste" | "adjustment" | "count"
required
Why the shelf changed: 'purchase' = a delivery came in, 'waste' = spoiled/dropped/comped, 'adjustment' = correcting the number, 'count' = the result of a physical count. 'sale' cannot be written directly — it is recorded automatically when the kitchen fires an order.
note
string
optional
Free-text context for the ledger, e.g. 'Sysco delivery' or 'dropped a case'.
Over MCP the same operation is the tool restaurant_adjust_stock at https://app.chirply.io/api/mcp, same bearer token, same input.
Assign table
restaurant.assign_reservation_tablewrite
Set or clear which dining table an existing reservation is seated at — the host stand book's Assign-table picker. Pass table_id to assign a table (it must belong to the reservation's own location) or null to clear the assignment back to unassigned. This is a RESERVATION's table, not the floor plan: it is NOT restaurant.assign_tables_to_section, which assigns a group of tables to a server section instead. No message is sent to the guest.
Parameters
Field
Type
Required
Description
id
string (uuid)
required
The reservation to update.
table_id
string (uuid) (or null)
required
The table to seat this reservation at, or null to clear the assignment.
Over MCP the same operation is the tool restaurant_assign_reservation_table at https://app.chirply.io/api/mcp, same bearer token, same input.
Assign selected
restaurant.assign_tables_to_sectionwrite
Assign one or many dining tables at the same restaurant location to a server section, or clear their section. The section's assigned teammate becomes responsible for the whole selected group; no guest or teammate is messaged.
Also answers to assign tables to server, bulk assign tables, clear table section.
Parameters
Field
Type
Required
Description
location_id
string (uuid)
required
Restaurant location containing every selected table.
table_ids
array of (string (uuid))
required
Dining tables to assign as one group.
section_id
string (uuid) (or null)
required
Destination server section, or null to make the tables unassigned.
Over MCP the same operation is the tool restaurant_assign_tables_to_section at https://app.chirply.io/api/mcp, same bearer token, same input.
Attach a modifier group to a dish
restaurant.attach_modifier_groupwrite
Offer a modifier group's options on one dish. Diners ordering that dish are shown the group (and must pick from it if the group is required) on every ordering surface. Attaching an already-attached group just updates its display position.
Parameters
Field
Type
Required
Description
item_id
string (uuid)
required
The dish.
group_id
string (uuid)
required
The modifier group to offer on it.
sort
integer
optional
Position among the dish's groups (0 = shown first). Default: 0
Over MCP the same operation is the tool restaurant_attach_modifier_group at https://app.chirply.io/api/mcp, same bearer token, same input.
Bump an item
restaurant.bump_itemwrite
Advance one fired order item through the kitchen: queued → 'in_progress' (start cooking), → 'ready' (up in the window), ready → 'served' (drops off the display). Sending 'in_progress' to an item that is currently 'ready' un-bumps it back to cooking — the fix for a mis-tap. Only legal moves are accepted; the kitchen display updates in real time.
Parameters
Field
Type
Required
Description
id
string (uuid)
required
The order item to bump (rst_order_items id).
status
"in_progress" | "ready" | "served"
required
Target kitchen state: 'in_progress' = the cook started it (also un-bumps a 'ready' item back to cooking), 'ready' = up in the window, 'served' = delivered and off the kitchen display.
Over MCP the same operation is the tool restaurant_bump_item at https://app.chirply.io/api/mcp, same bearer token, same input.
Bump a whole ticket
restaurant.bump_orderwrite
Advance every fired item on one order in a single move — the ticket-level bump-all. Only items a step can legally reach are moved: 'in_progress' starts the queued items, 'ready' moves queued and cooking items up, 'served' clears the ready ones off the display. Items already past the target (and pending/voided items) are left alone. Returns how many items moved.
Parameters
Field
Type
Required
Description
order_id
string (uuid)
required
The order whose fired items should advance (rst_orders id).
status
"in_progress" | "ready" | "served"
required
Target kitchen state: 'in_progress' = the cook started it (also un-bumps a 'ready' item back to cooking), 'ready' = up in the window, 'served' = delivered and off the kitchen display.
Over MCP the same operation is the tool restaurant_bump_order at https://app.chirply.io/api/mcp, same bearer token, same input.
Cancel order
restaurant.cancel_orderwriteconfirm
Cancel an open order. One-way: the order closes as canceled and can't be reopened; its checks and any payments already taken stay on record as the audit trail. Food already fired to the kitchen is NOT recalled automatically.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Over MCP the same operation is the tool restaurant_cancel_order at https://app.chirply.io/api/mcp, same bearer token, same input.
Complete order
restaurant.complete_orderwriteconfirm
Close an open order out as completed. One-way and irreversible: completed orders can NOT be reopened — anything else the table wants has to go on a new order, and any check still unpaid stays unpaid on a closed order. Normally done only after every check is paid.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Over MCP the same operation is the tool restaurant_complete_order at https://app.chirply.io/api/mcp, same bearer token, same input.
Add floor feature
restaurant.create_floor_featurewrite
Add one measured physical feature—room, wall, door, bar, kitchen, checkout, restroom, patio, fixture, or exact seat—to a restaurant building plan. A seat can be linked to its operational dining table; nothing is sent or charged.
Also answers to draw room, add wall, place restaurant seat.
Parameters
Field
Type
Required
Description
plan_id
string (uuid)
required
Physical floor plan that will contain the feature.
Over MCP the same operation is the tool restaurant_create_floor_feature at https://app.chirply.io/api/mcp, same bearer token, same input.
Create section
restaurant.create_floor_sectionwrite
Create a color-coded floor section at one restaurant location and optionally assign an account teammate as its server. No tables move until they are explicitly assigned, and nothing is sent to the teammate.
Also answers to new server section, create table section.
Parameters
Field
Type
Required
Description
location_id
string (uuid)
required
Restaurant location where this section appears.
name
string
required
Staff-facing section name, e.g. "North" or "Patio".
color
string
optional
Six-digit hex color used to mark the section on the floor plan. Default: "#2563eb"
server_user_id
string (uuid)
optional
Account teammate responsible for this section. Omit to leave it unassigned.
Over MCP the same operation is the tool restaurant_create_floor_section at https://app.chirply.io/api/mcp, same bearer token, same input.
New item
restaurant.create_inventory_itemwrite
Create an inventory item — something the restaurant keeps on the shelf and wants tracked (an ingredient, a bottle, packaging). An opening on-hand amount, when given, is recorded as a 'count' movement so the ledger starts complete. Link the item to menu items with restaurant.set_recipe to have sales deplete it automatically. Requires the Restaurant app (a one-time purchase from the App Marketplace) to be installed in this account; without it the call returns 403 app_required and no data.
Parameters
Field
Type
Required
Description
name
string
required
The item's name, e.g. 'Flour' or 'House red'.
unit
string
optional
The unit it's counted in: 'each', 'lb', 'oz', 'bottle', 'case'… Default: "each"
par_level
number
optional
The reorder line — at or below this on-hand amount the item shows on the low-stock report. Omit to leave the item off that report.
cost_cents
integer
optional
What one unit costs the restaurant, in integer cents.
sku
string
optional
Supplier SKU or internal code.
location_id
string (uuid)
optional
Restaurant location this item belongs to. Omit for all locations.
opening_on_hand
number
optional
How much is on the shelf right now. Recorded as a 'count' stock movement, not a raw overwrite.
Over MCP the same operation is the tool restaurant_create_inventory_item at https://app.chirply.io/api/mcp, same bearer token, same input.
Set up a restaurant
restaurant.create_locationwriteadmin only
Create a restaurant location — the same thing the Settings first-run wizard does. Claims a globally unique public web address (/eat/<slug>) where diners can immediately see the menu and, when enabled, order and reserve. Only the name is required; everything else has sensible defaults (open toggles, 20-minute prep, no tax).
Parameters
Field
Type
Required
Description
name
string
required
The restaurant's name, as diners see it.
slug
string
optional
Public web address for /eat/<slug>. Omit to derive one from the name. Fails if the address is already taken.
phone
string (or null)
optional
Phone number shown to diners on the public page.
email
string (or null)
optional
Email address order and reservation notices go to.
address
string (or null)
optional
Street address shown to diners for pickup and directions.
timezone
string
optional
IANA timezone, e.g. America/New_York. Hours and reservation slots are interpreted in it.
currency
string
optional
ISO currency code prices are in, lowercase — e.g. usd.
tax_rate_pct
number
optional
Sales tax percent added to every check — 8.25 means 8.25%.
hours
object
optional
Weekly opening hours shown to diners on the public page. A day that is omitted or has no ranges displays as closed.
hours.sun
object[]
optional
Open ranges for the day. Two ranges = split hours (lunch and dinner). Empty or omitted = closed that day.
hours.sun[].open
string
required
Opening time, 24-hour HH:MM local to the location.
hours.sun[].close
string
required
Closing time, 24-hour HH:MM local to the location.
hours.mon
object[]
optional
Open ranges for the day. Two ranges = split hours (lunch and dinner). Empty or omitted = closed that day.
hours.mon[].open
string
required
Opening time, 24-hour HH:MM local to the location.
hours.mon[].close
string
required
Closing time, 24-hour HH:MM local to the location.
hours.tue
object[]
optional
Open ranges for the day. Two ranges = split hours (lunch and dinner). Empty or omitted = closed that day.
hours.tue[].open
string
required
Opening time, 24-hour HH:MM local to the location.
hours.tue[].close
string
required
Closing time, 24-hour HH:MM local to the location.
hours.wed
object[]
optional
Open ranges for the day. Two ranges = split hours (lunch and dinner). Empty or omitted = closed that day.
hours.wed[].open
string
required
Opening time, 24-hour HH:MM local to the location.
hours.wed[].close
string
required
Closing time, 24-hour HH:MM local to the location.
hours.thu
object[]
optional
Open ranges for the day. Two ranges = split hours (lunch and dinner). Empty or omitted = closed that day.
hours.thu[].open
string
required
Opening time, 24-hour HH:MM local to the location.
hours.thu[].close
string
required
Closing time, 24-hour HH:MM local to the location.
hours.fri
object[]
optional
Open ranges for the day. Two ranges = split hours (lunch and dinner). Empty or omitted = closed that day.
hours.fri[].open
string
required
Opening time, 24-hour HH:MM local to the location.
hours.fri[].close
string
required
Closing time, 24-hour HH:MM local to the location.
hours.sat
object[]
optional
Open ranges for the day. Two ranges = split hours (lunch and dinner). Empty or omitted = closed that day.
hours.sat[].open
string
required
Opening time, 24-hour HH:MM local to the location.
hours.sat[].close
string
required
Closing time, 24-hour HH:MM local to the location.
tip_presets
integer[]
optional
The one-tap tip percentages diners see at checkout, e.g. [15,18,20,25].
online_ordering_enabled
boolean
optional
Whether diners can order and pay from the public menu page.
reservations_enabled
boolean
optional
Whether diners can book tables from the public reservation page.
pickup_enabled
boolean
optional
Whether online orders may be collected at the counter.
delivery_enabled
boolean
optional
Whether online orders may be delivered by the restaurant's own drivers.
delivery_fee_cents
integer
optional
Fee in integer cents added to every delivery order — 499 = $4.99.
min_order_cents
integer
optional
Minimum order size in integer cents before delivery is offered.
prep_minutes
integer
optional
Minutes diners are told their order takes to prepare.
logo_url
string (or null)
optional
URL of the logo image on the public page.
hero_url
string (or null)
optional
URL of the wide cover photo across the top of the public page.
about
string (or null)
optional
Short welcome text shown under the restaurant's name on the public page.
Over MCP the same operation is the tool restaurant_create_location at https://app.chirply.io/api/mcp, same bearer token, same input.
New menu
restaurant.create_menuwrite
Create a menu (e.g. Dinner, Brunch, Drinks) at one of the restaurant's locations. A live menu appears on the POS, table tablets, online ordering, and the website menu block as soon as it has dishes.
Parameters
Field
Type
Required
Description
location_id
string (uuid)
required
The location this menu belongs to.
name
string
required
The menu's name, e.g. "Dinner".
active
boolean
optional
false creates it hidden, so you can build it out before going live. Default: true
Over MCP the same operation is the tool restaurant_create_menu at https://app.chirply.io/api/mcp, same bearer token, same input.
New category
restaurant.create_menu_categorywrite
Add a category (Starters, Mains, Desserts…) to a menu. Optionally route its dishes to a kitchen station, so they print on that station's kitchen screen.
Parameters
Field
Type
Required
Description
menu_id
string (uuid)
required
The menu this category belongs to.
name
string
required
The category name, e.g. "Mains".
description
string
optional
Shown under the category name on the menu, to diners.
station_id
string (uuid)
optional
Kitchen station this category's dishes fire to (a rst_stations id).
Over MCP the same operation is the tool restaurant_create_menu_category at https://app.chirply.io/api/mcp, same bearer token, same input.
Add a dish
restaurant.create_menu_itemwrite
Add a dish to a menu category with its price, description, photo, and dietary tags. It becomes orderable on every surface (POS, tablets, online ordering, website menu) immediately unless available=false.
Parameters
Field
Type
Required
Description
category_id
string (uuid)
required
The menu category the dish goes in.
name
string
required
The dish name, e.g. "Pad Thai".
price_cents
integer
required
Price in integer cents (1250 = $12.50).
description
string
optional
What's in it and how it's served — shown to diners.
image_url
string (uri)
optional
Photo URL, ideally from the org's media library.
dietary_tags
string[]
optional
Dietary labels shown to diners, e.g. ["vegan", "gluten-free", "spicy"].
available
boolean
optional
false creates it 86'd (hidden from diners) until switched on. Default: true
station_id
string (uuid)
optional
Kitchen station override; otherwise the category's station is used.
sku
string
optional
Internal SKU for reports and exports. Not shown to diners.
Over MCP the same operation is the tool restaurant_create_menu_item at https://app.chirply.io/api/mcp, same bearer token, same input.
Add an option
restaurant.create_modifierwrite
Add one option to a modifier group — e.g. "Fries" or "Extra shot (+$1.50)". Its price is added on top of the dish's own price whenever a diner picks it.
Parameters
Field
Type
Required
Description
group_id
string (uuid)
required
The modifier group this option belongs to.
name
string
required
The option name, e.g. "Fries".
price_cents
integer
optional
Extra cost in integer cents on top of the dish price; 0 = free. Default: 0
available
boolean
optional
false hides the option from diners without deleting it; true shows it. Default: true
Over MCP the same operation is the tool restaurant_create_modifier at https://app.chirply.io/api/mcp, same bearer token, same input.
New modifier group
restaurant.create_modifier_groupwrite
Create a reusable option set diners pick from when ordering a dish — e.g. "Choose a side" (required, exactly one) or "Add-ons" (optional, any number). Attach it to dishes with restaurant.attach_modifier_group.
Parameters
Field
Type
Required
Description
name
string
required
The group name, e.g. "Choose a side".
min_select
integer
optional
Fewest options the diner must pick. Default: 0
max_select
integer (or null)
optional
Most options the diner may pick; null = no cap. Default: null
required
boolean
optional
true means the dish can't be ordered without picking from this group — it forces an extra choice on every diner ordering any dish the group is attached to. Default: false
Over MCP the same operation is the tool restaurant_create_modifier_group at https://app.chirply.io/api/mcp, same bearer token, same input.
New order
restaurant.create_orderwrite
Open a new restaurant order with its first check. Nothing is cooked or charged yet — add items with restaurant.add_order_items, then fire them to the kitchen with restaurant.fire_order.
Parameters
Field
Type
Required
Description
location_id
string (uuid)
required
The restaurant location the order belongs to.
type
"dine_in" | "takeout" | "delivery" | "online"
required
Dine-in, takeout, delivery, or online.
table_id
string (uuid)
optional
The table, for dine-in orders.
source
"pos" | "tablet" | "online" | "api"
optional
The channel the order came through. Machine callers default to 'api'. Default: "api"
contact_id
string (uuid)
optional
CRM contact this order belongs to.
guest_name
string
optional
Walk-in guest's name.
guest_phone
string
optional
Guest's phone number.
guest_email
string
optional
Guest's email address.
covers
integer
optional
How many guests at the table.
notes
string
optional
Order-level notes for staff.
requested_at
string (date-time)
optional
Requested ready/arrival time for takeout or delivery, ISO 8601.
Over MCP the same operation is the tool restaurant_create_order at https://app.chirply.io/api/mcp, same bearer token, same input.
Add reservation
restaurant.create_reservationwriteconfirm
Book a real table: creates a reservation exactly like the host stand's Add-reservation form, after re-validating the requested time against live availability (an unavailable time is refused). Matches or creates a CRM contact for the guest and immediately sends them a confirmation by email and/or SMS through the org's own connected sender and Twilio number — a real message to a real person.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Parameters
Field
Type
Required
Description
location_id
string (uuid)
optional
Which location to book at. Optional when the account has exactly one location.
starts_at
string (date-time)
required
The reservation start as an ISO 8601 instant. Must exactly match a slot from restaurant.reservation_availability that is still available.
party_size
integer
required
How many guests.
guest_name
string
required
The guest's name, as the host will call it.
guest_phone
string
optional
The guest's phone — used for the SMS confirmation and CRM matching.
guest_email
string
optional
The guest's email — used for the email confirmation and CRM matching.
notes
string
optional
Notes for the restaurant: allergies, occasion, seating preference.
table_id
string (uuid)
optional
Pre-assign a specific table (must belong to the location).
source
"phone" | "walk_in" | "api"
optional
How the booking came in. Use 'phone' or 'walk_in' when acting for staff taking one; defaults to 'api'. Default: "api"
Over MCP the same operation is the tool restaurant_create_station at https://app.chirply.io/api/mcp, same bearer token, same input.
Add table
restaurant.create_tablewrite
Add a dining table to the restaurant's floor plan. It appears on the Tables screen immediately and gets its own tablet ordering screen (/restaurant/tablet/<id>) that staff can hand to guests. Nothing is sent to anyone.
Also answers to new table, add a table to the floor plan.
Parameters
Field
Type
Required
Description
location_id
string (uuid)
required
The restaurant location this table belongs to.
name
string
required
The table's name as staff know it, e.g. "Table 4" or "Patio 2".
seats
integer
optional
How many guests the table seats. Default: 2
area
string
optional
Named floor area the table sits in, e.g. "Patio" or "Bar". Omit for the main floor.
sort
integer
optional
Display order within its area (lower first). Default: 0
active
boolean
optional
false takes the table out of service — hidden from seating and its tablet screen refuses orders. Default: true
shape
"round" | "square" | "rectangle" | "bar"
optional
Table silhouette on the floor plan. Default: "rectangle"
floor_x
number
optional
Horizontal floor position as a percentage from the left edge. Default: 6
floor_y
number
optional
Vertical floor position as a percentage from the top edge. Default: 8
floor_width
number
optional
Table width as a percentage of the floor canvas. Default: 13
floor_height
number
optional
Table depth as a percentage of the floor canvas. Default: 14
rotation_deg
integer
optional
Clockwise table rotation in degrees. Default: 0
section_id
string (uuid)
optional
Server section responsible for this table. Omit to leave it unassigned.
Over MCP the same operation is the tool restaurant_create_table at https://app.chirply.io/api/mcp, same bearer token, same input.
Delete floor feature
restaurant.delete_floor_featurewriteconfirm
Permanently delete one traced room, wall, door, service area, fixture, or exact seat marker from the physical restaurant plan. Linked operational tables, orders, reservations, and server sections stay intact, but the deleted drawing cannot be restored automatically.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Over MCP the same operation is the tool restaurant_delete_floor_feature at https://app.chirply.io/api/mcp, same bearer token, same input.
Delete section
restaurant.delete_floor_sectionwriteconfirm
Permanently delete a server section. Its dining tables remain on the floor plan but immediately become unassigned; the lost section name, color, and server assignment cannot be restored automatically. No messages are sent.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Over MCP the same operation is the tool restaurant_delete_floor_section at https://app.chirply.io/api/mcp, same bearer token, same input.
Delete a menu
restaurant.delete_menuwriteconfirm
Permanently delete a menu with all of its categories and dishes, removing it from the POS, tablets, online ordering, and the website. This cannot be undone — to take a menu offline temporarily, set active=false instead.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Over MCP the same operation is the tool restaurant_delete_menu at https://app.chirply.io/api/mcp, same bearer token, same input.
Delete a category
restaurant.delete_menu_categorywriteconfirm
Permanently delete a category and every dish in it, removing them from all ordering surfaces. This cannot be undone.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Over MCP the same operation is the tool restaurant_delete_menu_category at https://app.chirply.io/api/mcp, same bearer token, same input.
Delete a dish
restaurant.delete_menu_itemwriteconfirm
Permanently delete a dish from the menu. Past order lines keep their snapshot of it, but it disappears from every ordering surface and cannot be restored. To take it off temporarily, 86 it instead.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Over MCP the same operation is the tool restaurant_delete_menu_item at https://app.chirply.io/api/mcp, same bearer token, same input.
Delete an option
restaurant.delete_modifierwriteconfirm
Permanently delete one option from a modifier group. Diners can no longer pick it on any dish. This cannot be undone — to pull it temporarily, set available=false instead.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Over MCP the same operation is the tool restaurant_delete_modifier at https://app.chirply.io/api/mcp, same bearer token, same input.
Delete a modifier group
restaurant.delete_modifier_groupwriteconfirm
Permanently delete a modifier group and all of its options, detaching it from every dish that offered it. Diners lose those choices immediately. This cannot be undone.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Over MCP the same operation is the tool restaurant_delete_modifier_group at https://app.chirply.io/api/mcp, same bearer token, same input.
Delete station
restaurant.delete_stationwriteconfirmadmin only
Permanently delete a kitchen station. Menu items and categories routed to it fall back to 'no station' — their tickets keep printing but stop being sorted onto this screen. Cannot be undone.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Over MCP the same operation is the tool restaurant_delete_station at https://app.chirply.io/api/mcp, same bearer token, same input.
Delete table
restaurant.delete_tablewriteconfirm
Permanently delete a dining table from the floor plan. Past orders keep their history (they just lose the table link), but the table's tablet ordering screen and QR token stop working immediately. This cannot be undone — prefer taking the table out of service (restaurant.update_table with active=false) if it might come back.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Over MCP the same operation is the tool restaurant_delete_table at https://app.chirply.io/api/mcp, same bearer token, same input.
Detach a modifier group from a dish
restaurant.detach_modifier_groupwriteconfirm
Stop offering a modifier group on one dish. Diners immediately lose those options when ordering it (a required group's detachment means the dish orders as-is). The group itself and its other attachments are untouched.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Over MCP the same operation is the tool restaurant_detach_modifier_group at https://app.chirply.io/api/mcp, same bearer token, same input.
Send to kitchen
restaurant.fire_orderwriteconfirm
Fire an order's pending items to the kitchen — they appear on the kitchen display for REAL cooks to start making, and each item's recipe depletes inventory. Optionally fire only specific item ids (a course). Fired food can't be un-fired, only voided.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Parameters
Field
Type
Required
Description
order_id
string (uuid)
required
The order whose pending items should fire.
item_ids
array of (string (uuid))
optional
Fire only these pending items; omit to fire everything pending.
Over MCP the same operation is the tool restaurant_fire_order at https://app.chirply.io/api/mcp, same bearer token, same input.
Open a menu
restaurant.get_menuread
Fetch one menu with its full contents: categories in service order, every dish in each category (including 86'd ones, flagged by available=false), and the ids of the modifier groups attached to each dish.
Over MCP the same operation is the tool restaurant_get_order at https://app.chirply.io/api/mcp, same bearer token, same input.
Physical floor plan
restaurant.get_physical_floor_planread
Read one restaurant location's measured building plan, uploaded-image reference, rooms, walls, doors, fixed service areas, and exact seat markers. This returns layout data only and sends nothing.
Also answers to building layout, restaurant rooms, seating map.
Parameters
Field
Type
Required
Description
location_id
string (uuid)
required
Restaurant location whose physical building plan to read.
Over MCP the same operation is the tool restaurant_get_physical_floor_plan at https://app.chirply.io/api/mcp, same bearer token, same input.
Kitchen display
restaurant.kitchen_queueread
Read the live kitchen display: every fired order item that is queued, cooking, or ready, grouped into per-order tickets (oldest fire first) with table/guest, order type, modifiers, notes, seats and courses — plus the 'all day' totals per item name still being cooked. Optionally filter to one location or one kitchen station. Read-only; changes nothing.
Parameters
Field
Type
Required
Description
location_id
string (uuid)
optional
Only tickets for this restaurant location (rst_locations id).
station_id
string (uuid)
optional
Only items routed to this kitchen station (rst_stations id), e.g. just the grill's screen.
Over MCP the same operation is the tool restaurant_kitchen_queue at https://app.chirply.io/api/mcp, same bearer token, same input.
Server sections
restaurant.list_floor_sectionsread
List the restaurant's floor sections, including each section's display color, assigned server, location, and the number of tables currently in the section. This reads scheduling state only and sends nothing.
Also answers to server sections, table sections, server table assignments.
Over MCP the same operation is the tool restaurant_list_floor_sections at https://app.chirply.io/api/mcp, same bearer token, same input.
Inventory
restaurant.list_inventoryread
List the restaurant's inventory items with what's on hand, the unit each is counted in, its par (reorder) level, unit cost in cents, and SKU. Optionally filter to one location or search by name/SKU. Costs nothing to run. Requires the Restaurant app (a one-time purchase from the App Marketplace) to be installed in this account; without it the call returns 403 app_required and no data.
Over MCP the same operation is the tool restaurant_list_inventory at https://app.chirply.io/api/mcp, same bearer token, same input.
Restaurant settings
restaurant.list_locationsread
List the account's restaurant locations with all of their settings — public web address (/eat/<slug>), contact details, opening hours, timezone, currency, sales tax rate, online-ordering/pickup/delivery/reservation toggles, delivery fee and minimum, prep time, tip presets, and public-page branding.
Over MCP the same operation is the tool restaurant_list_locations at https://app.chirply.io/api/mcp, same bearer token, same input.
List dishes
restaurant.list_menu_itemsread
List the dishes on the menu, in display order. Filter by category or by menu, restrict to available (or 86'd) dishes only, and search names and descriptions. available=false rows are 86'd — hidden from diners but still on the books.
Parameters
Field
Type
Required
Description
limit
integer
optional
Max rows to return (1–100). Default: 25
offset
integer
optional
Rows to skip. Default: 0
category_id
string (uuid)
optional
Only dishes in this category.
menu_id
string (uuid)
optional
Only dishes anywhere on this menu.
available
boolean
optional
true = only orderable dishes; false = only 86'd ones.
Over MCP the same operation is the tool restaurant_list_menu_items at https://app.chirply.io/api/mcp, same bearer token, same input.
List menus
restaurant.list_menusread
List the restaurant's menus (Dinner, Brunch, Drinks…) in display order, optionally for one location only. Each menu row includes whether it is live — an inactive menu is hidden from the POS, tablets, online ordering, and the website.
Over MCP the same operation is the tool restaurant_list_menus at https://app.chirply.io/api/mcp, same bearer token, same input.
List modifier groups
restaurant.list_modifier_groupsread
List the restaurant's reusable option sets ("Choose a side", "Add-ons"…), each with its options and their price bumps. available=false options are hidden from diners.
Over MCP the same operation is the tool restaurant_list_modifier_groups at https://app.chirply.io/api/mcp, same bearer token, same input.
List orders
restaurant.list_ordersread
List the restaurant's orders (POS, tablet and online), newest first. Filter by status, order type, source channel, location, or an opened-at date range.
Parameters
Field
Type
Required
Description
limit
integer
optional
Max rows to return (1–100). Default: 25
offset
integer
optional
Rows to skip. Default: 0
status
"open" | "completed" | "canceled"
optional
Only orders in this status.
type
"dine_in" | "takeout" | "delivery" | "online"
optional
Only this order type.
source
"pos" | "tablet" | "online" | "api"
optional
Only orders placed through this channel.
location_id
string (uuid)
optional
Only orders at this location.
since
string (date-time)
optional
Only orders opened at or after this ISO 8601 timestamp.
until
string (date-time)
optional
Only orders opened at or before this ISO 8601 timestamp.
Over MCP the same operation is the tool restaurant_list_orders at https://app.chirply.io/api/mcp, same bearer token, same input.
Reservations
restaurant.list_reservationsread
List the restaurant's reservations — the same book the host stand shows. Filter to one local calendar day (the 'tonight's book' view), a status, or a location. Rows include guest name/phone/email, party size, start time (UTC instant), assigned table, status, and how the booking came in (online, phone, walk-in, or API).
Parameters
Field
Type
Required
Description
limit
integer
optional
Max rows to return (1–100). Default: 25
offset
integer
optional
Rows to skip. Default: 0
location_id
string (uuid)
optional
Which location's book. Optional when the account has exactly one location.
date
string
optional
Only reservations starting on this local calendar day at the location.
Over MCP the same operation is the tool restaurant_list_reservations at https://app.chirply.io/api/mcp, same bearer token, same input.
Reservation services
restaurant.list_service_periodsread
List a location's service periods — the bookable sittings on the public reservation page (e.g. Dinner: Tue–Sun 5–10pm, 30-minute slots, tables turn in 90 minutes). Days use 0=Sunday…6=Saturday; times are 24-hour local to the location.
Over MCP the same operation is the tool restaurant_list_service_periods at https://app.chirply.io/api/mcp, same bearer token, same input.
Kitchen stations
restaurant.list_stationsread
List the kitchen stations (Grill, Fry, Bar…) tickets are sorted onto. Menu items and categories point at a station, and the kitchen display filters by it.
Over MCP the same operation is the tool restaurant_list_stations at https://app.chirply.io/api/mcp, same bearer token, same input.
Movements
restaurant.list_stock_movementsread
Read the stock-movement ledger, newest first: every change to every on-hand count, with its signed delta, reason ('purchase', 'waste', 'adjustment', 'count', or the automatic 'sale' written when the kitchen fires an order), note, the order that consumed the stock for sale rows, and who made it. Optionally filter by item or reason. Costs nothing to run. Requires the Restaurant app (a one-time purchase from the App Marketplace) to be installed in this account; without it the call returns 403 app_required and no data.
Over MCP the same operation is the tool restaurant_list_stock_movements at https://app.chirply.io/api/mcp, same bearer token, same input.
Tables
restaurant.list_tablesread
List the restaurant's dining tables and their floor-plan geometry: name, seat count, room, shape, position, size, rotation, server section, service state, and QR/tablet token. Filter by location, room, section, or active state, or search by name.
Also answers to floor plan, dining tables, table list.
Parameters
Field
Type
Required
Description
limit
integer
optional
Max rows to return (1–100). Default: 25
offset
integer
optional
Rows to skip. Default: 0
location_id
string (uuid)
optional
Only tables at this location.
area
string
optional
Only tables in this named area (e.g. "Patio", "Bar").
active
boolean
optional
true = only tables in service; false = only out-of-service tables.
Over MCP the same operation is the tool restaurant_list_tables at https://app.chirply.io/api/mcp, same bearer token, same input.
Reorder list
restaurant.low_stockread
The reorder report: every inventory item at or below its par level, with what's on hand, the par line, unit and unit cost — i.e. what to order before service runs out. Items without a par level never appear. Costs nothing to run. Requires the Restaurant app (a one-time purchase from the App Marketplace) to be installed in this account; without it the call returns 403 app_required and no data.
Over MCP the same operation is the tool restaurant_low_stock at https://app.chirply.io/api/mcp, same bearer token, same input.
Record cash payment
restaurant.record_cash_paymentwriteconfirm
Record REAL MONEY taken in cash against a check. The amount (plus any tip) counts toward the check's total, and the check marks itself paid once its payments cover it. An amount below the total is a partial payment — how an even split settles. This is a financial record; get it wrong and the till won't balance.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Parameters
Field
Type
Required
Description
check_id
string (uuid)
required
The check being paid.
amount_cents
integer
required
Cash applied to the check, integer cents (not the tendered amount — change stays in the drawer).
tip_cents
integer
optional
Tip left on top, integer cents. Joins the check's totals. Default: 0
Over MCP the same operation is the tool restaurant_record_cash_payment at https://app.chirply.io/api/mcp, same bearer token, same input.
Remove plan image
restaurant.remove_floor_plan_imagewriteconfirm
Permanently delete the private uploaded architectural-plan image from one restaurant location. Every traced room, wall, fixture, seat, operational table, order, reservation, and server section stays in place, but the image itself cannot be restored automatically.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Also answers to delete restaurant blueprint, clear floor background.
Parameters
Field
Type
Required
Description
location_id
string (uuid)
required
Restaurant location whose uploaded plan image to remove.
Over MCP the same operation is the tool restaurant_remove_floor_plan_image at https://app.chirply.io/api/mcp, same bearer token, same input.
Check available times
restaurant.reservation_availabilityread
The bookable reservation times for one local calendar day and party size, computed from the location's service periods minus what existing reservations and table capacity already consume. Read-only and free. Each slot is a UTC instant with an 'available' flag; offer only available ones to a guest, and know the time is re-validated again at booking.
Parameters
Field
Type
Required
Description
location_id
string (uuid)
optional
Which location to check. Optional when the account has exactly one location.
date
string
required
A calendar date, YYYY-MM-DD, on the RESTAURANT's own wall clock (its location timezone).
Over MCP the same operation is the tool restaurant_reservation_availability at https://app.chirply.io/api/mcp, same bearer token, same input.
Save building plan
restaurant.save_physical_floor_planwrite
Create or update the real-world width, depth, measurement unit, and uploaded-plan visibility for one restaurant location. Existing uploaded images, rooms, fixtures, seats, tables, orders, and reservations stay in place.
Also answers to set restaurant dimensions, calibrate floor plan.
Parameters
Field
Type
Required
Description
location_id
string (uuid)
required
Restaurant location whose building dimensions to save.
width_units
number
required
Measured outside width of the floor in the selected unit.
height_units
number
required
Measured outside depth of the floor in the selected unit.
unit
"feet" | "meters"
required
Measurement system for every physical dimension: feet or meters.
background_opacity
number
optional
Uploaded plan visibility from 0.05 (faint) through 1 (solid). Default: 0.35
Over MCP the same operation is the tool restaurant_save_physical_floor_plan at https://app.chirply.io/api/mcp, same bearer token, same input.
Send receipt
restaurant.send_receiptwriteconfirm
Email and/or text a REAL diner the itemized receipt for a check, on the org's own connected email sender and Twilio number. NOT SAFE TO RE-SEND: there is no de-duplication, so every call delivers another message to that person's phone and inbox, and every SMS is another Twilio message billed to the org. Send it once. It does not charge the diner's card or change the check — the cost is the messaging, and the harm is texting a customer repeatedly. Optionally captures the guest's email/phone onto the order first.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Parameters
Field
Type
Required
Description
check_id
string (uuid)
required
The check whose receipt to send.
email
string
optional
Guest email to send to (saved onto the order). Omit to use what's already on the order.
phone
string
optional
Guest mobile number for the SMS copy (saved onto the order).
Over MCP the same operation is the tool restaurant_send_receipt at https://app.chirply.io/api/mcp, same bearer token, same input.
86 a dish / bring it back
restaurant.set_item_availabilitywriteconfirm
Flip a dish's availability. available=false 86's it: the dish disappears from the POS, table tablets, online ordering, and the website menu immediately, so real diners can no longer order it. available=true puts it back on sale everywhere. Nothing is deleted either way.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Parameters
Field
Type
Required
Description
id
string (uuid)
required
The dish.
available
boolean
required
false = 86 it (hide from every ordering screen); true = back on the menu.
Over MCP the same operation is the tool restaurant_set_item_availability at https://app.chirply.io/api/mcp, same bearer token, same input.
Save recipe
restaurant.set_recipewrite
Replace a menu item's ingredient lines — how much of which inventory items selling ONE of that dish consumes. This is what makes sales deplete stock automatically: when the kitchen fires the dish, each line writes a 'sale' movement. An empty ingredient list clears the recipe, and the dish stops touching inventory. Quantities are per single sale, in each ingredient's own unit. Requires the Restaurant app (a one-time purchase from the App Marketplace) to be installed in this account; without it the call returns 403 app_required and no data.
Parameters
Field
Type
Required
Description
menu_item_id
string (uuid)
required
The menu item (dish) whose recipe to set.
ingredients
object[]
required
The complete new set of ingredient lines. An empty array clears the recipe.
ingredients[].inventory_item_id
string (uuid)
required
The inventory item consumed.
ingredients[].qty
number
required
Amount consumed per single sale, in the item's unit.
Over MCP the same operation is the tool restaurant_set_recipe at https://app.chirply.io/api/mcp, same bearer token, same input.
Update reservation status
restaurant.set_reservation_statuswriteconfirm
Move a reservation through its lifecycle, the same buttons the host stand shows: confirm a pending one, seat the party, complete the visit, mark a no-show, or cancel. Canceling or no-showing releases the table, and another guest may book the freed slot immediately — treat those as irreversible in practice. No message is sent to the guest.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Over MCP the same operation is the tool restaurant_set_reservation_status at https://app.chirply.io/api/mcp, same bearer token, same input.
Save reservation services
restaurant.set_service_periodswriteadmin only
REPLACE a location's entire reservation schedule with the given service periods. This immediately changes which dates and times diners can book on the public page — services not in the list are removed (existing reservations are kept). Pass the full schedule, not a delta.
Parameters
Field
Type
Required
Description
location_id
string (uuid)
required
The location whose schedule to replace.
periods
object[]
required
The location's complete schedule. An empty array removes every service.
periods[].name
string
required
What diners pick when booking — Lunch, Dinner, Brunch…
periods[].days
integer[]
required
Days the service runs: 0=Sunday … 6=Saturday.
periods[].start_time
string
required
First bookable time, 24-hour HH:MM local to the location.
periods[].end_time
string
required
Last bookable time, 24-hour HH:MM local to the location. Must be after start_time.
periods[].slot_minutes
integer
optional
Minutes between offered times — 30 offers 5:00, 5:30, 6:00… Default: 30
periods[].turn_minutes
integer
optional
How long a party keeps its table before it frees up. Default: 90
periods[].max_covers_per_slot
integer (or null)
optional
Cap on total guests per time slot. Null = limited only by free tables. Default: null
periods[].active
boolean
optional
False keeps the service saved but hides it from diners. Default: true
Over MCP the same operation is the tool restaurant_set_service_periods at https://app.chirply.io/api/mcp, same bearer token, same input.
Split a check
restaurant.split_checkwrite
Split a check two ways: mode 'items' moves the listed item groups onto new checks on the same order (groups[0] stays on the original), each paying independently; mode 'even' creates NO new checks — it returns the per-payer share amounts, each of which is then taken as a partial payment (restaurant.record_cash_payment, or a card payment in the app).
Parameters
Field
Type
Required
Description
check_id
string (uuid)
required
The open check to split.
mode
"items" | "even"
required
'items' moves lines to new checks; 'even' just computes payer shares.
groups
array of (array of (string (uuid)))
optional
For mode 'items': groups of order-item ids. The first group stays on the original check; every further group becomes a new check.
ways
integer
optional
For mode 'even': how many payers to split between.
Over MCP the same operation is the tool restaurant_split_check at https://app.chirply.io/api/mcp, same bearer token, same input.
Table status
restaurant.table_statusread
The live floor view: for each table, whether it currently has an open order (with order number, when it opened, and covers) and its next upcoming reservation inside the look-ahead window. This is exactly what the Tables screen shows staff.
Also answers to floor status, which tables are open, table availability.
Parameters
Field
Type
Required
Description
location_id
string (uuid)
optional
Only tables at this location.
table_id
string (uuid)
optional
Status for just this one table.
horizon_hours
integer
optional
How far ahead to look for upcoming reservations, in hours. Default: 24
Over MCP the same operation is the tool restaurant_table_status at https://app.chirply.io/api/mcp, same bearer token, same input.
Save floor feature
restaurant.update_floor_featurewrite
Update a traced room, wall, door, fixed service area, fixture, or exact seat on the physical restaurant plan. This changes only the drawing; linked tables, orders, reservations, and server assignments remain intact.
Also answers to move floor feature, resize room, link seat to table.
Parameters
Field
Type
Required
Description
id
string (uuid)
required
Physical floor feature to update.
label
string
optional
New staff-facing feature label.
floor_x
number
optional
New left edge as a percentage of plan width.
floor_y
number
optional
New top edge as a percentage of plan depth.
floor_width
number
optional
New feature width as a percentage of plan width.
floor_height
number
optional
New feature depth as a percentage of plan depth.
rotation_deg
integer
optional
New clockwise rotation in degrees.
table_id
string (uuid) (or null)
optional
Dining table linked to this seat, or null to unlink it.
color
string (or null)
optional
New six-digit hex outline color, or null for the feature default.
locked
boolean
optional
Whether staff should be prevented from accidentally dragging the feature.
Over MCP the same operation is the tool restaurant_update_floor_feature at https://app.chirply.io/api/mcp, same bearer token, same input.
Save section
restaurant.update_floor_sectionwrite
Update a floor section's name, color, display order, or assigned server. Changing the server reassigns responsibility for every table already in that section; it does not send a notification or message.
Also answers to assign server to section, rename server section.
Parameters
Field
Type
Required
Description
id
string (uuid)
required
Floor section to update.
name
string
optional
New staff-facing section name.
color
string
optional
New six-digit hex display color.
server_user_id
string (uuid) (or null)
optional
New responsible teammate, or null to leave the section without a server.
Over MCP the same operation is the tool restaurant_update_floor_section at https://app.chirply.io/api/mcp, same bearer token, same input.
Edit item
restaurant.update_inventory_itemwrite
Edit an inventory item's name, unit, par level, unit cost, SKU, or location. Omitted fields are left alone. The on-hand amount is deliberately NOT editable here — change it with restaurant.adjust_stock so the ledger records why. Requires the Restaurant app (a one-time purchase from the App Marketplace) to be installed in this account; without it the call returns 403 app_required and no data.
Parameters
Field
Type
Required
Description
id
string (uuid)
required
The inventory item to edit.
name
string
optional
New name.
unit
string
optional
New counting unit.
par_level
number (or null)
optional
New reorder line; null removes it (and the item leaves the low-stock report).
cost_cents
integer (or null)
optional
New unit cost in integer cents; null clears it.
sku
string (or null)
optional
New SKU; null clears it.
location_id
string (uuid) (or null)
optional
Move the item to this location; null makes it an all-locations item.
Over MCP the same operation is the tool restaurant_update_inventory_item at https://app.chirply.io/api/mcp, same bearer token, same input.
Save restaurant settings
restaurant.update_locationwriteconfirmadmin only
Update a restaurant location's settings. CHANGES WHAT DINERS SEE AND WHAT THEY ARE CHARGED: the tax rate and delivery fee alter real checkout totals, the toggles turn public ordering/reservations on or off, hours change when orders are accepted, and changing the slug MOVES the public pages (old /eat/<slug> links stop working). Omitted fields are left alone.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Parameters
Field
Type
Required
Description
id
string (uuid)
required
The location to update.
name
string
optional
The restaurant's name, as diners see it.
slug
string
optional
The location's public web address: diners visit /eat/<slug>. Globally unique across the whole platform.
phone
string (or null)
optional
Phone number shown to diners on the public page.
email
string (or null)
optional
Email address order and reservation notices go to.
address
string (or null)
optional
Street address shown to diners for pickup and directions.
timezone
string
optional
IANA timezone, e.g. America/New_York. Hours and reservation slots are interpreted in it.
currency
string
optional
ISO currency code prices are in, lowercase — e.g. usd.
tax_rate_pct
number
optional
Sales tax percent added to every check — 8.25 means 8.25%.
hours
object
optional
Weekly opening hours shown to diners on the public page. A day that is omitted or has no ranges displays as closed.
hours.sun
object[]
optional
Open ranges for the day. Two ranges = split hours (lunch and dinner). Empty or omitted = closed that day.
hours.sun[].open
string
required
Opening time, 24-hour HH:MM local to the location.
hours.sun[].close
string
required
Closing time, 24-hour HH:MM local to the location.
hours.mon
object[]
optional
Open ranges for the day. Two ranges = split hours (lunch and dinner). Empty or omitted = closed that day.
hours.mon[].open
string
required
Opening time, 24-hour HH:MM local to the location.
hours.mon[].close
string
required
Closing time, 24-hour HH:MM local to the location.
hours.tue
object[]
optional
Open ranges for the day. Two ranges = split hours (lunch and dinner). Empty or omitted = closed that day.
hours.tue[].open
string
required
Opening time, 24-hour HH:MM local to the location.
hours.tue[].close
string
required
Closing time, 24-hour HH:MM local to the location.
hours.wed
object[]
optional
Open ranges for the day. Two ranges = split hours (lunch and dinner). Empty or omitted = closed that day.
hours.wed[].open
string
required
Opening time, 24-hour HH:MM local to the location.
hours.wed[].close
string
required
Closing time, 24-hour HH:MM local to the location.
hours.thu
object[]
optional
Open ranges for the day. Two ranges = split hours (lunch and dinner). Empty or omitted = closed that day.
hours.thu[].open
string
required
Opening time, 24-hour HH:MM local to the location.
hours.thu[].close
string
required
Closing time, 24-hour HH:MM local to the location.
hours.fri
object[]
optional
Open ranges for the day. Two ranges = split hours (lunch and dinner). Empty or omitted = closed that day.
hours.fri[].open
string
required
Opening time, 24-hour HH:MM local to the location.
hours.fri[].close
string
required
Closing time, 24-hour HH:MM local to the location.
hours.sat
object[]
optional
Open ranges for the day. Two ranges = split hours (lunch and dinner). Empty or omitted = closed that day.
hours.sat[].open
string
required
Opening time, 24-hour HH:MM local to the location.
hours.sat[].close
string
required
Closing time, 24-hour HH:MM local to the location.
tip_presets
integer[]
optional
The one-tap tip percentages diners see at checkout, e.g. [15,18,20,25].
online_ordering_enabled
boolean
optional
Whether diners can order and pay from the public menu page.
reservations_enabled
boolean
optional
Whether diners can book tables from the public reservation page.
pickup_enabled
boolean
optional
Whether online orders may be collected at the counter.
delivery_enabled
boolean
optional
Whether online orders may be delivered by the restaurant's own drivers.
delivery_fee_cents
integer
optional
Fee in integer cents added to every delivery order — 499 = $4.99.
min_order_cents
integer
optional
Minimum order size in integer cents before delivery is offered.
prep_minutes
integer
optional
Minutes diners are told their order takes to prepare.
logo_url
string (or null)
optional
URL of the logo image on the public page.
hero_url
string (or null)
optional
URL of the wide cover photo across the top of the public page.
about
string (or null)
optional
Short welcome text shown under the restaurant's name on the public page.
Over MCP the same operation is the tool restaurant_update_location at https://app.chirply.io/api/mcp, same bearer token, same input.
Edit a menu
restaurant.update_menuwriteconfirm
Rename a menu, change its display position, or toggle it live/hidden. Setting active=false immediately pulls the ENTIRE menu — every category and every dish on it — off the POS, table tablets, online ordering, and the website, mid-service if that is when you run it; real diners stop being able to order any of it within seconds. Nothing is deleted, and active=true puts it all back.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Parameters
Field
Type
Required
Description
id
string (uuid)
required
The menu to edit.
name
string
optional
The menu's name, e.g. "Dinner".
active
boolean
optional
Whether the whole menu is live. false hides every dish on it from the POS, table tablets, online ordering, and the website menu; true brings them all back.
Over MCP the same operation is the tool restaurant_update_menu_category at https://app.chirply.io/api/mcp, same bearer token, same input.
Edit a dish
restaurant.update_menu_itemwriteconfirm
Update a dish — name, price, description, photo, dietary tags, kitchen station, SKU, or which category it sits in. Omitted fields are left alone. Every change is outward-facing: this edits a dish real diners are looking at, and a new price_cents is what the next order charges on the POS, the tablets, online ordering, and the website, within seconds and with no review step. A wrong dietary tag reaches someone with an allergy. To 86 a dish use restaurant.set_item_availability instead.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Parameters
Field
Type
Required
Description
id
string (uuid)
required
The dish to edit.
category_id
string (uuid)
optional
Move it to this category.
name
string
optional
The dish name, e.g. "Pad Thai".
price_cents
integer
optional
New price in integer cents (1250 = $12.50). Charged on the very next order.
description
string (or null)
optional
What's in it and how it's served — shown to diners.
image_url
string (uri) (or null)
optional
New photo URL, or null to remove it.
dietary_tags
string[]
optional
Dietary labels shown to diners, e.g. ["vegan", "gluten-free", "spicy"].
station_id
string (uuid) (or null)
optional
New kitchen station override, or null to fall back to the category's.
sku
string (or null)
optional
Internal SKU for reports and exports. Not shown to diners.
Over MCP the same operation is the tool restaurant_update_menu_item at https://app.chirply.io/api/mcp, same bearer token, same input.
Edit an option
restaurant.update_modifierwrite
Update one option in a modifier group — rename it, change its extra cost, its display position, or hide/show it (available). Price changes reach diners immediately on every dish offering the group.
Parameters
Field
Type
Required
Description
id
string (uuid)
required
The option to edit.
name
string
optional
The option name, e.g. "Fries".
price_cents
integer
optional
New extra cost in integer cents. Charged on the very next order.
available
boolean
optional
false hides the option from diners without deleting it; true shows it.
Over MCP the same operation is the tool restaurant_update_modifier at https://app.chirply.io/api/mcp, same bearer token, same input.
Edit a modifier group
restaurant.update_modifier_groupwrite
Rename a modifier group or change its pick rules (min/max/required). The change applies at once to every dish the group is attached to.
Parameters
Field
Type
Required
Description
id
string (uuid)
required
The group to edit.
name
string
optional
The group name, e.g. "Choose a side".
min_select
integer
optional
New minimum picks.
max_select
integer (or null)
optional
New maximum picks; null = no cap.
required
boolean
optional
true means the dish can't be ordered without picking from this group — it forces an extra choice on every diner ordering any dish the group is attached to.
Over MCP the same operation is the tool restaurant_update_modifier_group at https://app.chirply.io/api/mcp, same bearer token, same input.
Rename station
restaurant.update_stationwriteadmin only
Rename a kitchen station in place — the settings screen's pencil-edit on a station chip. This is the safe alternative to deleting and recreating it: delete detaches every menu item and category already routed to that station (their tickets fall back to 'no station'), while renaming keeps their routing intact. Station names stay unique within a location.
Over MCP the same operation is the tool restaurant_update_station at https://app.chirply.io/api/mcp, same bearer token, same input.
Edit table
restaurant.update_tablewrite
Update a dining table: rename it, change its seats, shape, floor position, size, rotation, room, server section, location, display order, or service state. Omitted fields are left alone, except moving a table to another location without naming a destination section clears its old section. Taking a table out of service makes its tablet screen refuse new orders.
Also answers to rename table, move table, take table out of service.
Parameters
Field
Type
Required
Description
id
string (uuid)
required
The table to edit.
location_id
string (uuid)
optional
Move the table to this location.
name
string
optional
New name for the table.
seats
integer
optional
New seat count.
area
string (or null)
optional
New floor area; null moves it back to the main floor.
sort
integer
optional
New display order.
active
boolean
optional
true puts the table in service; false takes it out.
shape
"round" | "square" | "rectangle" | "bar"
optional
New table silhouette on the floor plan.
floor_x
number
optional
New horizontal floor position as a percentage from the left edge.
floor_y
number
optional
New vertical floor position as a percentage from the top edge.
floor_width
number
optional
New width as a percentage of the floor canvas.
floor_height
number
optional
New depth as a percentage of the floor canvas.
rotation_deg
integer
optional
New clockwise table rotation in degrees.
section_id
string (uuid) (or null)
optional
Assign this server section, or null to leave the table unassigned.
Over MCP the same operation is the tool restaurant_update_table at https://app.chirply.io/api/mcp, same bearer token, same input.
Upload plan image
restaurant.upload_floor_plan_imagewriteconfirm
Upload or replace the private architectural-plan image underneath one restaurant floor. The image is stored permanently in the account's Supabase Storage (up to 10 MB, which can incur storage and egress cost); traced rooms, fixtures, seats, and tables remain unchanged.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.
Also answers to upload building plan, replace restaurant blueprint.
Parameters
Field
Type
Required
Description
location_id
string (uuid)
required
Restaurant location that owns the uploaded plan.
filename
string
required
Original image filename, used only to preserve its extension.
content_type
"image/jpeg" | "image/png" | "image/webp"
required
Uploaded image MIME type: JPEG, PNG, or WebP.
content_base64
string
required
Plan image bytes encoded as base64, without a data-URL prefix.
Over MCP the same operation is the tool restaurant_upload_floor_plan_image at https://app.chirply.io/api/mcp, same bearer token, same input.
Void item
restaurant.void_order_itemwriteconfirm
Void a single line item on a ticket — the POS's 'Void?' control (tap once to arm it, again to confirm). Removes just that line from its check's total; the rest of the order is untouched. Fired items — already sent to the kitchen — can still be voided here, but the food itself can't be un-cooked, only kept off the bill. Use this for one wrong or unwanted item; use restaurant.cancel_order when the WHOLE order should go away instead. Voiding an item that's already voided is a harmless no-op.
Marked confirm: this operation is irreversible, reaches real people, or spends money. Holding a credential is itself the confirmation for API and MCP callers — call it only when you mean it. The in-app assistant refuses to run it without a human approving first.