Wallet API (1.0.0)

Download OpenAPI specification:

API for players using Amusement Connect wallets

Player

Player

Get a player by ID

Get player by ID

Authorizations:
apiKey
path Parameters
playerId
required
string <uuid> (playerId)
Example: 00000000-0000-0000-0000-000000000001

The unique identifier of the player.

query Parameters
apiVersion
string
Default: "1.0"
Value: "1.0"

The version of the API to use.

Responses

Response samples

Content type
application/json
{
  • "id": "00000000-0000-0000-0000-000000000001",
  • "username": "exampleuser@example.com",
  • "alias": "zezima",
  • "universalCredits": 150
}

Get player cards

Get the list of cards registered to a player's wallet

Authorizations:
apiKey
path Parameters
playerId
required
string <uuid> (playerId)
Example: 00000000-0000-0000-0000-000000000001

The unique identifier of the player.

query Parameters
apiVersion
string
Default: "1.0"
Value: "1.0"

The version of the API to use.

integer or string (locationId)

Optionally filter the card balances by location Id

search
string or null <= 100 characters
Example: search=0715

Optional search term to filter cards by card number or display name.

includePastCardLives
boolean
Default: false
Example: includePastCardLives=true

Whether to include past card lives in the response.

hideEmptyBalances
boolean
Default: false
Example: hideEmptyBalances=true

Whether to hide balances that are empty (zero credits, zero tickets, no open tab, no timed play, and no attraction passes).

skip
integer
Example: skip=10

The number of records to skip in the response. If not specified, no records are skipped.

take
integer
Example: take=10

The maximum number of records to return in the response. If not specified, all records are returned.

Responses

Response samples

Content type
application/json
{
  • "totalCount": 3,
  • "items": [
    ]
}

Register card

Register a card to a player's wallet

Authorizations:
apiKey
path Parameters
playerId
required
string <uuid> (playerId)
Example: 00000000-0000-0000-0000-000000000001

The unique identifier of the player.

query Parameters
apiVersion
string
Default: "1.0"
Value: "1.0"

The version of the API to use.

Request Body schema: application/json
required
rfid
required
string (rfid) ^((\d{10})|(\+\d{11,13}))$

The unique identifier of the RFID card. This should be derived from the 4 byte UID of the RFID card as a 32 bit integer and formatted to a 10 digit string. For example the UID of 0x5130A52A would be converted to "0715468881"

displayName
string or null

Responses

Request samples

Content type
application/json
{
  • "rfid": "0715468881",
  • "displayName": "My Card"
}

Response samples

Content type
application/json
{
  • "rfid": "0715468881",
  • "cardLife": 1
}

Get player card

Get a specific card registered to a player's wallet

Authorizations:
apiKey
path Parameters
playerId
required
string <uuid> (playerId)
Example: 00000000-0000-0000-0000-000000000001

The unique identifier of the player.

cardNumber
required
string (rfid) ^((\d{10})|(\+\d{11,13}))$
Example: 0715468881

The unique identifier of the card.

query Parameters
apiVersion
string
Default: "1.0"
Value: "1.0"

The version of the API to use.

integer or string (locationId)

Optionally filter the card balances by location Id

skip
integer
Example: skip=10

The number of records to skip in the response. If not specified, no records are skipped.

take
integer
Example: take=10

The maximum number of records to return in the response. If not specified, all records are returned.

Responses

Response samples

Content type
application/json
{
  • "totalCount": 3,
  • "items": [
    ]
}

Update card

Update the players card settings

Authorizations:
apiKey
path Parameters
playerId
required
string <uuid> (playerId)
Example: 00000000-0000-0000-0000-000000000001

The unique identifier of the player.

cardNumber
required
string (rfid) ^((\d{10})|(\+\d{11,13}))$
Example: 0715468881

The unique identifier of the card.

query Parameters
apiVersion
string
Default: "1.0"
Value: "1.0"

The version of the API to use.

Request Body schema: application/json
required
displayName
string

Responses

Request samples

Content type
application/json
{
  • "displayName": "My Card"
}

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "errors": {
    }
}

Unregister card

Unregister a card from a player's wallet

Authorizations:
apiKey
path Parameters
playerId
required
string <uuid> (playerId)
Example: 00000000-0000-0000-0000-000000000001

The unique identifier of the player.

cardNumber
required
string (rfid) ^((\d{10})|(\+\d{11,13}))$
Example: 0715468881

The unique identifier of the card.

query Parameters
apiVersion
string
Default: "1.0"
Value: "1.0"

The version of the API to use.

Responses

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "errors": {
    }
}

