Platform

Embed API — Endpoints

Complete endpoint reference for the Embed API. 34 endpoints across 5 groups.

Base URL:https://{hostname}:{port}/embed-api/{version}/

Returns the current app version, supported API versions, and HTTP server version. No authentication required.

200Returns app_version, api_versions array, and http_server version
{ "app_version": "6.6.10.346", "api_versions": [ 1, 1.1, 1.2 ], "http_server": "1.0.0.17" }

Returns the current system time from the Embed Card System.

Scope: system_read
200Returns current system time in ISO 8601 format
{ "time": "2024-01-15T10:30:00.000Z" }
401Missing or invalid Bearer Token

Returns the location ID and name of the current venue.

Scope: system_read
200Returns location_id and location_name
{ "location_id": 1, "location_name": "Main Venue" }
401Missing or invalid Bearer Token

Returns full card details including balances, status, and linked guest. Uses a 19-digit card number or 8/10-digit barcode as the identifier.

Scope: cards_read
NameInTypeReqDescription
idpathstring19-digit card number or 8/10-digit barcode
200Returns card number, status, balances, guest info, and privileges
{ "card_number": "1234567890123456789", "status": "active", "balances": { "game_credits": 50, "bonus_credits": 10, "tickets": 250, "points": 1200 }, "guest": { "first_name": "John", "last_name": "Smith" }, "privileges": {} }
401Missing or invalid Bearer Token
404Card not found

Returns card details using raw media data (e.g. magstripe or RFID scan).

Scope: cards_read
NameInTypeReqDescription
media_typepathstringMagstripe, MifareUltralight, or MifareClassic1k
media_datapathstringURL-safe Base64 encoded media data
200Returns card details
{ "card_number": "1234567890123456789", "status": "active", "balances": { "game_credits": 50, "bonus_credits": 10, "tickets": 250, "points": 1200 }, "guest": { "first_name": "John", "last_name": "Smith" }, "privileges": {} }
401Missing or invalid Bearer Token
404Card not found

Versioned card lookup supporting optional global card check bypass.

Scope: cards_read
NameInTypeReqDescription
idpathstringCard identifier
media_typequerystringMagstripe, MifareUltralight, or MifareClassic1k
media_dataquerystringURL-safe Base64 encoded media data
skip_global_card_checkquerybooleanSkip global card check (default: false)
200Returns card details
{ "card_number": "1234567890123456789", "status": "active", "balances": {}, "guest": {} }
401Missing or invalid Bearer Token

Returns a filtered list of transactions for a given card.

Scope: cards_read
NameInTypeReqDescription
idpathstringCard identifier
typequerystringFilter by type: game, non_game, or all (default: all)
from_datequerystringStart date in ISO 8601 format
limitqueryintegerNumber of days from from_date
200Returns array of transaction history entries
[ { "date_time": "2024-01-15T10:30:00.000Z", "type": "game", "description": "Game Play - Pac-Man", "amount": -1, "bonus": 0, "tickets": 15, "points": 10, "status": "completed" } ]
401Missing or invalid Bearer Token

Returns all cards modified within a given datetime range.

Scope: cards_read
NameInTypeReqDescription
from_datetimequerystringISO 8601 datetime — cards modified on or after this time
to_datetimequerystringISO 8601 datetime upper bound
include_cards_in_groupquerybooleanInclude cards belonging to a group
200Returns array of card objects
[ { "card_number": "1234567890123456789", "status": "active", "last_modified": "2024-01-15T10:30:00.000Z", "balances": {} } ]
401Missing or invalid Bearer Token

Returns a paginated list of recently modified cards.

Scope: cards_read
200Returns total_count, total_pages, and results array
{ "total_count": 150, "total_pages": 15, "results": [ { "card_number": "...", "status": "active" } ] }
401Missing or invalid Bearer Token

Returns a list of available coupons with their discount type and value.

Scope: sales
200Returns links and results array of coupon objects
{ "links": {}, "results": [ { "coupon_id": 1, "coupon_name": "Summer Special", "discount_type": "percentage", "discount_value": 10 } ] }
401Missing or invalid Bearer Token

Search for guests by name, email, or other filter criteria.

