In-Store API
The In-Store API (Orbit) is a local REST service for integrating kiosks, menu boards, and other in-store applications with the PAR POS register.
Register endpoints version: v1
Audience: IT administrators and integrators
Introduction
About Orbit
Orbit is the in-store REST API for PAR POS. It allows internal, network-connected hardware — such as self-service kiosks and digital menu boards — to communicate directly with the register (Primary Terminal) at a store. Through Orbit, connected devices can read live menu and pricing data, submit and retrieve orders, check item availability, and receive real-time notifications when Register data changes.
Orbit runs locally on the store network. Devices call the Primary Terminal directly rather than a cloud endpoint, which keeps order flow fast and functional even if the store's internet connection is degraded.
Who This Guide Is For
This guide is written for IT administrators and integration developers who are connecting to the in-store PAR POS ecosystem. It assumes familiarity with REST APIs, JSON, and HTTP authentication, but does not assume prior knowledge of PAR POS internals.
Supported Use Cases
Orbit is designed to support a range of in-store use cases. Typical integrations include:
- Self-service kiosks — Build and submit customer orders, calculate pricing and tax, and check whether menu items are currently available.
- Digital menu boards — Read current menu, pricing, and item-availability data, and stay in sync using real-time price-change notifications.
Note: Orbit is a local, in-store API. Each device connects to the register(s) at its own store and does not communicate with devices at other locations.
API Versions and Base Paths
Orbit endpoints are grouped under a few different base paths, reflecting different service areas within PAR POS. All paths below are relative to the base URL of the Primary Terminal (see Base URL).
| Base Path | Purpose |
|---|---|
/v1/ |
Core connectivity endpoints: health and ping checks. |
/v2/local/ |
Local device authentication (integrator and admin token issuance). |
/api/ |
General authentication and real-time register notifications. |
/register/v1/ |
Register data and operations: orders, item availability, settings, and till reporting. |
Getting Started
Base URL
All Orbit requests are made to the Primary Terminal's local network address, for example:
https://<primary-terminal-ip>:<port>
Confirm the terminal's IP address and port with the store's network configuration or your PAR deployment contact. Orbit is served over HTTPS.
Authentication Overview
Every Orbit request (other than the authentication endpoints themselves) requires a bearer token in the Authorization header:
Authorization: Bearer <token>
Tokens are issued by one of the Authentication endpoints, and expire at the time returned in the response. Request a new token before the current one expires to avoid interrupted service.
Required Headers
Most register-facing endpoints (under /register/v1/) require a RequestId header. Orbit uses this value to trace an individual request through the system for diagnostics and support — it is not an order number or a value the register interprets.
| Header | Required | Description |
|---|---|---|
Authorization |
Yes (except auth endpoints) | Bearer token issued by an authentication endpoint. |
RequestId |
Yes, on most /register/v1/ endpoints |
Caller-generated identifier (e.g. a GUID) used for request tracing. |
Content-Type |
Yes, on POST requests | application/json |
Tip: Generate a fresh
RequestIdfor every call. Reusing the same value across requests makes it harder to trace individual calls if you need to troubleshoot with PAR support.
Authentication
Orbit issues bearer tokens from three endpoints. Use the integrator endpoint for unattended hardware, username and password authentication for attended tools, and the admin endpoint to elevate an existing session.
POST /v2/local/Authentication/integrator
Authenticates an unattended device. This is the recommended authentication method for kiosks and other hardware.
Request body: LocalAuthenticationRequest
| Field | Type | Required | Description |
|---|---|---|---|
integratorId |
string (uuid) | Yes | The provisioned integrator ID for the device. |
{
"integratorId": "00000000-0000-0000-0000-000000000000"
}
POST /v2/local/Authentication/admin
Elevates a session to admin-level access.
Request body: LocalAdminAuthenticationRequest
| Field | Type | Required | Description |
|---|---|---|---|
token |
string | Yes | An existing valid token to exchange for admin-level access. Minimum length 1. |
This endpoint may return 428 Precondition Required when a precondition has not been met.
POST /api/Authentication/authenticate
Authenticates with a username and password.
Request body: AuthenticationRequest
| Field | Type | Required | Description |
|---|---|---|---|
userName |
string | Yes | Account username. Minimum length 1. |
password |
string | Yes | Account password. Minimum length 1. |
Response body: AuthenticationResponse
| Field | Type | Description |
|---|---|---|
token |
string, nullable | The issued bearer token. |
expirationTime |
string (date-time) | The date and time the token expires. |
Using the Access Token
Include the returned token on every subsequent request using the Authorization header:
Authorization: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9...
Tokens are time-limited. Check the expirationTime field returned at login and refresh the token before it lapses. Calls made with an expired or missing token receive a 401 Unauthorized response.
Error Handling
Standard Error Response
When a request fails, most Orbit endpoints return a ProblemDetails object describing what went wrong:
{
"type": "string",
"title": "string",
"status": 400,
"detail": "string",
"instance": "string"
}
| Field | Description |
|---|---|
type |
A URI reference identifying the error category. |
title |
A short, human-readable summary of the error. |
status |
The HTTP status code repeated in the response body. |
detail |
A human-readable explanation specific to this occurrence of the error. |
instance |
A URI reference identifying the specific request that produced the error. |
HTTP Status Codes Reference
These status codes recur across Orbit endpoints, particularly the register-facing endpoints under /register/v1/, which depend on a live connection between the server and the store's Primary Register.
| Status | Meaning | Typical Cause |
|---|---|---|
200 OK |
Success | The request completed normally. |
400 Bad Request |
Invalid input | Missing required fields, malformed JSON, or an invalid parameter value. |
401 Unauthorized |
Authentication failed | Missing, invalid, or expired bearer token. |
428 Precondition Required |
Additional step needed | Returned only by admin authentication when a precondition has not been met. |
500 Internal Server Error |
Unexpected server-side error | An unhandled issue occurred while processing the request. |
501 Internal Error |
Not implemented / processing error | Returned by the Settings endpoint for unsupported processing conditions. |
502 Bad Gateway |
Register communication terminated | The request to the Primary Register was terminated before completing. |
503 Service Unavailable |
Register not connected | The Primary Register is not currently connected or subscribed to the server. |
504 Gateway Timeout |
Register timed out | The request to the Primary Register did not complete within the expected time. |
Note:
502,503, and504responses generally indicate a connectivity issue between the server and the store's Primary Register rather than a problem with your request. Retry with backoff and escalate if the condition persists.
Connectivity and Health
Use these endpoints to confirm that Orbit is reachable and that your authentication is working, before building or troubleshooting a device integration.
GET /v1/Health
Returns a basic health check for the Orbit service. Does not require authentication.
| Status | Description |
|---|---|
200 OK |
The service is running. |
GET /v1/Ping
A simple connectivity check. Does not require authentication.
| Status | Description |
|---|---|
200 OK |
Returns the text "Pong" along with the current server date and time. |
GET /v1/Ping/testauth
Confirms that a bearer token is valid. Use this during setup to verify authentication before calling data endpoints.
| Status | Description |
|---|---|
200 OK |
Returns the text "Authorized - Pong" along with the current server date and time. |
401 Unauthorized |
The bearer token is missing, invalid, or expired. |
Item Availability
Item availability endpoints let kiosks and menu boards check which menu items can currently be sold — for example, to gray out or hide items that are out of stock.
GET /register/v1/ItemAvailability
Returns availability information for menu items.
Parameters
| Name | In | Required | Description |
|---|---|---|---|
RequestId |
header | Yes | Used for tracing the request. |
itemIds |
query | No | List of item IDs to check. If omitted, availability for all items is returned. |
exclude |
query | No | List of filters to apply to the result. Valid values: "Unlimited", "Inactive". |
Responses
| Status | Description |
|---|---|
200 OK |
Success. |
400 Bad Request |
The request or one of the supplied item IDs was invalid. |
500 Internal Server Error |
There was an issue processing the request. |
502 Bad Gateway |
The request to the Primary Register was terminated. |
503 Service Unavailable |
The Primary Register is not connected or subscribed to the server. |
504 Gateway Timeout |
The request to the Primary Register timed out. |
GET /register/v1/ItemAvailability/unavailable
Returns the IDs of items that are currently unavailable, optionally filtered to a single destination (e.g. a specific menu, kitchen, or ordering channel).
Parameters
| Name | In | Required | Description |
|---|---|---|---|
RequestId |
header | Yes | Used for tracing the request. |
destinationId |
query | No | Optional destination ID to filter results. Must be greater than 0 if provided. |
Responses
| Status | Description |
|---|---|
200 OK |
Success. Returns the list of unavailable item IDs. |
400 Bad Request |
The request was invalid, or destinationId was not greater than 0. |
500 Internal Server Error |
There was an issue processing the request. |
502 Bad Gateway |
The request to the Primary Register was terminated. |
503 Service Unavailable |
The Primary Register is not connected or subscribed to the server. |
504 Gateway Timeout |
The request to the Primary Register timed out. |
Settings
Settings endpoints expose the register's configuration entities — including menus, items, and pricing — that menu boards and kiosks need to render an accurate, current menu.
GET /register/v1/Settings
Returns one or more settings entities from the register.
Parameters
| Name | In | Required | Description |
|---|---|---|---|
RequestId |
header | Yes | Used for trace purposes. |
entity |
query | No | Name of the entity to retrieve. Valid values: Charities, Destinations, Items, Options, PriceChanges, ModifierGroups, ItemGroups, Menus, ModifierCodes, Promotions, Tenders. |
Responses
| Status | Description |
|---|---|
200 OK |
Success. |
400 Bad Request |
The request or entity value was invalid. |
501 Internal Error |
The request could not be processed. |
Tip: For menu boards, the
Items,Menus, andPriceChangesentities are typically the most useful starting point. Combine this endpoint with the Price Change notification to keep displayed pricing current without polling.
GET /register/v1/Settings/lastmodifiedtime
Returns the last-modified time for settings entities, so integrators can poll efficiently and only re-fetch data that has actually changed.
Parameters
| Name | In | Required | Description |
|---|---|---|---|
RequestId |
header | Yes | Used for tracing the request. |
Responses
| Status | Description |
|---|---|
200 OK |
Success. Returns last-modified times for settings entities. |
400 Bad Request |
Invalid request. |
500 Internal Server Error |
There was an issue processing the request. |
502 Bad Gateway |
The request to the Primary Register was terminated. |
503 Service Unavailable |
The Primary Register is not connected or subscribed to the server. |
504 Gateway Timeout |
The request to the Primary Register timed out. |
Orders
Order endpoints let kiosks build, price, and submit customer orders, and let order confirmation boards retrieve order status. Add Order and Calculate Order accept the same request body, described once in Order Request Object and referenced from both.
Order Request Object
Add Order and Calculate Order both accept the object below in the request body.
Top-Level Fields
| Field | Type | Description |
|---|---|---|
DestinationId |
integer | The destination (e.g. menu, kitchen, or ordering channel) the order is placed for. |
LaneId |
integer | Id of the lane (order line) the order is associated with. |
Name |
string | A display name for the order (e.g. a customer or order label shown on-screen). |
IsTaxExempt |
boolean | Whether the order should be treated as tax-exempt. |
ManualSend |
boolean | Whether the order should be held for manual send rather than sent to production immediately. |
Items |
array of Item | The line items on the order. See Item Fields below. |
Payments |
array of Payment | Payments applied to the order. See Payment Fields below. |
Promotions |
array of Promotion | Promotions or discounts applied to the order. See Promotion Fields below. |
FutureOrderData |
object | Details for a scheduled or delivery order. See Future Order Data Fields below. |
CalculateOrderOptions |
object | Options controlling how pricing is calculated. See below. |
AdditionalData |
object (string map) | Free-form key/value pairs for integrator-specific metadata. |
CalculateOrderOptions Fields
| Field | Type | Description |
|---|---|---|
CalculatePriceByPos |
boolean | When true, pricing is calculated using the point-of-sale's own pricing rules rather than values supplied by the caller. |
Item Fields
| Field | Type | Description |
|---|---|---|
Id |
integer | A caller-assigned identifier for this line item, unique within the order. |
ItemId |
integer | The menu item's catalog ID. |
Description |
string | Display text for the item. |
Price |
decimal | The item's price. |
Note |
string | A free-text note for this item (e.g. a special request). |
Modifiers |
array of Modifier | Modifiers applied to this item. See Modifier Fields below. |
ComboItems |
array of object | Component items when this line item represents a combo. Structure is caller-defined. |
CompositeComponentId |
integer, nullable | If this item is a component of a composite item, the ID linking it to that composite. |
CompositeOrderItemId |
integer, nullable | If this item is part of a composite item, the order-item ID of the parent composite. |
AdditionalData |
object (string map) | Free-form key/value pairs for integrator-specific metadata. |
Modifier Fields
| Field | Type | Description |
|---|---|---|
Id |
integer | A caller-assigned identifier for this modifier. |
ItemId |
integer | The catalog item ID this modifier represents (e.g. "Extra Cheese"). |
Description |
string | Display text for the modifier. |
ModifierGroupId |
integer | The modifier group this selection belongs to. |
ModifierCodeId |
integer | The specific modifier code selected (e.g. "extra" vs. "light"). |
Price |
decimal | The modifier's price, if any. |
Modifiers |
array of object | Nested modifiers, for modifiers that themselves carry sub-modifiers. |
Payment Fields
| Field | Type | Description |
|---|---|---|
Id |
integer | A caller-assigned identifier for this payment. |
TenderId |
integer | The tender type used (e.g. cash, credit card, gift card), as configured in Settings. |
Amount |
decimal | The payment amount. |
TipAmount |
decimal | The tip amount included with this payment, if any. |
AdditionalData |
object (string map) | Free-form key/value pairs for integrator-specific metadata (e.g. a card processor reference). |
Promotion Fields
| Field | Type | Description |
|---|---|---|
PromotionId |
integer | The catalog ID of the promotion applied. |
Code |
string | The promotion or coupon code entered. |
Name |
string | Display name of the promotion. |
Amount |
decimal | The discount amount the promotion applies. |
ExternalOfferId |
integer | An external system's identifier for this offer, if applicable. |
Upsells |
array of object | Upsell qualifications tied to this promotion. Each entry has TargetOrderItemId and QualificationId. |
Future Order Data Fields
Include FutureOrderData for scheduled pickup or delivery orders.
| Field | Type | Description |
|---|---|---|
CustomerEmail |
string | Customer email address for order updates. |
CustomerPhone |
string | Customer phone number for order updates. |
PickupTime |
string (date-time) | The scheduled pickup or delivery time, in ISO 8601 format. |
DeliveryDetails |
object | Delivery address and coordinates. See below. Omit for pickup-only orders. |
| Field | Type | Description |
|---|---|---|
DeliveryDetails.DeliveryAddress |
object | Structured address: AddressLine1, AddressLine2, City, State, PostalCode, Country, Company, Notes, AddressType (all strings). |
DeliveryDetails.GeoCoordinate |
object | Latitude and Longitude (decimal degrees) for the delivery location. |
A complete example of this request body is provided in Full Order Request Example.
POST /register/v1/Order
Submits a new order to the register. Use this from kiosks and other order-entry devices once the customer has finished building their order.
Parameters
| Name | In | Required | Description |
|---|---|---|---|
RequestId |
header | Yes | Used for tracing the request. |
Request body: the Order Request Object. See Full Order Request Example for a complete example.
Responses
| Status | Description |
|---|---|
200 OK |
Success. The order was accepted by the register. |
400 Bad Request |
The order was improperly formatted or otherwise invalid. |
500 Internal Server Error |
There was an issue processing the order. |
502 Bad Gateway |
The request to the Primary Register was terminated. |
503 Service Unavailable |
The Primary Register is not connected or subscribed to the server. |
504 Gateway Timeout |
The request to the Primary Register timed out. |
POST /register/v1/Order/calculateOrder
Calculates pricing, tax, and totals for an order without submitting it to the register. Use this to show a live order total on a kiosk as the customer builds their order, before they confirm and submit it with Add Order.
Parameters
| Name | In | Required | Description |
|---|---|---|---|
RequestId |
header | Yes | Used for tracing the request. |
Request body: the same Order Request Object.
Responses
| Status | Description |
|---|---|
200 OK |
Success. Returns calculated pricing for the order. |
400 Bad Request |
The order was improperly formatted or otherwise invalid. |
500 Internal Server Error |
There was an issue calculating the order. |
502 Bad Gateway |
The request to the Primary Register was terminated. |
503 Service Unavailable |
The Primary Register is not connected or subscribed to the server. |
504 Gateway Timeout |
The request to the Primary Register timed out. |
Tip: Call Calculate Order as customers modify their cart (adding items, applying a promotion code) so the on-screen total always reflects live pricing and tax. Call Add Order only once, when the customer confirms.
GET /register/v1/Order/GetOrder
Retrieves a single order by ID. Useful for an order confirmation board to display the details and status of a specific order.
Parameters
| Name | In | Required | Description |
|---|---|---|---|
RequestId |
header | Yes | Used for tracing the request. |
orderId |
query | Yes | The ID of the order to retrieve. |
Responses
| Status | Description |
|---|---|
200 OK |
Success. |
400 Bad Request |
The request was invalid. |
500 Internal Server Error |
There was an issue processing the request. |
502 Bad Gateway |
The request to the Primary Register was terminated. |
503 Service Unavailable |
The Primary Register is not connected or subscribed to the server. |
504 Gateway Timeout |
The request to the Primary Register timed out. |
GET /register/v1/Order/getOrders
Retrieves a page of orders, optionally filtered to those modified since a given time. Useful for an order confirmation board to keep a rolling list of active orders in sync.
Parameters
| Name | In | Required | Description |
|---|---|---|---|
RequestId |
header | Yes | Used for tracing the request. |
modifiedTime |
query | No | Return only orders modified at or after this date-time (ISO 8601). |
pageSize |
query | No | Maximum number of orders to return. Default: 25. |
Responses
| Status | Description |
|---|---|
200 OK |
Success. |
400 Bad Request |
The order request was improperly formatted or otherwise invalid. |
500 Internal Server Error |
There was an issue processing the request. |
502 Bad Gateway |
The request to the Primary Register was terminated. |
503 Service Unavailable |
The Primary Register is not connected or subscribed to the server. |
504 Gateway Timeout |
The request to the Primary Register timed out. |
Tip: Poll with the
modifiedTimeparameter set to the last time you fetched orders, so you only receive orders that are new or have changed since your last check.
GET /register/v1/Order/SummaryOrders
Returns summary-level information across orders, useful for dashboards and confirmation boards that need aggregate or lightweight order data rather than full order detail.
Parameters
| Name | In | Required | Description |
|---|---|---|---|
RequestId |
header | Yes | Used for tracing the request. |
Responses
| Status | Description |
|---|---|
200 OK |
Success. |
400 Bad Request |
Invalid request. |
500 Internal Server Error |
Internal server error. |
502 Bad Gateway |
Bad gateway. |
503 Service Unavailable |
Service unavailable. |
504 Gateway Timeout |
Gateway timeout. |
Reporting
GET /register/v1/ReportingTills
Returns the tills currently configured on the register. A till represents a cash drawer or payment-tracking unit associated with a lane or terminal.
Parameters
| Name | In | Required | Description |
|---|---|---|---|
RequestId |
header | Yes | Used for tracing the request. |
Responses
| Status | Description |
|---|---|
200 OK |
Success. |
500 Internal Server Error |
There was an issue processing the request. |
Real-Time Notifications
Notification endpoints let devices subscribe to register events as they happen, instead of continuously polling for changes. Menu boards and order confirmation boards benefit most from these — for example, refreshing displayed pricing the moment it changes, or reacting immediately to a register connection drop.
Note: These endpoints establish a long-lived connection that streams events to the caller rather than returning a single response. Your HTTP client and any intermediate proxies must be configured to allow long-lived connections.
GET /api/Notifications/All
Subscribes to a real-time stream of all events published by the register.
| Status | Description |
|---|---|
200 OK |
Connection established successfully; events stream as they occur. |
GET /api/Notifications/LastModifiedTime
Subscribes to notifications emitted when the last-modified time of register data changes, signaling that dependent data (such as settings entities) should be refetched.
| Status | Description |
|---|---|
200 OK |
Connection established successfully. |
GET /api/Notifications/PriceChange
Subscribes to notifications emitted when item pricing changes on the register. Menu boards should subscribe to this to keep displayed prices accurate without polling Settings continuously.
| Status | Description |
|---|---|
200 OK |
Connection established successfully. |
GET /api/Notifications/System/{eventType}
Subscribes to system-level notifications from the register, such as connection status changes.
Parameters
| Name | In | Required | Description |
|---|---|---|---|
eventType |
path | Yes | The type of system event to subscribe to. Valid values: "ConnectionStatus", "All". |
Responses
| Status | Description |
|---|---|
200 OK |
Connection established successfully. |
400 Bad Request |
The eventType value in the URL was not recognized. |
500 Internal Server Error |
Server error. |
Tip: Subscribe to
"ConnectionStatus"events on order confirmation boards and menu boards so the device can show a clear offline state if the register connection drops, rather than silently displaying stale data.
Data Model Reference
This section lists the named schema objects referenced throughout this guide. Order-related objects (Item, Modifier, Payment, Promotion, FutureOrderData) are defined in Order Request Object and are not repeated here.
AuthenticationRequest
Used by POST /api/Authentication/authenticate.
| Field | Type | Required | Description |
|---|---|---|---|
userName |
string | Yes | Account username. Minimum length 1. |
password |
string | Yes | Account password. Minimum length 1. |
AuthenticationResponse
Returned by POST /api/Authentication/authenticate.
| Field | Type | Description |
|---|---|---|
token |
string, nullable | The issued bearer token. |
expirationTime |
string (date-time) | The date and time the token expires. |
LocalAuthenticationRequest
Used by POST /v2/local/Authentication/integrator.
| Field | Type | Required | Description |
|---|---|---|---|
integratorId |
string (uuid) | Yes | The provisioned integrator ID for the device. |
LocalAdminAuthenticationRequest
Used by POST /v2/local/Authentication/admin.
| Field | Type | Required | Description |
|---|---|---|---|
token |
string | Yes | An existing valid token to exchange for admin-level access. Minimum length 1. |
ProblemDetails
Returned in the body of most error responses (400, 401, and others). See Standard Error Response for field descriptions.
Full Order Request Example
The example below shows a complete request body for Add Order (POST /register/v1/Order) and Calculate Order (POST /register/v1/Order/calculateOrder), using every field described in Order Request Object.
{
"AdditionalData": {
"key1": "value1"
},
"CalculateOrderOptions": {
"CalculatePriceByPos": true
},
"DestinationId": 123,
"IsTaxExempt": false,
"Items": [
{
"AdditionalData": {
"itemKey": "itemValue"
},
"ComboItems": [],
"CompositeComponentId": null,
"CompositeOrderItemId": null,
"Description": "Sample Item",
"Id": 1,
"ItemId": 1001,
"Modifiers": [
{
"Description": "Extra Cheese",
"Id": 10,
"ItemId": 2001,
"ModifierCodeId": 3001,
"ModifierGroupId": 4001,
"Modifiers": [],
"Price": 0.99
}
],
"Note": "No onions",
"Price": 9.99
}
],
"LaneId": 1,
"Name": "Test Order",
"Payments": [
{
"Amount": 9.99,
"AdditionalData": {
"paymentKey": "paymentValue"
},
"Id": 1,
"TenderId": 2,
"TipAmount": 1.0
}
],
"Promotions": [
{
"Amount": 2.0,
"Code": "PROMO2024",
"ExternalOfferId": 1234,
"Name": "New Year Promo",
"PromotionId": 5678,
"Upsells": [
{
"TargetOrderItemId": 1,
"QualificationId": 101
}
]
}
],
"ManualSend": true,
"FutureOrderData": {
"CustomerEmail": "customer@example.com",
"CustomerPhone": "+1234567890",
"PickupTime": "2024-01-02T14:30:00Z",
"DeliveryDetails": {
"DeliveryAddress": {
"AddressLine1": "123 Main St",
"AddressLine2": "Apt 4B",
"City": "Springfield",
"State": "IL",
"PostalCode": "62701",
"Country": "USA",
"Company": "Acme Corp",
"Notes": "Ring doorbell",
"AddressType": "Residential"
},
"GeoCoordinate": {
"Latitude": 39.7817,
"Longitude": -89.6501
}
}
}
}
Endpoint Quick Reference
| Method | Path | Purpose |
|---|---|---|
| POST | /v2/local/Authentication/integrator |
Authenticate an unattended device (recommended for hardware). |
| POST | /v2/local/Authentication/admin |
Elevate a session to admin-level access. |
| POST | /api/Authentication/authenticate |
Authenticate with username and password. |
| GET | /v1/Health |
Basic service health check. |
| GET | /v1/Ping |
Basic connectivity check. |
| GET | /v1/Ping/testauth |
Confirm a bearer token is valid. |
| GET | /register/v1/ItemAvailability |
Get availability for one or all items. |
| GET | /register/v1/ItemAvailability/unavailable |
Get IDs of currently unavailable items. |
| GET | /register/v1/Settings |
Get a settings entity (menus, items, pricing, etc.). |
| GET | /register/v1/Settings/lastmodifiedtime |
Get last-modified times for settings entities. |
| POST | /register/v1/Order |
Submit a new order. |
| POST | /register/v1/Order/calculateOrder |
Calculate pricing for an order without submitting it. |
| GET | /register/v1/Order/GetOrder |
Get a single order by ID. |
| GET | /register/v1/Order/getOrders |
Get a page of orders, optionally filtered by modified time. |
| GET | /register/v1/Order/SummaryOrders |
Get summary-level order data. |
| GET | /register/v1/ReportingTills |
Get configured tills. |
| GET | /api/Notifications/All |
Stream all register events. |
| GET | /api/Notifications/LastModifiedTime |
Stream last-modified-time change events. |
| GET | /api/Notifications/PriceChange |
Stream price change events. |
| GET | /api/Notifications/System/{eventType} |
Stream system events (e.g. connection status). |
Note:
GET /register/v1/NoEndpointis an internal diagnostic route the register uses to return a standardized error for unrecognized URLs. It is not intended for use by integrators and is omitted from the reference above.