Get player gameplay sessions

Get the list of gameplay sessions for a player, ordered by start time in descending order

Authorizations:
apiKey
path Parameters
playerId
required
string <uuid> (playerId)
Example: 00000000-0000-0000-0000-000000000001

The unique identifier of the player.

query Parameters
apiVersion
string
Default: "1.0"
Value: "1.0"

The version of the API to use.

search
string or null <= 100 characters
Example: search=Racing

Optional search term to filter games by name or description.

locationId
integer
Example: locationId=195

Optionally filter the gameplay sessions by location Id

skip
integer
Example: skip=10

The number of records to skip in the response. If not specified, no records are skipped.

take
integer
Example: take=10

The maximum number of records to return in the response. If not specified, all records are returned.

Responses

Response samples

Content type
application/json
{
  • "totalCount": 10,
  • "items": [
    ]
}

Gameplay

Gameplay

Get player gameplay sessions

Get the list of gameplay sessions for a player, ordered by start time in descending order

Authorizations:
apiKey
path Parameters
playerId
required
string <uuid> (playerId)
Example: 00000000-0000-0000-0000-000000000001

The unique identifier of the player.

query Parameters
apiVersion
string
Default: "1.0"
Value: "1.0"

The version of the API to use.

search
string or null <= 100 characters
Example: search=Racing

Optional search term to filter games by name or description.

locationId
integer
Example: locationId=195

Optionally filter the gameplay sessions by location Id

skip
integer
Example: skip=10

The number of records to skip in the response. If not specified, no records are skipped.

take
integer
Example: take=10

The maximum number of records to return in the response. If not specified, all records are returned.

Responses

Response samples

Content type
application/json
{
  • "totalCount": 10,
  • "items": [
    ]
}

Get location game categories

Get the list of available game categories at a location

Authorizations:
apiKey
path Parameters
required
integer or string (locationId)

The unique identifier of the location.

query Parameters
apiVersion
string
Default: "1.0"
Value: "1.0"

The version of the API to use.

Responses

Response samples

Content type
application/json
{
  • "categories": [
    ]
}

Get location games

Get the list of games available at a location to play

Authorizations:
apiKey
path Parameters
required
integer or string (locationId)

The unique identifier of the location.

query Parameters
apiVersion
string
Default: "1.0"
Value: "1.0"

The version of the API to use.

search
string or null <= 100 characters
Example: search=Racing

Optional search term to filter games by name or description.

category
string <= 30 characters
Example: category=Pinball
skip
integer
Example: skip=10

The number of records to skip in the response. If not specified, no records are skipped.

take
integer
Example: take=10

The maximum number of records to return in the response. If not specified, all records are returned.

Responses

Response samples

Content type
application/json
{}

Get game details

Get details for a game at a location. Includes pricing information, images, descriptions, and other details.

Authorizations:
apiKey
path Parameters
required
integer or string (locationId)

The unique identifier of the location.

gameId
required
string <uuid>

The unique identifier of the game machine.

query Parameters
apiVersion
string
Default: "1.0"
Value: "1.0"

The version of the API to use.

Responses

Response samples

Content type
application/json
{}

Start a gameplay session

Attempt to start a gameplay session

Authorizations:
apiKey
query Parameters
apiVersion
string
Default: "1.0"
Value: "1.0"

The version of the API to use.

Request Body schema: application/json
Any of
gameMachineId
required
string

The unique identifier of the game machine to start.

idempotencyKey
string or null <uuid>

A unique identifier for the request to prevent reattempted requests from causing duplicate game starts.

startMethod
string or null
Default: "Remote"
Enum: "Remote" "Http"

The method used to start the game.

  • Remote: The game is started remotely via Amusement Connect cloud services.
  • Http: Only for use by readers, if this request returns a 200 response with a success status the game will be started.
object (GameplayRequestCard)

Information about the card to be used for gameplay request. Players requesting gameplay must have the card registered to them to be able to use it for gameplay.

object (GameplayRequestPartner)

Information about the partner starting the gameplay session.

object (GameplayRequestPlayer)

Information about the player starting the gameplay session.

GameplayRequestCreditPlay (object) or GameplayRequestPartnerPlay (object)

The play options for the gameplay session.

Responses

Request samples

Content type
application/json
{
  • "readerId": "string",
  • "idempotencyKey": "0c14c6a6-6f50-4d1e-b0c4-b46ff43ba6a1",
  • "startMethod": "Remote",
  • "card": {
    },
  • "partner": {
    },
  • "player": {
    },
  • "play": {
    }
}

Response samples