Scope: guests_read
200Returns array of matching guest objects
{ "results": [ { "guest_id": 123, "first_name": "John", "last_name": "Smith", "email": "john@example.com" } ] }
401Missing or invalid Bearer Token

Returns full profile information and linked cards for a specific guest.

Scope: guests_read
200Returns guest profile including linked cards
{ "guest_id": 123, "first_name": "John", "last_name": "Smith", "email": "john@example.com", "phone": "+1234567890", "cards": [] }
401Missing or invalid Bearer Token
404Guest not found

Creates a new guest record with the provided detail fields.

Scope: guests_write
FieldTypeReqDescription
guest fieldsobjectGuest detail fields. Refer to the Embed API Specification for the full field list.
200Returns new guest_id and status: created
{ "guest_id": 456, "status": "created" }
400Missing or invalid guest fields
401Missing or invalid Bearer Token

Returns the available guest fields with their types and required status.

Scope: guests_read
200Returns fields array with field_name, field_type, and required
{ "fields": [ { "field_name": "first_name", "field_type": "string", "required": true }, { "field_name": "email", "field_type": "string", "required": false } ] }
401Missing or invalid Bearer Token

Adds a product or reload item to the current sale.

Scope: sales
FieldTypeReqDescription
item detailsobjectItem details. Refer to the Embed API Specification for the full field list.
200Returns updated sale with items and total
{ "sale": { "items": [], "total": 25 } }
400Invalid item
401Missing or invalid Bearer Token

Removes a specific item from the current sale.

Scope: sales
FieldTypeReqDescription
item identifierobjectItem identifier. Refer to the Embed API Specification for the full field list.
200Returns updated sale with items and total
{ "sale": { "items": [], "total": 15 } }
400Item not found in sale
401Missing or invalid Bearer Token

Applies a coupon to the current sale.

Scope: sales
FieldTypeReqDescription
coupon identifierobjectCoupon identifier. Refer to the Embed API Specification for the full field list.
200Returns updated sale with coupons, total, and discount
{ "sale": { "items": [], "coupons": [], "total": 20, "discount": 5 } }
400Invalid or expired coupon
401Missing or invalid Bearer Token

Removes an applied coupon from the current sale.

Scope: sales
FieldTypeReqDescription
coupon identifierobjectCoupon identifier. Refer to the Embed API Specification for the full field list.
200Returns updated sale with empty coupons array
{ "sale": { "items": [], "coupons": [], "total": 25 } }
401Missing or invalid Bearer Token

Legacy endpoint to complete and tender the current sale. Refer to the Embed API Specification for the current recommended approach.

Scope: sales
FieldTypeReqDescription
tender detailsobjectTender/payment details. Refer to the Embed API Specification for the full field list.
200Returns sale_id, status: completed, and receipt
{ "sale_id": 12345, "status": "completed", "receipt": {} }
400Invalid tender details
401Missing or invalid Bearer Token

Cancels the current sale and releases any held items.

Scope: sales
FieldTypeReqDescription
sale identifierobjectSale identifier. Refer to the Embed API Specification for the full field list.
200Returns status: cancelled
{ "status": "cancelled" }
401Missing or invalid Bearer Token

Returns the receipt for a completed sale.

Scope: sales
200Returns sale_id, items, total, payment_method, and date_time
{ "sale_id": 12345, "items": [], "total": 25, "payment_method": "card", "date_time": "2024-01-15T10:30:00.000Z" }
401Missing or invalid Bearer Token
404Sale not found

Assigns a table number to the current sale for F&B tracking.

Scope: sales
FieldTypeReqDescription
table_numberstringThe table number to assign to the sale
200Returns status: ok and table_number
{ "status": "ok", "table_number": "12" }
401Missing or invalid Bearer Token

Adds a split reload product to the sale, allowing credit to be split across multiple cards.

Scope: sales
FieldTypeReqDescription
split reload product detailsobjectSplit reload product details. Refer to the Embed API Specification for the full field list.
200Returns updated sale with split_reload details
{ "sale": { "items": [], "split_reload": {} } }
401Missing or invalid Bearer Token

Associates a card with an existing split reload product in the sale.

Scope: sales
FieldTypeReqDescription
card and split reload identifiersobjectCard and split reload identifiers. Refer to the Embed API Specification for the full field list.
200Returns updated sale with split_reload.cards array
{ "sale": { "items": [], "split_reload": { "cards": [] } } }
401Missing or invalid Bearer Token

