E-Commerce · Beta
Toast
API integration
Ship E-Commerce features without building the integration. Full Toast API access via Proxy and 110+ MCP-ready tools for AI agents — extend models and mappings to fit your product.
Built for specific customer use cases. Issues are resolved quickly.
Talk to usUse Cases
Why integrate with Toast
Common scenarios for SaaS companies building Toast integrations for their customers.
Automate restaurant accounting and daily reconciliation
Give your accounting or ERP users a nightly feed of Toast payouts, deposits, cash drawer entries, and sales categories so they can auto-generate journal entries into QuickBooks, NetSuite, or Xero without manual export.
Sync workforce schedules with actual labor hours
Let scheduling and payroll platforms push employees, jobs, wage overrides, and shifts into Toast while pulling back real clock-in/out time entries to calculate labor variance, overtime risk, and payroll runs.
Inject third-party delivery orders directly into the POS
Delivery aggregators and virtual brand platforms can push standardized orders, checks, and payments into Toast and update delivery states in bulk, eliminating tablet hell and manual re-keying in the kitchen.
Keep menus and 86-lists in sync across channels
Menu management and inventory tools can read Toast menus with lightweight metadata polling and push bulk inventory status updates (IN_STOCK, OUT_OF_STOCK, QUANTITY) across many restaurant locations at once.
Apply loyalty rewards and discounts to live checks
Loyalty and CRM platforms can read checks, apply item-level or check-level discounts, and write back applied loyalty info so guests see rewards reflected on the POS in real time.
What You Can Build
Ship these features with Truto + Toast
Concrete product features your team can ship faster by leveraging Truto’s Toast integration instead of building from scratch.
Daily sales and payout reconciliation feed
Pull payouts, payout payments, sales dates, deposits, and cash drawer entries per business date to generate reconciled journal entries mapped to Toast revenue centers and sales categories.
Two-way employee and shift sync
Create, update, archive, and unarchive employees in Toast, push shifts and wage overrides in bulk, and pull back time entries and break data for payroll processing.
Order injection with price validation
Create orders, check selections, and payments in Toast, and use the price endpoint to validate taxes, service charges, and totals against live menu config before persisting the order.
Delivery dispatch and status updates
Bulk-update delivery info on existing Toast orders to reflect dispatch, en-route, and delivered states from your logistics or aggregator platform.
Bulk 86-list and inventory controller
Expose a single toggle in your app that updates item stock status across many Toast locations simultaneously via the bulk inventory update endpoint.
Loyalty, discounts, and guest payment workflows
Apply check-level and selection-level discounts, write back applied loyalty info in bulk, and record guest payments against checks for integrated CRM and rewards flows.
SuperAI
Toast AI agent tools
Comprehensive AI agent toolset with fine-grained control. Integrates with MCP clients like Cursor and Claude, or frameworks like LangChain.
create_a_toast_metric
Create a Toast aggregated sales reporting data request for a custom business-date range. Returns the reportRequestGuid used to retrieve the data with the metrics list method. Requires a body with startBusinessDate and endBusinessDate.
list_all_toast_metrics
Get the aggregated sales reporting data for a Toast analytics report request. Returns an id and an attributes object whose fields depend on the aggregation options used when the data request was created. Required: report_request_guid. Data is gathered asynchronously; retry until Toast finishes preparing the report.
list_all_toast_restaurants_informations
List the Toast restaurants in the management group associated with the API client. Returns, for each restaurant, its guid, name, and activated, test_mode, and archived status flags.
create_a_toast_check
Create a check reporting data request in Toast for a specific time range. Returns: reportRequestGuid, the identifier used to retrieve the data. Required: time_range, startBusinessDate, endBusinessDate. Currently day is the only valid time_range value.
list_all_toast_checks
Get the check reporting data for a Toast report request. Returns the CheckReportingData object with per-check reporting fields (schema-specific shape); a 202 response is returned while Toast is still gathering the data. Required: report_request_guid.
create_a_toast_labor
Create a labor reporting data request in Toast for a specific time range. Returns: id. Required: time_range, startBusinessDate, endBusinessDate. The data is gathered asynchronously.
list_all_toast_labors
Get the labor reporting data in Toast for a report request. Returns: id. Required: report_request_guid. If the data is still being gathered, retry the request later.
list_all_toast_menus
List all menus configured for a Toast restaurant, such as drinks, dinner, and dessert menus. Returns each menu's guid and its menu attributes. Max 300 per page.
get_single_toast_menu_by_id
Get a single menu configured for a Toast restaurant by id (the menu's Toast POS guid). Returns the menu's guid and its menu attributes. Required: id.
create_a_toast_payout
Create a Toast payout reporting data request organized by settled date for a specific time range (the 'payout by settled date' report). Set time_range to day, week or month, and provide startDate and endDate (YYYYMMDD) in the body, optionally limiting to restaurantIds or excluding excludedRestaurantIds. Returns the reportRequestGuid string used to retrieve the data with payouts.list. Required: time_range, startDate, endDate.
list_all_toast_payouts
Retrieve the Toast payout reporting data organized by settled date for a previously created report request. Returns one row per restaurant and settled date with restaurantGuid, restaurantName, restaurantLocationName, restaurantLocationCode, settledDate, salesPeriodStartDateTime, salesPeriodEndDateTime, transactionCount, paymentAmount, refundAmount, totalFeeAmount, withholdingAmount, payoutAmount and payoutStatus. A 202 means Toast is still gathering the data; retry later. Required: report_request_guid.
create_a_toast_payout_payment
Create a Toast payout reporting data request organized by payment for a specific time range. Returns the reportRequestGuid used to retrieve the reporting data. Requires time_range (only 'day' is currently a valid value), plus startDate and endDate in the body.
list_all_toast_payout_payments
Get Toast payout reporting data organized by payment for a specific report request. Returns the reporting data payload (attributes) whose payment-organized fields are defined by the upstream PayoutPaymentsReportingData schema. Required: report_request_guid. While the platform is still gathering the data the request returns 202 and must be retried later.
create_a_toast_payout_sales_date
Create a Toast payout reporting data request organized by sales date for a specific time range. Returns: reportRequestGuid, the identifier used to retrieve the data. Requires time_range (day, week, or month), startDate, and endDate. week covers seven days or fewer and month covers 31 days or fewer.
list_all_toast_payout_sales_dates
Get the Toast payout reporting data organized by sales date for a reporting data request. Returns the payout reporting data organized by sales date, with fields defined by the Toast Analytics API `PayoutSalesDateReportingData` schema. Required: report_request_guid. Returns 202 with an in-progress marker while the platform is still gathering the data; retry later.
create_a_toast_guest_payment
Create a Toast guest reporting data request organized by payment for a specific time range. Returns the reportRequestGuid used to retrieve the reporting data via the list method. Required: time_range, startDate, endDate. time_range must be day (one day) or week (seven days or fewer).
list_all_toast_guest_payments
Get the Toast guest reporting data organized by payment for a reporting data request. Returns: data, the guest payment-card reporting data for the request. Required: report_request_guid. While the platform is still gathering the data the call returns an in-progress response - retry the request at a later time.
get_single_toast_restaurant_by_id
Get detailed configuration information for a specific Toast restaurant by id (the restaurant's Toast GUID). Returns: id. Required: id. Pass includeArchived=true to also retrieve archived restaurants, which otherwise return a 404 (defaults to false).
list_all_toast_restaurants
List the Toast restaurants that your partner API client can access. Returns: id.
list_all_toast_group_restaurants
List the Toast restaurants that belong to a restaurant management group. Returns an array of Restaurant objects, each containing the restaurant's unique Toast platform identifier in its guid. Required: management_group_guid.
list_all_toast_payments
List Toast payment identifiers for one restaurant business day. Returns an array of payment GUID strings. Requires one of paidBusinessDate, refundBusinessDate, or voidBusinessDate, each in yyyyMMdd format (e.g. 20170101).
get_single_toast_payment_by_id
Get a single Toast payment by its GUID. Returns the full Payment object including guid, amount, tipAmount, paymentStatus, paidDate, and cardType. Required: guid.
create_a_toast_price
Calculate check prices, taxes and service charges for a Toast Order object without creating the order. Validates that all referenced items, modifiers and dining options exist. The order GUID is not set in the response because nothing is persisted; prices can change over time as restaurant configuration and schedules change. Requires the Toast-Restaurant-External-ID header (set from the connection). Required: diningOption, checks (with selections).
list_all_toast_orders
Retrieve a Toast order by its GUID. Returns the full Order object including guid, entityType, businessDate, diningOption, openedDate, and nested checks with payments and item selections. Required: guid.
create_a_toast_order
Create a new guest order in Toast. Returns the persisted Order object including generated guid, businessDate, approvalStatus, diningOption, openedDate, and nested checks with payments and item selections. Requires an Order object body describing the order's checks and item selections. Credit card payment types are not supported.
get_single_toast_order_by_id
Get a single Toast order by its GUID. Returns the full Order object including guid, entityType, businessDate, diningOption, openedDate, and nested checks with payments and item selections. Required: guid.
list_all_toast_orders_bulks
List Toast orders opened or modified during a period, returning full Order objects with their checks, selections, payments and discounts. Provide either businessDate (yyyyMMdd, orders promised that business day) or both startDate and endDate (ISO-8601 with fractional seconds, exclusive end, filtered on modified date). Paginated with page and pageSize (max 100). Returns: guid, externalId, openedDate, modifiedDate, promisedDate, businessDate, diningOption, checks, approvalStatus, source, voided, deleted, deliveryInfo, curbsidePickupInfo, server, table, revenueCenter, numberOfGuests.
create_a_toast_check_payment
Add one or more payments to a check on an existing Toast order. The body is a JSON array of Payment objects (type, amount, tipAmount, amountTendered, otherPayment for OTHER types). Returns the created Payment objects with guid, type, amount, tipAmount, paymentStatus, cardType, last4Digits, paidDate and refund details. Required: order_guid, check_guid, and a body array with at least one payment having type and amount.
update_a_toast_check_payment_by_id
Update the tip amount of an existing payment on a Toast check. The body may contain only tipAmount; any other Payment field is rejected. Returns the full Order object including the updated payment. Required: order_guid, check_guid, id (payment GUID), tipAmount.
create_a_toast_check_selection
Add one or more menu items to an existing check in a Toast order. Returns the full order object including guid, entityType, openedDate, and its checks with the selections (item, quantity, price, displayName), payments, and applied discounts from both the original check and the newly added items. Required: order_guid and check_guid.
create_a_toast_check_applied_discount
Add one or more check-level discounts to a check in an existing Toast order by posting an array of Discount objects. Returns the updated Order object including its guid and the checks that now carry the applied discount. Required: order_guid, check_guid.
create_a_toast_selection_applied_discount
Add one or more item-level discounts to a menu item selection in a check of an existing Toast order. Returns the updated order object that includes the discount you added. Requires order_guid, check_guid, selection_guid, and a request body containing an array of Discount objects.
toast_order_delivery_infos_bulk_update
Update the delivery information of a Toast order using the DELIVERY dining option. Returns the full order JSON, including updated deliveryInfo, with fields such as guid, businessDate, openedDate, and checks. Required: order_guid plus any combination of deliveredDate, dispatchedDate, deliveryState, deliveryEmployee, notes. Once deliveryState is DELIVERED, no further updates are accepted.
create_a_toast_order_void
Void a Toast order, including its selections and payments. Returns the modified order object including its guid, checks, and payments. Only orders with OTHER payment types can be voided. Required: order_guid and a body with selections and payments each setting voidAll to true.
create_a_toast_applicable_discount
Get the discounts that apply to the checks and menu item selections in a Toast order. Returns an array of ApplicableDiscount objects, each describing one discount and which checks and menu item selections are eligible for it; when a promoCode is included in the request body, only the discounts associated with that promotional code are returned. Requires an ApplicableDiscountsRequest body with the…
toast_check_applied_loyalty_infos_bulk_update
Update the applied loyalty information for a specific Toast check. Returns the updated Check object, including guid, displayNumber, amount, totalAmount, paymentStatus, and appliedLoyaltyInfo. Required: check_guid.
list_all_toast_metadata
Get the menu last-modified timestamp for a Toast restaurant, a lightweight check to determine whether menu data has been updated before fetching the full menus payload. Returns: lastUpdated. Call the menus endpoint only when lastUpdated is more recent than your stored value, which is especially important for limited-bandwidth clients.
list_all_toast_entries
List cash entries in Toast for a single business date: cash added to or removed from cash drawers and other cash storage devices. Returns CashEntry records with their id and attributes (CashEntry-specific fields). Required: businessDate (yyyymmdd).
list_all_toast_deposits
List Toast deposits for a business date — cash removed from a restaurant to be deposited in a bank or other financial institution during that business day. Returns an array of Deposit records, each with its id. Required: businessDate (yyyymmdd format).
list_all_toast_connected_restaurants
List Toast restaurants that have connected to your integrated partner service. Returns a paginated page of PartnerAccessExternalRep restaurant records; the PaginatedResponse includes nextPageToken for fetching the next page. Use lastModified (UTC ISO 8601 timestamp) to find restaurants that granted or changed access after a given date and time. Max page size 200 (default 100).
list_all_toast_inventories
List menu item inventory for a Toast restaurant. Returns inventory records for menu items at risk of going out of stock, each with guid, multiLocationId, status, and quantity (present when status is QUANTITY). Only items with OUT_OF_STOCK or QUANTITY status are returned; use status to restrict to one of those two.
list_all_toast_search_inventories
Search Toast inventory information for specific menu items by identifier. Returns an array of inventory records including guid, multiLocationId, status (IN_STOCK, OUT_OF_STOCK, or QUANTITY), and quantity. Requires a request body with one or both of multiLocationIds and guids.
toast_inventory_updates_bulk_update
Update inventory information for a list of Toast menu items. Returns each item's updated inventory record including multiLocationId, guid, status, and quantity. Required: an array of MenuItemInventory objects, each identifying the menu item by multiLocationId or guid and carrying a status of IN_STOCK, OUT_OF_STOCK, or QUANTITY; items with status QUANTITY also require a quantity greater than 0.
list_all_toast_published_packaging_configs
Get a Toast restaurant's published packaging configuration. Returns the PackagingConfig object as `attributes`, covering the restaurant's overall packaging preferences and the packaging item identifiers that can be included in takeout or delivery orders. A 200 is returned even when no configuration is published, in which case an empty, disabled configuration is returned.
list_all_toast_export_item_fulfillments
Export item fulfillments from Toast for a single, specified business date. Returns an array of ItemFulfillment records including their id; returns no data when the restaurant lacks an active Toast Restaurant Management Suite Pro (or higher) subscription. Required: businessDate (YYYYMMDD format).
list_all_toast_published_prep_stations
List all prep stations configured for a Toast restaurant — the locations of kitchen printers or KDS devices that receive orders for fulfillment. Returns prep station records with their id (Toast GUID). Optional lastModified filter returns only stations created or modified after that date-time; up to 1000 stations per response.
get_single_toast_published_prep_station_by_id
Get a single Toast prep station by id — a prep station is the location of a kitchen printer or KDS device that receives orders for fulfillment. Returns the prep station record with its id (Toast GUID). Required: id (the prep station GUID).
list_all_toast_device_infos
List device details for a Toast restaurant location, including POS terminals, handheld devices, and printers. Returns Device records with an id and an attributes object containing the device fields defined by the Toast Device schema.
create_a_toast_authentication_login
Request a Toast authentication token by exchanging your Toast API client credentials. Returns: status. Required: clientId, clientSecret, and userAccessType (must be TOAST_MACHINE_CLIENT).
list_all_toast_employees
List all employees for a Toast restaurant. Returns an array of employee objects including id, email, firstName, lastName, jobReferences, wageOverrides, and deleted status. Optionally filter by employeeIds (repeatable, maximum 100).
create_a_toast_employee
Create a new restaurant employee record in Toast. Returns the created employee including id, guid, email, firstName, lastName, and wageOverrides. Send an Employee object containing the employee's name and email address, with optional external identifiers and per-job wage overrides.
get_single_toast_employee_by_id
Get information about one Toast restaurant employee by id. Returns the employee object including id, email, firstName, lastName, jobReferences, wageOverrides, and deleted status. Required: id (a Toast platform GUID or external identifier).
update_a_toast_employee_by_id
Update a Toast restaurant employee's firstName, chosenName, lastName, externalEmployeeId, and/or Toast POS passcode; no other employee information can be patched. Returns the updated employee record including id, email, firstName, lastName, and jobReferences. Required: id. At least one body value must be included, and passcode changes must also include currentPasscode.
delete_a_toast_employee_by_id
Delete a Toast restaurant employee by marking the record as deleted; deleted employees cannot sign in at the restaurant or open new time entries. Returns the deleted employee object including id, email, firstName, lastName, deleted, and deletedDate. Required: id. Employees with open time entries cannot be deleted.
create_a_toast_employee_external_id
Add an external identifier to an existing Toast employee. Returns the updated employee record including id, externalId, firstName, lastName, and email. Required: employee_id and the string value of the external identifier in the body. Cannot change an existing external identifier with this method — use update instead.
toast_employee_external_ids_bulk_update
Add or replace the external identifier for an existing Toast employee. Returns the updated employee record including id, externalId, firstName, lastName, and email. Required: employee_id and the string value of the external identifier in the body. Changing an existing external identifier may affect Toast reporting and functions that select employees by externalId.
toast_employee_unarchives_bulk_update
Unarchive a previously archived Toast employee, restoring Toast POS and Toast Web sign-in and all previously assigned jobs. Returns the updated employee record with guid, email, firstName, lastName, jobReferences, and wageOverrides. Required: employee_id. The employee must be currently archived; swipe cards are not re-associated.
toast_employee_jobs_bulk_update
Replace the list of jobs assigned to a toast employee. Sends a bare JSON array of job identifiers (each a guid or externalId) and returns the updated employee record with the new jobReferences, entityType, externalId, names, email, and wageOverrides. Note: a job defined at the restaurant group or subgroup level is added or removed for the employee at all restaurant locations in the group or…
toast_employee_wage_overrides_bulk_update
Replace the wage overrides for the jobs assigned to an employee in Toast. Returns the updated employee record including entityType, firstName, lastName, email, jobReferences, and wageOverrides. Required: employee_id plus a body array of wage overrides (jobReference.guid, wage). The wage is specified in U.S. dollars, and any existing override omitted from the array is removed from the employee…
list_all_toast_shifts
List Toast schedule shifts for restaurant employees. Returns an array of Shift objects including externalId, entityType, jobReference, employeeReference, inDate, and outDate. Filters by shiftIds and/or a startDate/endDate window (required if shiftIds is omitted, max one month).
create_a_toast_shift
Create a Toast schedule shift for a restaurant employee. Returns the created Shift object including externalId, entityType, jobReference, employeeReference, inDate, and outDate. Requires jobReference, employeeReference, inDate, and outDate.
get_single_toast_shift_by_id
Get a single Toast schedule shift by id. Returns the Shift object including externalId, entityType, jobReference, employeeReference, inDate, and outDate. Required: id (the Toast platform GUID or an external identifier for the shift).
update_a_toast_shift_by_id
Fully replace an existing Toast schedule shift by id (a PUT overwrites the record's information). Returns the updated Shift object including externalId, entityType, jobReference, employeeReference, inDate, and outDate. Requires id plus jobReference, employeeReference, inDate, and outDate; externalId is not allowed on updates.
delete_a_toast_shift_by_id
Delete a Toast schedule shift by id (marks the record as deleted; deleting an already-deleted shift still succeeds with no change). Returns the shift with the deleted flag set to true, including externalId, entityType, jobReference, employeeReference, inDate, and outDate. Required: id (the Toast platform GUID or an external identifier for the shift).
list_all_toast_jobs
List the employee jobs configured at a Toast restaurant. Returns the matching job records including their guid and externalId identifiers. By default, deleted jobs are excluded from the array.
get_single_toast_job_by_id
Get a single Toast job by id, where id may be the Toast platform GUID or an external identifier assigned by the client. Returns the Job object for one employee job at a restaurant, including its guid, name, wage information, and externalId.
create_a_toast_job_external_id
Add an external identifier to an existing job in Toast. Returns the updated job record including its guid, entityType, and externalId. An existing external identifier cannot be changed with another POST. Requires job_id and the external identifier string value in the request body.
toast_job_external_ids_bulk_update
Add or replace the external identifier of a Toast job. The new external identifier string is sent as the raw request body; changing it may affect reporting and other Toast platform functions that select jobs by externalId. Returns the updated job record including its guid and externalId. Required: job_id.
list_all_toast_time_entries
List Toast time entries for a restaurant. Returns an array of TimeEntry objects with guid, externalId, breaks, and shift/break timing attributes. Requires one of: one or more timeEntryIds, both startDate and endDate, both modifiedStartDate and modifiedEndDate, or businessDate. Date-range periods cannot span more than one month.
get_single_toast_time_entry_by_id
Get a single Toast time entry by id. Returns a TimeEntry object describing one employee shift, including its id, clock-in inDate, and breaks with the start and end times of each break period. Required: id (a Toast platform GUID or an external identifier for the time entry).
list_all_toast_alternate_payment_types
List alternative payment types configured for a Toast restaurant — non-standard forms of payment such as third-party payment services. Returns an array of AlternatePaymentType objects with fields as defined in the Toast API reference. Up to 300 objects per page.
get_single_toast_alternate_payment_type_by_id
Get a single alternative payment type configured for a Toast restaurant — a non-standard form of payment such as a third-party payment service. Returns the AlternatePaymentType object with fields as defined in the Toast API reference. Required: id.
list_all_toast_break_types
List the Toast break types configured for a restaurant. Returns an array of BreakType objects, each including its guid, up to 300 objects per page. Pass lastModified to return only break types created or modified after a given date-time.
get_single_toast_break_type_by_id
Get a single Toast break type by id. Returns the BreakType object containing information about the break type configured for a restaurant, including its guid. Required: id.
list_all_toast_cash_drawers
List Toast cash drawer devices for a restaurant. Returns an array of CashDrawer objects, up to 300 per response, each containing information about a cash drawer device configured for the restaurant. Use last_modified to limit results to drawers created or modified after a given date-time.
get_single_toast_cash_drawer_by_id
Get a single Toast cash drawer device by id (the Toast POS GUID). Returns the CashDrawer object including its guid and device attributes. Required: id.
list_all_toast_dining_options
List dining options for a Toast restaurant — the types of service the restaurant offers, such as dine in, take out, and delivery. Returns DiningOption objects with guid, entityType, and externalId. Up to 300 objects per page.
get_single_toast_dining_option_by_id
Get a single Toast dining option by id — a type of service offered by the restaurant (e.g. dine in, take out, delivery). Returns a DiningOption object with guid, entityType, and externalId. Required: id.
list_all_toast_discounts
List discount configurations for a Toast restaurant. Returns an array of Discount records, each including its guid. Max 300 records per page.
get_single_toast_discount_by_id
Get a single Toast discount configuration by id. Returns the Discount object including the discount's Toast POS guid. Required: id.
list_all_toast_menu_groups
List the Toast menu groups configured for a restaurant. Returns an array of MenuGroup objects, each with its guid and menu-section attributes. Up to 300 groups per page.
get_single_toast_menu_group_by_id
Get a single Toast menu group by id. Returns the MenuGroup object with its guid and menu-section attributes. Required: id.
list_all_toast_menu_items
List Toast menu items and modifiers available from a restaurant. Returns MenuItem records including guid, entityType, and externalId. Up to 300 items per response.
get_single_toast_menu_item_by_id
Get a single Toast menu item or modifier by id. Returns the MenuItem record including its guid, entityType, and externalId. Required: id.
list_all_toast_menu_option_groups
List Toast modifier groups (menu option groups) — for example, a salad dressings group for a salad menu item. Returns an array of MenuOptionGroup records, each with its id and modifier-group attributes defined by the Toast Configuration API data definition. Up to 300 objects per page.
get_single_toast_menu_option_group_by_id
Get a single Toast modifier group (menu option group) by id — for example, the salad dressings group for a salad menu item. Returns the MenuOptionGroup record with its id and modifier-group attributes defined by the Toast Configuration API data definition. Required: id.
list_all_toast_pre_modifiers
List the pre-modifiers configured for a Toast restaurant. Returns an array of PreModifier objects with guid, entityType, and externalId. Optionally filter with lastModified to only objects created or modified after that timestamp. Max 300 per page.
get_single_toast_pre_modifier_by_id
Get a single pre-modifier from Toast by id. Returns the PreModifier object with guid, entityType, and externalId. Required: id.
list_all_toast_pre_modifier_groups
List Toast pre-modifier groups configured for a restaurant. Returns an array of PreModifierGroup objects (up to 300 per response) whose fields are defined upstream and not enumerated in the available documentation. Optional: lastModified limits results to objects created or modified after a given date-time.
get_single_toast_pre_modifier_group_by_id
Get a single Toast pre-modifier group by id. Returns the PreModifierGroup object containing information about the pre-modifier group; its fields are defined upstream and not enumerated in the available documentation. Required: id.
list_all_toast_no_sale_reasons
List the no sale reasons configured for a Toast restaurant. Returns an array of NoSaleReason objects, each including its name. Max 300 objects per page.
get_single_toast_no_sale_reason_by_id
Get a single no sale reason in Toast by id. Returns the NoSaleReason object identified by its guid (the Toast POS GUID of the no sale reason). Required: id.
list_all_toast_payout_reasons
List the payout reasons pre-configured for a restaurant in Toast — recurring restaurant expenses that are paid in cash (e.g. window-washing services). Returns an array of PayoutReason objects, each including its guid. Up to 300 payout reasons per page.
get_single_toast_payout_reason_by_id
Get a Toast payout reason by id. Returns a PayoutReason object describing a recurring restaurant expense that is paid in cash, identified by its guid. Payout reasons are pre-configured for a restaurant, so this only reads existing records. Required: id.
list_all_toast_price_groups
List Toast price groups (variable price levels configured for menu items) at a restaurant. Returns: guid, name. Supports a lastModified filter for objects created or modified after a given date-time; up to 300 price groups per page.
get_single_toast_price_group_by_id
Get a single Toast price group (a variable price level for menu items) by id. Returns the PriceGroup object including its guid, entityType, and externalId. Required: id.
list_all_toast_printers
List the printers configured for a Toast restaurant. Returns Printer records, each with its id (the printer's Toast POS GUID) plus the remaining fields of the upstream Printer schema as attributes. Supports a lastModified date-time filter and returns up to 300 printers per page.
get_single_toast_printer_by_id
Get a single printer configured for a Toast restaurant by id (the printer's Toast POS GUID). Returns the Printer record with its id plus the remaining fields of the upstream Printer schema as attributes. Required: id.
list_all_toast_sales_categories
List the menu item sales categories (for example food or alcohol) used to analyze purchases at a Toast restaurant. Returns the SalesCategory record including its id and guid. Up to 300 per page.
get_single_toast_sales_category_by_id
Get a single menu item sales category in Toast by id. Returns the SalesCategory record including its id and guid. Required: id.
list_all_toast_service_areas
List the service areas configured in Toast — the physical settings a restaurant serves customers in, such as a dining room or patio. Returns an array of ServiceArea records, each with its id and upstream-defined attributes. Up to 300 per page.
get_single_toast_service_area_by_id
Get a single service area in Toast by id — a physical setting the restaurant serves customers in, such as a dining room or patio. Returns the ServiceArea record with its id and upstream-defined attributes. Required: id.
list_all_toast_service_charges
List Toast service charge types — the fees a restaurant applies to sales, such as an automatic gratuity for large parties. Returns each ServiceCharge's guid plus its fee attributes, up to 300 per page. Optionally limits results to objects created or modified after a given date-time via lastModified.
get_single_toast_service_charge_by_id
Get a single Toast service charge type by id — a fee a restaurant applies to sales, such as an automatic gratuity for large parties. Returns the ServiceCharge's guid plus its fee attributes. Required: id.
list_all_toast_revenue_centers
List Toast revenue centers, the segments used to divide restaurant income for reporting. Returns an array of records with id and attributes (upstream RevenueCenter fields). Maximum 300 items per page.
get_single_toast_revenue_center_by_id
Get a single Toast revenue center by id. Returns a RevenueCenter object with information about a segment of restaurant income for reporting, including its id and attributes. Required: id.
list_all_toast_restaurant_services
List Toast restaurant service periods, the types of menu and dining a restaurant offers (e.g. lunch and dinner services). Returns: guid, entityType, name, id, attributes. Optionally filter by lastModified. Max 300 per page.
get_single_toast_restaurant_service_by_id
Get a single Toast restaurant service period by id. Returns the RestaurantService object with its id, guid, and content-specific attributes. Required: id.
list_all_toast_tables
List the dining tables configured for a Toast restaurant, optionally limited to those created or modified after a lastModified timestamp. Returns: guid, name. Max 300 tables per page.
get_single_toast_table_by_id
Get a single dining table configured for a Toast restaurant by id. Returns the Table object for that guid: guid plus the Table attributes defined in the Configuration API data definitions. Required: id.
list_all_toast_tax_rates
List Toast tax rates, the forms of taxation applied to sales at a restaurant. Returns TaxRate objects identified by their guid. Supports a lastModified filter. Max 300 per page.
get_single_toast_tax_rate_by_id
Get a single Toast tax rate by id. Returns the tax rate's guid and configuration attributes. Required: id.
list_all_toast_tip_withholdings
Get the tip withholding configuration for a Toast restaurant — the percentage of employees' credit card tips the restaurant keeps to cover credit card processing fees. Returns a TipWithholding configuration object (the upstream reference documents this response by schema reference without enumerating its fields).
list_all_toast_void_reasons
List Toast void sale reasons configured for a restaurant — the causes for making a sale invalid. Returns: guid, entityType, name. Optional: lastModified filter. Up to 300 per page.
get_single_toast_void_reason_by_id
Get a single Toast void sale reason by id (Toast GUID). Returns: guid, entityType, name. Required: id.
create_a_toast_menu_reporting
Create a Toast menu reporting data request for a custom time range. Returns the reportRequestGuid used to retrieve the data via the list method. Required: startBusinessDate, endBusinessDate.
list_all_toast_menu_reporting
Get the menu reporting data for a report request in Toast. Returns the menu reporting data object with fields that depend on the requested time range and aggregation; generation is asynchronous, so poll with the same report_request_guid until the data is ready. Required: report_request_guid.
Why Truto
Why use Truto’s MCP server for Toast
Other MCP servers give you a static tool list for one app. Truto gives you a managed, multi-tenant MCP infrastructure across 800+ integrations.
Auto-generated, always up to date
Tools are dynamically generated from curated documentation — not hand-coded. As integrations evolve, tools stay current without manual maintenance.
Fine-grained access control
Scope each MCP server to read-only, write-only, specific methods, or tagged tool groups. Expose only what your AI agent needs — nothing more.
Multi-tenant by design
Each MCP server is scoped to a single connected account with its own credentials. The URL itself is the auth token — no shared secrets, no credential leaking across tenants.
Works with every MCP client
Standard JSON-RPC 2.0 protocol. Paste the URL into Claude, ChatGPT, Cursor, or any MCP-compatible agent framework — tools are discovered automatically.
Built-in auth, rate limits, and error handling
Tool calls execute through Truto’s proxy layer with automatic OAuth refresh, rate-limit handling, and normalized error responses. No raw API plumbing in your agent.
Expiring and auditable servers
Create time-limited MCP servers for contractors or automated workflows. Optional dual-auth requires both the URL and a Truto API token for high-security environments.
How It Works
From zero to integrated
Go live with Toast in under an hour. No boilerplate, no maintenance burden.
Link your customer’s Toast account
Use Truto’s frontend SDK to connect your customer’s Toast account. We handle all OAuth and API key flows — you don’t need to create the OAuth app.
We handle authentication
Don’t spend time refreshing access tokens or figuring out secure storage. We handle it and inject credentials into every API request.
Call our API, we call Toast
Truto’s Proxy API is a 1-to-1 mapping of the Toast API. You call us, we call Toast, and pass the response back in the same cycle.
Unified response format
Every response follows a single format across all integrations. We translate Toast’s pagination into unified cursor-based pagination. Data is always in the result attribute.
FAQs
Common questions about Toast on Truto
Authentication, rate limits, data freshness, and everything else you need to know before you integrate.
How does authentication work for Toast through Truto?
Truto handles the Toast authentication login flow and token lifecycle for you. Your end users connect their Toast account via Truto's connected account UI or API, and Truto manages access tokens, refresh, and per-restaurant scoping so your app only works with authorized restaurant GUIDs.
Can we work with multi-location restaurant groups?
Yes. Toast exposes group and connected restaurant endpoints, and Truto surfaces restaurants, group restaurants, and connected restaurants so you can enumerate every location under a management group and run operations (like bulk inventory updates) across them.
How fresh is the data — is it polling or push?
Toast's APIs are primarily request/response, so Truto fetches on demand or on a schedule you define. For menus you can use the metadata endpoint's last-modified timestamps to skip unchanged payloads, and for reporting data like payouts and labor you request a report for a business date range and retrieve results once ready.
What operations are supported — read-only or full read/write?
Both. You can read menus, orders, payments, time entries, employees, shifts, inventory, and reporting objects, and write orders, checks, payments, discounts, employees, shifts, wage overrides, external IDs, inventory updates, and delivery info updates (including bulk variants where Toast supports them).
Does Truto support bulk operations that Toast exposes?
Yes. Toast-specific bulk endpoints are available through Truto, including bulk order delivery info updates, bulk inventory updates, bulk employee external IDs, employee unarchives, employee jobs, employee wage overrides, job external IDs, and check applied loyalty info updates.
How are pagination and rate limits handled?
Truto normalizes Toast's pagination so you can iterate list endpoints (orders, checks, time entries, shifts, employees, etc.) without handling cursors or page tokens yourself, and transparently manages retries and backoff when Toast rate limits are hit.
Toast
Get Toast integrated into your app
Our team understands what it takes to make a Toast integration successful. A short, crisp 30 minute call with folks who understand the problem.