Content type
application/json
{
  • "gameplaySessionId": "d3cf0135-6184-4e1e-a631-b6e34bd0a313",
  • "balance": {
    },
  • "creditsUsed": 0,
  • "player": {
    }
}

Location

Location

Get card balances

Get card balances with filtering options

Authorizations:
apiKey
path Parameters
required
integer or string (locationId)

The unique identifier of the location.

query Parameters
apiVersion
string
Default: "1.0"
Value: "1.0"

The version of the API to use.

playerId
string <uuid> (playerId)
Example: playerId=00000000-0000-0000-0000-000000000001

Optionally filter the card balances by player ID

search
string or null <= 100 characters
Example: search=0715

Optional search term to filter cards by card number or display name.

includePastCardLives
boolean
Default: false
Example: includePastCardLives=true

Whether to include past card lives in the response.

hideEmptyBalances
boolean
Default: false
Example: hideEmptyBalances=true

Whether to hide balances that are empty (zero credits, zero tickets, no open tab, no timed play, and no attraction passes).

skip
integer
Example: skip=10

The number of records to skip in the response. If not specified, no records are skipped.

take
integer
Example: take=10

The maximum number of records to return in the response. If not specified, all records are returned.

Responses

Response samples

Content type
application/json
{
  • "totalCount": 25,
  • "items": [
    ]
}

Get location pricing

Get the card and credit pricing options for location

Authorizations:
apiKey
path Parameters
required
integer or string (locationId)

The unique identifier of the location.

query Parameters
apiVersion
string
Default: "1.0"
Value: "1.0"

The version of the API to use.

includePackages
boolean

Whether to include the available packages for the location in the response. If not provided, the packages will not be included.

Responses

Response samples

Content type
application/json
{
  • "credits": {
    },
  • "packages": [
    ]
}

Create card transaction

Create a new card transaction at a location Adds a new transaction to for adding to a cards balance at this location.

Authorizations:
apiKey
path Parameters
required
integer or string (locationId)

The unique identifier of the location.

query Parameters
apiVersion
string
Default: "1.0"
Value: "1.0"

The version of the API to use.

whatIf
boolean

If true, the transaction will be validated but not actually processed. This can be used to check if a transaction request is valid and see the expected outcome without making any changes to the card balances.

Request Body schema: application/json
required
Array of objects or null

A list of credit purchases made in a single transaction. Each entry in the list represents a purchase of credits for a specific card number.

Array of objects or null

A list of package purchases made in a single transaction. Each entry in the list represents a purchase of a specific package for a set of card numbers.

object or object or (object or null) (CardTransactionPayment)
externalTransactionId
string or null <= 128 characters

An optional external identifier for the transaction

Responses

Request samples

Content type
application/json
{
  • "credits": [
    ],
  • "packages": [
    ],
  • "payment": {
    },
  • "externalTransactionId": "string"
}

Response samples

Content type
application/json
Example
{
  • "cardTransactionId": "00000000-0000-0000-0000-000000000002"
}

Refund card transaction

Refund a card transaction by its ID at a location. Reverses the effects of the original transaction, removing any credits, tickets, timed play, or attractions purchased.

Authorizations:
apiKey
path Parameters
required
integer or string (locationId)

The unique identifier of the location.

cardTransactionId
required
string <uuid> (cardTransactionId)
Example: 00000000-0000-0000-0000-000000000002

The unique identifier of the card transaction.

query Parameters
apiVersion
string
Default: "1.0"
Value: "1.0"

The version of the API to use.

Responses

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "errors": {
    }
}

Card

Card

Get location balance

Get the balance for a card at a specific location

Authorizations:
apiKey
path Parameters
required
integer or string (locationId)

The unique identifier of the location.

cardNumber
required
string (rfid) ^((\d{10})|(\+\d{11,13}))$
Example: 0715468881

The unique identifier of the card.

query Parameters
apiVersion
string
Default: "1.0"
Value: "1.0"

The version of the API to use.

Responses

Response samples

Content type
application/json
{
  • "credits": 100,
  • "tickets": 5,
  • "tab": {
    },
  • "timedPlay": {
    },
  • "attractions": [
    ],
  • "location": {
    }
}

Update location balance

Update the location balance for a card to the desired state.

Authorizations:
apiKey
path Parameters
required
integer or string (locationId)

The unique identifier of the location.

cardNumber
required
string (rfid) ^((\d{10})|(\+\d{11,13}))$
Example: 0715468881

The unique identifier of the card.

query Parameters
apiVersion
string
Default: "1.0"
Value: "1.0"

The version of the API to use.