Returns available mobile reload templates for display in a mobile or kiosk interface.

Scope: system_read
200Returns results array of template objects with products
{ "results": [ { "template_id": 1, "template_name": "Standard Reload", "products": [] } ] }
401Missing or invalid Bearer Token

Returns all games configured in the system along with their charge rates per card type.

Scope: games_read
NameInTypeReqDescription
game_idqueryintegerFilter by specific game ID
swiper_displayquerybooleanInclude swiper display information
200Returns array of game objects with charge_rates
[ { "game_id": 1, "game_name": "Pac-Man", "charge_rates": [ { "card_type": "standard", "credits": 1 } ] } ]
401Missing or invalid Bearer Token

Deducts game credits from a card and records a virtual swipe on the specified game.

Scope: cards_write
FieldTypeReqDescription
card_idstringCard identifier to swipe
game_idintegerGame to swipe on
authorised_by_card_idstringAuthorising card (for privilege checks)
force_authorisebooleanForce authorisation override
allow_guestcheck_reswipebooleanAllow guest check re-swipe
200Returns swipe_result and updated card balances
{ "swipe_result": "success", "card": { "card_number": "1234567890123456789", "balances": { "game_credits": 49, "bonus_credits": 10 } } }
400Invalid card or game
401Missing or invalid Bearer Token
403Insufficient credits or privileges

Returns a paginated list of maintenance and activity logs for a specified game.

Scope: games_read
NameInTypeReqDescription
game_idqueryintegerGame identifier
pagequeryintegerPage number
page_sizequeryintegerResults per page
sort_orderquerystringascending or descending
200Returns total_count, total_pages, and results array of log entries
{ "total_count": 85, "total_pages": 9, "results": [ { "log_id": 1, "game_id": 5, "user_name": "admin", "comment": "Maintenance completed", "date_time": "2024-01-15T10:30:00.000Z" } ] }
401Missing or invalid Bearer Token

Adds a maintenance or activity log entry to a specific game.

Scope: games_write
FieldTypeReqDescription
idintegerGame identifier
user_namestringUser adding the log entry
commentstringLog comment (max 250 characters)
read_flagstringon or off
200Returns status: ok and new log_id
{ "status": "ok", "log_id": 86 }
400Invalid parameters
401Missing or invalid Bearer Token

Returns all swiper devices configured in the system and their current status.

Scope: games_read
200Returns results array of swiper objects
{ "results": [ { "swiper_id": 1, "swiper_name": "Swiper A", "game_id": 5, "status": "online" } ] }
401Missing or invalid Bearer Token

Sends a control command to a swiper device (e.g. enable or disable).

Scope: games_write
FieldTypeReqDescription
swiper controlobjectSwiper ID and control command. Refer to the Embed API Specification for the full field list.
200Returns status: ok, swiper_id, and new state
{ "status": "ok", "swiper_id": 1, "state": "enabled" }
401Missing or invalid Bearer Token
404Swiper not found

Returns pending swipe notifications for real-time display.

Scope: games_read
200Returns notifications array with card_number, game_name, and date_time
{ "notifications": [ { "notification_id": 1, "card_number": "1234567890123456789", "game_name": "Pac-Man", "date_time": "2024-01-15T10:30:00.000Z" } ] }
401Missing or invalid Bearer Token

Marks a swipe notification as dismissed.

Scope: games_write
FieldTypeReqDescription
notification identifierobjectNotification identifier. Refer to the Embed API Specification for the full field list.
200Returns status: ok
{ "status": "ok" }
401Missing or invalid Bearer Token

Allows legacy ECS Interface commands to be sent through the Embed API using OAuth 2 authentication. The request body contains the legacy command in XML or JSON format.

Scope: cards_read, cards_write, guests_write, system_read
NameInTypeReqDescription
page_noqueryintegerPage number for paged list commands
mediaquerystringMedia type parameter
FieldTypeReqDescription
POST DataXML/JSONThe legacy ECS command request body
200Returns response and status: ok. Response format depends on the legacy command.
{ "response": "...", "status": "ok" }
401Missing or invalid Bearer Token