Supergood | TouchBistro API
Programmatically access TouchBistro restaurant POS data—menus, orders, tables, payments, guests, and reservations—with a stable REST API. Supergood builds and operates production-grade, unofficial TouchBistro integrations so your team can automate FOH/BOH workflows without heavy custom engineering.
Plain English: TouchBistro is iPad-based restaurant POS software used by cafes, bars, and full-service restaurants to manage menus, tables, orders, inventory, staff, loyalty, reservations, and payments. An unofficial API lets you programmatically pull live orders and checks, menu items and modifiers, table status and seatings, payments and tips, reservations and guest profiles, and inventory levels—and push price updates, item availability, discounts/promotions, online orders, seatings, and refunds back into TouchBistro.
For a tech company integrating with TouchBistro, this means you can ingest real-time order and payment data to power dashboards and analytics, sync settlements to accounting (e.g., QuickBooks, Xero), update menus from your catalog/PIM, automate out-of-stock flags from your inventory system, route online or kiosk orders into the POS, enrich your CRM with guest and reservation activity, and keep table management and staff systems in lockstep.
What is TouchBistro?
TouchBistro (https://www.touchbistro.com/) is a restaurant point-of-sale platform that centralizes front-of-house operations, menu and inventory control, payments, guest engagement, and reporting across single-location and multi-location hospitality businesses. Teams use TouchBistro to run tableside ordering, manage menus and modifiers, track table status and seatings, process payments and tips, manage reservations and loyalty programs, and reconcile end-of-day reports.
Core product areas include:
- POS & Ordering (Tables, Checks/Tabs, Split Bills, Modifiers, Combos)
- Menu & Inventory Management (Menu Items, Categories, Modifier Groups, Availability, Ingredients)
- Payments & Financials (Card Processing, Tips, Refunds/Void, Discounts, Taxes, Gift Cards)
- Guest Experience (Reservations, Online Ordering, Loyalty, Promotions, Receipts)
- Staff & Operations (Users, Roles/Permissions, Shifts/Time Clock, Floor Plan, KDS)
Common data entities:
- Restaurants/Locations and Devices
- Users/Staff and Roles/Permissions
- Tables/Sections and Seatings
- Orders/Checks and Order Items/Modifiers
- Menus, Categories, Menu Items, Modifier Groups
- Inventory Items and Ingredients
- Customers/Guests and Reservations
- Payments/Transactions, Tips, Discounts, Taxes
The TouchBistro Integration Challenge
Restaurant teams rely on TouchBistro every service, but turning POS-centric workflows into API-driven automation is non-trivial:
- Offline-first devices: iPad terminals can operate offline and sync later, complicating real-time data capture and idempotency
- Complex order structures: Split checks, shared items, nested modifiers, combos, and voids require careful normalization
- Payments and tips: PCI constraints, tokenized cards, partial authorizations, refunds/chargebacks, and tip adjustments must be modeled precisely
- Multi-module data: Reservations, loyalty, and online ordering may be separate modules with different views and entitlements
- Multi-location menus: Price overrides, item availability, and specials vary by venue and time/day
- Export friction: Many operators rely on emailed reports/CSV exports; direct APIs may be limited to partners or incur additional fees, slowing automation
- Authentication complexity: Device-based sessions, staff roles, and MFA/SSO for back-office portals complicate headless integration
How Supergood Creates TouchBistro APIs
Supergood reverse-engineers authenticated browser and device flows to deliver a resilient API endpoint layer for your TouchBistro tenant.
- Handles username/password, partner portals, and MFA (SMS, email, TOTP) securely
- Maintains session continuity with automated refresh, device-aware cookies, and change detection
- Normalizes nested POS structures (modifiers, splits, discounts, taxes) into consistent schemas
- Aligns with customer entitlements and role-based permissions to ensure compliant access
- Manages offline/online state and reconciliation to prevent duplicates and lost events
Use Cases
Order & Guest Data Sync
- Mirror orders, checks, and payments into internal systems for analytics and operations
- Enrich CRM with guest profiles, reservations, and visit history
- Keep service type (dine-in/takeout/delivery) and table status accurate for dispatch and staffing
Menu & Pricing Automation
- Update prices, modifier availability, and daily specials from your catalog/PIM
- Push out-of-stock flags based on inventory and supplier feeds
- Coordinate menu changes across multi-location footprints with time-boxed promotions
Tables & FOH Operations
- Ingest table/section seatings to power waitlist and host workflows
- Sync KDS statuses and order progress to your kitchen orchestration or delivery systems
- Trigger notifications to front-of-house staff based on SLA breaches
Payments & Accounting Sync
- Normalize transactions, tips, discounts, and taxes for ERP/accounting (e.g., QuickBooks, Xero)
- Automate refunds and partial voids with audit trails
- Reconcile settlements with gateway/batch reports and flag variance
Available Endpoints
Authentication
POST /sessions: Establish a session using credentials. Supergood manages MFA (SMS, email, TOTP) and SSO/partner portal flows when enabled. Returns a short-lived auth token maintained by the platform.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/sessions \
--header 'Authorization: Basic <Base64 encoded token>' \
--header 'Content-Type: application/json' \
--data '{
"username": "[email protected]",
"password": "<password>",
"mfa": { "type": "totp", "code": "123456" }
}'
Example response
{
"authToken": "eyJhbGciOi...",
"expiresIn": 3600,
"user": {
"id": "u_tb_7a29c1",
"name": "General Manager",
"entitlements": ["orders", "menus", "payments", "tables", "reservations"]
}
}
POST /sessions/refresh: Refresh an existing token to keep sessions uninterrupted.
Orders
GET /orders: List orders/checks with filters and summary details.
Query parameters
- restaurantId: string
- locationId: string
- status: open | closed | voided | refunded
- serviceType: dine_in | takeout | delivery | bar
- tableId: string
- updatedFrom, updatedTo: ISO 8601 timestamps
- page, pageSize: integers for pagination
Example response
{
"items": [
{
"orderId": "ord_tb_21f9e0",
"checkNumber": 417,
"locationId": "loc_chelsea",
"deviceId": "ipad_03",
"status": "closed",
"serviceType": "dine_in",
"table": { "tableId": "tbl_12", "name": "Table 12", "covers": 3 },
"server": { "staffId": "stf_8392", "name": "Ava" },
"items": [
{
"lineId": "ln_001",
"menuItemId": "mi_burger_classic",
"name": "Classic Burger",
"quantity": 2,
"unitPrice": 12.50,
"modifiers": [
{ "group": "Cheese", "name": "Cheddar", "price": 1.00 },
{ "group": "Doneness", "name": "Medium", "price": 0.00 }
],
"discounts": [ { "type": "promo_code", "code": "WKND10", "amount": 2.50 } ]
},
{
"lineId": "ln_002",
"menuItemId": "mi_fries_shoe",
"name": "Shoestring Fries",
"quantity": 1,
"unitPrice": 4.00,
"modifiers": [],
"discounts": []
}
],
"subtotal": 29.00,
"discountTotal": 2.50,
"taxTotal": 2.38,
"tipTotal": 6.00,
"total": 34.88,
"payments": [
{ "paymentId": "pay_9a31e2", "method": "card", "amount": 34.88, "cardBrand": "Visa", "last4": "4242" }
],
"source": "pos",
"createdAt": "2026-01-20T18:12:03Z",
"closedAt": "2026-01-20T19:04:27Z",
"updatedAt": "2026-01-20T19:04:27Z"
}
],
"page": 1,
"pageSize": 50,
"total": 1
}
POST /orders: Create a new order/check, typically from an online ordering or kiosk flow.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/orders \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"locationId": "loc_chelsea",
"serviceType": "takeout",
"customer": {
"name": "Jordan Smith",
"phone": "+1-402-555-0198"
},
"requestedPickupTime": "2026-01-21T17:30:00Z",
"items": [
{ "menuItemId": "mi_burger_classic", "quantity": 1, "modifiers": [{ "group": "Cheese", "name": "Swiss" }] },
{ "menuItemId": "mi_soda_cola", "quantity": 1, "modifiers": [{ "group": "Size", "name": "Large" }] }
],
"discounts": [ { "type": "promo_code", "code": "FIRSTORDER" } ],
"tipTotal": 3.00,
"notes": "No pickles."
}'
Example response
{
"orderId": "ord_tb_22aa50",
"status": "open",
"checkNumber": 418,
"total": 19.25,
"createdAt": "2026-01-21T16:55:11Z"
}
Menu Items
PATCH /menu/items/{menuItemId}: Update price and availability for a menu item, including time-boxed specials.
curl --request PATCH \
--url https://api.supergood.ai/integrations/<integration_id>/menu/items/mi_burger_classic \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"price": 13.25,
"isAvailable": true,
"availability": {
"outOfStock": false,
"until": null
},
"special": {
"active": true,
"start": "2026-01-21T16:00:00Z",
"end": "2026-01-21T20:00:00Z",
"specialPrice": 11.99
}
}'
Example response
{
"menuItemId": "mi_burger_classic",
"name": "Classic Burger",
"price": 13.25,
"isAvailable": true,
"updatedAt": "2026-01-21T15:10:22Z"
}
Payments
GET /payments/transactions: List payment transactions including tips, discounts, and settlement metadata.
Query parameters
- locationId: string
- method: card | cash | gift_card | other
- status: authorized | settled | refunded | voided
- capturedFrom, capturedTo: ISO 8601 timestamps
- page, pageSize: integers for pagination
Example response
{
"items": [
{
"paymentId": "pay_9a31e2",
"orderId": "ord_tb_21f9e0",
"locationId": "loc_chelsea",
"method": "card",
"amount": 34.88,
"tip": 6.00,
"discountTotal": 2.50,
"taxTotal": 2.38,
"status": "settled",
"card": { "brand": "Visa", "last4": "4242", "token": "tok_xxx" },
"batchId": "batch_2026-01-20",
"capturedAt": "2026-01-20T19:04:29Z",
"refunded": false
}
],
"page": 1,
"pageSize": 50,
"total": 1
}
Technical Specifications
- Authentication: Username/password with MFA (SMS, email, TOTP) and SSO/partner portals where enabled; supports service accounts or customer-managed credentials
- Response format: JSON with consistent resource schemas and pagination across orders, menus, tables, payments
- Rate limits: Tuned for hospitality throughput while honoring customer entitlements and usage controls
- Session management: Automatic reauth and device/session rotation with health checks
- Data freshness: Near real-time retrieval of orders, menu updates, payments, reservations; reconciliation for offline device syncs
- Security: Encrypted transport, scoped tokens, and audit logging; respects TouchBistro role-based permissions
- Webhooks: Optional asynchronous delivery for long-running workflows (e.g., online orders, refunds, table status changes)
Performance Characteristics
- Latency: Sub-second responses for list/detail queries under normal load
- Throughput: Designed for high-volume order and payment sync across busy service windows
- Reliability: Retry logic, backoff, and idempotency keys minimize duplicate actions and reflect late-arriving device syncs
- Adaptation: Continuous monitoring for UI/API changes with rapid adapter updates
Getting Started
- Schedule Integration Assessment
Book a 30-minute session to confirm your modules, licensing, and authentication model.
- Supergood Builds and Validates Your API
We deliver a hardened TouchBistro adapter tailored to your workflows and entitlements.
- Deploy with Monitoring
Go live with continuous monitoring and automatic adjustments as TouchBistro evolves.
Frequently Asked Questions
Q: Which TouchBistro modules can this integration cover?
Supergood supports workflows across commonly used modules such as POS & Ordering (Tables, Checks, Modifiers), Menu & Inventory (Items, Categories, Availability), Payments & Financials (Card Transactions, Tips, Discounts/Taxes), and Guest Experience (Reservations, Loyalty), subject to your licensing and entitlements. We scope coverage during integration assessment.
Q: How do you handle split checks, shared items, and nested modifiers?
We normalize POS line items with explicit references for shared quantities, split allocations, and modifier hierarchies. Totals (subtotal, discounts, taxes, tips) are modeled per check and per payment to support precise reconciliation.
Q: TouchBistro devices can run offline. Will we miss data?
We track device sync states and perform reconciliation passes to capture late-arriving updates. Idempotency keys and change detection prevent duplicates while keeping downstream systems current.
Q: Can you sync payments to our accounting system?
Yes. We normalize transactions, tips, discounts, and tax breakdowns to match your ERP/accounting schema (e.g., QuickBooks, Xero) and deliver updates via webhooks or polling while complying with rate and permission constraints.
Q: Do you support reservations and loyalty data?
Where enabled, we can ingest reservations, guest profiles, and loyalty balances/activities, and expose endpoints to create/update reservations or apply promotions—aligned with your tenant's entitlements.
Q: Are refunds and voids supported?
Yes. We support creating refunds/voids with audit trails and can propagate those back to TouchBistro while preserving original order/payment references.
Related Integrations
Intralinks API - Programmatically access the Intralinks VDR with Supergood
Ready to automate your TouchBistro workflows?
Supergood can have your TouchBistro integration live in days with no ongoing engineering maintenance.