Request Body schema: application/json
required
credits
required
number <double>
tickets
required
number <double>
object (tab)
object or null
Array of objects or objects or null

Responses

Request samples

Content type
application/json
{
  • "credits": 100,
  • "tickets": 5,
  • "tab": {
    },
  • "timedPlay": {
    },
  • "attractions": [
    ]
}

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "errors": {
    }
}

Tab

Operations for managing tabs at locations with an integrated tab provider

Get tabs at a location

Search and filter tabs at a location

Authorizations:
apiKey
path Parameters
required
integer or string (locationId)

The unique identifier of the location.

query Parameters
apiVersion
string
Default: "1.0"
Value: "1.0"

The version of the API to use.

take
integer
Example: take=10

The maximum number of records to return in the response. If not specified, all records are returned.

skip
integer
Example: skip=10

The number of records to skip in the response. If not specified, no records are skipped.

status
any (TabStatus)
Enum: "Open" "Closed"

Filter tabs by their status.

orderDescending
boolean
Default: false

Reverses the sort order of the results to be in descending order.

orderBy
any
Default: "openedAtUtc"
Enum: "openedAtUtc" "closedAtUtc" "settledAtUtc" "status"

The field to order the results by. Defaults to openedAtUtc.

thenBy
any
Default: "openedAtUtc"
Enum: "openedAtUtc" "closedAtUtc" "settledAtUtc"

An additional field to order the results by after ordering by the orderBy field. Only applies if the orderBy parameter is 'status'.

openFrom
string <date-time>

Filter to tabs that were open on or after this date and time.

openTo
string <date-time>

Filter to tabs that were open on or before this date and time.

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Open tab at location

Opens a tab for a player at a location

Authorizations:
apiKey
path Parameters
required
integer or string (locationId)

The unique identifier of the location.

query Parameters
apiVersion
string
Default: "1.0"
Value: "1.0"

The version of the API to use.

Request Body schema: application/json
externalTabId
required
string

The external identifier for the tab provided by the tab provider.

object (Money)
autoCloseAtUtc
string or null <date-time>

The date and time when the tab will automatically close. If null, the tab will remain open until manually closed.

cardNumbers
required
Array of strings (rfid) [ items^((\d{10})|(\+\d{11,13}))$ ]

The list of card numbers to associate with the tab.

Responses

Request samples

Content type
application/json
{
  • "externalTabId": "string",
  • "limit": {
    },
  • "autoCloseAtUtc": "2019-08-24T14:15:22Z",
  • "cardNumbers": [
    ]
}

Response samples

Content type
application/json
{
  • "tabId": "00000000-0000-0000-0000-000000000000"
}

Get tab by ID at location

Get a tab by its ID at a location

Authorizations:
apiKey
path Parameters
required
integer or string (locationId)

The unique identifier of the location.

tabId
required
string <uuid> (tabId)
Example: 00000000-0000-0000-0000-000000000003

The unique identifier of the tab.

query Parameters
apiVersion
string
Default: "1.0"
Value: "1.0"

The version of the API to use.

Responses

Response samples

Content type
application/json
{
  • "id": "00000000-0000-0000-0000-000000000003",
  • "status": "Open",
  • "openedAtUtc": "2019-08-24T14:15:22Z",
  • "closedAtUtc": "2019-08-24T14:15:22Z",
  • "limit": 0.1,
  • "autoCloseAtUtc": "2019-08-24T14:15:22Z",
  • "creditsUsed": 0,
  • "valueUsed": {
    },
  • "tabProvider": "My Tab Provider",
  • "externalTabId": "ext-tab-123456789"
}

Delete a tab

Delete a tab

Authorizations:
apiKey
path Parameters
required
integer or string (locationId)

The unique identifier of the location.

tabId
required
string <uuid> (tabId)
Example: 00000000-0000-0000-0000-000000000003

The unique identifier of the tab.

query Parameters
apiVersion
string
Default: "1.0"
Value: "1.0"

The version of the API to use.

Responses

Response samples

Content type
application/json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "errors": {
    }
}

Close a tab

Close a tab, preventing it from accepting any new charges.

Authorizations:
apiKey
path Parameters
required
integer or string (locationId)

The unique identifier of the location.

tabId
required
string <uuid>
query Parameters
apiVersion
string
Default: "1.0"
Value: "1.0"

The version of the API to use.

Request Body schema: application/json
object (CloseTabRequestModel)

Responses

Request samples

Content type
application/json
{ }

Response samples

Content type
application/problem+json
{
  • "type": "string",
  • "title": "string",
  • "status": 0,
  • "detail": "string",
  • "instance": "string",
  • "errors": {
    }
}