Supergood | NCR Aloha API
Programmatically access NCR Aloha restaurant data—menus, items/modifiers, orders/checks, tenders, and sales summaries—through a stable REST API. Supergood builds and operates production-grade, unofficial NCR Aloha integrations so your team can sync online orders, automate menu updates, and export sales without heavy custom engineering.
In plain English: NCR Aloha is a point-of-sale (POS) system used by restaurants to take orders, send them to the kitchen, process payments, and report sales. With an unofficial API, you can pull menus and item availability, push paid online orders directly to the POS, and export end-of-day sales for accounting and analytics.
If you’re a tech company integrating with NCR Aloha, you could ingest normalized menus for your ordering channels, keep items and modifiers in sync, create checks with the right revenue centers and dining options, and pull transaction data for reconciliation. Delivery platforms can push orders into the kitchen with pickup/delivery timestamps; accounting systems can retrieve taxed sales and tender breakdowns; labor and analytics tools can map checks, discounts, and service charges to a single schema.
What is NCR Aloha?
NCR Aloha (now part of NCR Voyix) is a restaurant POS platform used by single- and multi-unit operators. It spans front-of-house ordering and payments, kitchen routing, reporting, and back-office tools—available in both cloud and legacy on-prem deployments.
Core product areas include:
- Order and Payment Processing (FOH POS, tables, checks, tenders)
- Menu and Pricing (categories, items, modifiers, price levels, dayparts)
- Kitchen and Service (KDS routing, order statuses, revenue centers)
- Reporting and Analytics (sales, taxes, discounts, item-level performance)
- Back Office (employee roles, timekeeping, basic inventory in some configurations)
Common data entities:
- Locations and revenue centers
- Menus, categories, items, modifiers, price levels
- Orders/checks (items, voids, discounts, service charges)
- Payments/tenders (cash, card, gift, external/online)
- Taxes, tips, surcharges, and comps
- Employees (servers, cashiers) and customer notes (where supported)
The NCR Aloha Integration Challenge
Restaurants rely on Aloha daily, but turning POS workflows into automated, real-time integrations can be difficult:
- Product and version sprawl: Aloha Cloud vs. legacy on-prem installations behave differently, and capabilities vary by module and licensing
- Partner-gated access and fees: APIs and export feeds often require paid add-ons and marketplace/partner agreements—costs can scale per location
- Portal-first experiences: Many critical actions (menu edits, 86ing items, report downloads) live in the UI; public APIs may be limited or inconsistent
- Network and security constraints: On-prem stores sit behind firewalls; headless automation must maintain secure, durable connectivity
- Data latency: Official exports can be scheduled in batches; out-of-the-box real-time webhooks aren’t always available
- Schema drift: Menu structures, taxes, and price levels differ by store and daypart, complicating normalized pipelines
How Supergood Creates NCR Aloha APIs
Supergood reverse-engineers authenticated browser flows and network interactions to deliver a resilient API endpoint layer for your Aloha workflows.
- Handles username/password, SSO/OAuth, and MFA (SMS, email, TOTP) securely
- Maintains session continuity with automated refresh, change detection, and store switching
- Normalizes responses across locations and versions so you can integrate once
- Aligns with customer entitlements and licensing constraints to ensure compliant access
- Supports on-prem environments via a lightweight, secure connector for store-level access when required
Use Cases
Online Ordering and Delivery Injection
- Push paid orders into Aloha with correct revenue center and dining option
- Send items/modifiers to the KDS with promised times and customer notes
- Mark checks as paid with external tenders for clean reconciliation
Unified Menu and Availability Management
- Pull menu trees (categories, items, modifiers, price levels) for each location
- Detect daypart- and location-specific variations and normalize for channels
- Toggle item availability (86) or update price levels programmatically
Sales Export and Accounting Reconciliation
- Retrieve end-of-day (EOD) and intraday sales with taxes, tips, surcharges
- Break down tenders (cash, card, gift, external) and discounts/comps
- Feed normalized transactions into your data warehouse or GL mappings
Store Ops and Service Insights
- Track order status changes (bumped, voided, reopened) for service metrics
- Aggregate item- and modifier-level performance across locations
- Power dashboards without manual report exports
Available Endpoints
Authentication
POST /auth/sessions: Establish a session using credentials. Supergood manages MFA and SSO/OAuth when enabled. Returns a short-lived auth token and accessible locations.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/auth/sessions \
--header 'Authorization: Basic <Base64 encoded token>' \
--header 'Content-Type: application/json' \
--data '{
"username": "[email protected]",
"password": "<password>",
"mfa": { "type": "totp", "code": "123456" },
"ssoProvider": null
}'
Example response
{
"authToken": "eyJhbGciOi...",
"expiresIn": 3600,
"user": {
"id": "u_2c31d7",
"name": "Store Manager",
"entitlements": ["menus", "orders", "reports"]
},
"locations": [
{"locationId": "loc_101", "name": "Downtown", "timeZone": "America/Chicago"},
{"locationId": "loc_202", "name": "Airport", "timeZone": "America/Chicago"}
]
}
POST /auth/sessions/refresh: Refresh an existing token to keep sessions uninterrupted.
Menus
GET /menus: Retrieve the current menu structure for a location, including categories, items, modifiers, and price levels.
curl --request GET \
--url 'https://api.supergood.ai/integrations/<integration_id>/menus?locationId=loc_101&include=modifiers,priceLevels' \
--header 'Authorization: Bearer <authToken>'
Example response
{
"locationId": "loc_101",
"menuVersion": "v_20260122_1505",
"categories": [
{"categoryId": "cat_burgers", "name": "Burgers", "position": 1},
{"categoryId": "cat_sides", "name": "Sides", "position": 2}
],
"items": [
{
"itemId": "itm_ClassicBurger",
"name": "Classic Burger",
"categoryId": "cat_burgers",
"basePrice": 9.99,
"priceLevels": {"lunch": 9.49, "dinner": 9.99},
"taxCategory": "prepared_food",
"available": true,
"modifierGroups": [
{
"groupId": "modg_cheese",
"name": "Cheese",
"min": 0,
"max": 2,
"modifiers": [
{"modifierId": "mod_american", "name": "American", "price": 0.5},
{"modifierId": "mod_cheddar", "name": "Cheddar", "price": 0.5}
]
}
]
}
],
"dayparts": [
{"id": "lunch", "start": "11:00", "end": "15:59"},
{"id": "dinner", "start": "16:00", "end": "22:00"}
]
}
Orders
POST /orders: Create a new check/order in Aloha for a given location and revenue center. Supports external (already paid) tenders for online orders.
curl --request POST \
--url https://api.supergood.ai/integrations/<integration_id>/orders \
--header 'Authorization: Bearer <authToken>' \
--header 'Content-Type: application/json' \
--data '{
"locationId": "loc_101",
"revenueCenterId": "rc_to_go",
"orderType": "takeout",
"source": "online",
"diningOption": "pickup",
"promisedTime": "2026-01-24T18:15:00-06:00",
"guestCount": 1,
"serverId": "emp_8842",
"externalOrderId": "doo-991122",
"customer": {
"name": "Jordan Lee",
"phone": "+13125551234",
"notes": "No onions"
},
"items": [
{
"itemId": "itm_ClassicBurger",
"quantity": 1,
"priceLevel": "lunch",
"modifiers": [
{"modifierId": "mod_cheddar", "quantity": 1}
],
"notes": "Medium rare"
},
{
"itemId": "itm_Fries",
"quantity": 1
}
],
"discounts": [
{"code": "ONLINE10", "amount": 1.00, "type": "amount"}
],
"tenders": [
{
"type": "external",
"provider": "stripe",
"amount": 12.34,
"tipAmount": 2.00,
"reference": "pi_3L...",
"last4": null
}
],
"sendToKitchen": true
}'
Example response
{
"orderId": "ord_7a2f91",
"checkNumber": 4821,
"locationId": "loc_101",
"status": "open",
"kds": {"routed": true, "station": "Expo"},
"totals": {"subtotal": 10.49, "discounts": 1.00, "tax": 0.85, "tips": 2.00, "grandTotal": 12.34},
"createdAt": "2026-01-24T18:02:11-06:00",
"externalOrderId": "doo-991122"
}
Sales
GET /sales/transactions: Retrieve normalized checks/transactions for a date range, with tender and tax breakdowns for reconciliation and analytics.
curl --request GET \
--url 'https://api.supergood.ai/integrations/<integration_id>/sales/transactions?locationId=loc_101&from=2026-01-24&to=2026-01-24&status=closed' \
--header 'Authorization: Bearer <authToken>'
Example response
{
"locationId": "loc_101",
"from": "2026-01-24",
"to": "2026-01-24",
"transactions": [
{
"orderId": "ord_7a2f91",
"checkNumber": 4821,
"closedAt": "2026-01-24T18:18:47-06:00",
"orderType": "takeout",
"revenueCenterId": "rc_to_go",
"totals": {
"subtotal": 10.49,
"discounts": 1.00,
"serviceCharges": 0.00,
"tax": 0.85,
"tips": 2.00,
"grandTotal": 12.34
},
"tenders": [
{"type": "external", "provider": "stripe", "amount": 12.34}
],
"taxLines": [
{"name": "Sales Tax", "rate": 0.0825, "amount": 0.85}
],
"items": [
{
"itemId": "itm_ClassicBurger",
"name": "Classic Burger",
"quantity": 1,
"net": 9.99,
"modifiers": [
{"modifierId": "mod_cheddar", "name": "Cheddar", "amount": 0.50}
]
},
{"itemId": "itm_Fries", "name": "Fries", "quantity": 1, "net": 2.00}
],
"voids": [],
"discounts": [
{"code": "ONLINE10", "amount": 1.00, "reason": "Promo"}
]
}
],
"pagination": {"next": null}
}
Technical Specifications
- Authentication: Username/password with MFA (SMS, email, TOTP) and SSO/OAuth where enabled; supports service accounts or customer-managed credentials
- Response format: JSON with consistent resource schemas and pagination across Aloha Cloud and supported on-prem footprints
- Rate limits: Tuned for enterprise throughput while honoring licensing and usage controls
- Session management: Automatic reauth and cookie/session rotation with health checks and store selection
- Data freshness: Near real-time retrieval of menus and orders; intraday and EOD sales exports
- Security: Encrypted transport, scoped tokens, and audit logging; respects Aloha entitlements; no storage of raw card PANs—external tenders only
- Webhooks: Optional asynchronous delivery for order status updates and batched sales closures
Performance Characteristics
- Latency: Sub-second responses for list/detail queries under normal load
- Throughput: Designed for high-volume order injection and multi-location menu sync
- Reliability: Retry logic, backoff, and idempotency keys minimize duplicate actions
- Adaptation: Continuous monitoring for UI/API changes with rapid adapter updates across Aloha versions
Getting Started
- Schedule Integration Assessment
Book a 30-minute session to confirm your Aloha product mix, licensing, and authentication model.
- Supergood Builds and Validates Your API
We deliver a hardened Aloha adapter tailored to your workflows and entitlements.
- Deploy with Monitoring
Go live with continuous monitoring and automatic adjustments as Aloha evolves.
Frequently Asked Questions
Q: Which NCR Aloha products can this integration cover?
Supergood supports Aloha Cloud and selected on-prem Aloha environments that expose functionality via authenticated portals or partner endpoints. Coverage depends on your licensing and modules (e.g., menu management, reporting). We scope specifics during integration assessment.
Q: We’ve heard Aloha APIs are expensive or limited—how do you handle that?
Access to certain datasets and actions is often gated behind paid add-ons and partner agreements, sometimes priced per location. Supergood operates strictly within your licensed entitlements. Where real-time APIs aren’t available, we automate portal workflows and exports to deliver equivalent outcomes with auditability.
Q: Can you inject paid online orders and route them to the KDS?
Yes. We support creating checks with external tenders, assigning the appropriate revenue center and dining option, and sending to the kitchen. We return Aloha order/check identifiers for reconciliation.
Q: How do you manage multi-location menu differences and 86ing?
We normalize menu trees, dayparts, and price levels across stores to a common schema. You can programmatically toggle item availability and detect location-specific overrides.
Q: How is security handled for on-prem stores behind firewalls?
We can deploy a lightweight connector that establishes outbound-only, encrypted channels to Supergood. Credentials and MFA challenges are stored and handled securely with audit logging and rotation.
Q: Do you export raw card data for payments?
No. We do not handle raw card PANs. For reconciliation, we surface tender types, amounts, tips, and references/tokens (e.g., auth IDs) where available.
Related Integrations
Toast POS API - Programmatically access Toast for restaurants with Supergood
Ready to automate your NCR Aloha workflows?
Supergood can have your Aloha integration live in days with no ongoing engineering maintenance.