Skip to main content

Device Details

Every integration authenticates with an X-API-Key that represents a single external device -- typically one physical POS terminal. The device determines who you are and what you may do: which organization and venue you act on behalf of, which desks you serve, and which operations your key is permitted to perform.

GET /v1/integrations/me returns that identity. It is shared infrastructure: the same endpoint backs the Cheers Loyalty, Counter Order, and Hybrid RevoUnion integrations.

When to Use It

Three practical uses:

  1. Verify the API key at startup. A single call confirms the key is valid and provisioned before the first customer is served, rather than discovering it mid-transaction.
  2. Decide which features to enable. The authorities array tells you what the key may do. Hide POS features the device is not permitted to use instead of letting the operator hit a 403 at the counter.
  3. Populate receipt headers. The organization name and place (business unit) name printed on receipts come from this endpoint -- including the Hybrid RevoUnion deposit receipt.
Cache the response

Device identity changes rarely. Fetch it at startup and refresh periodically -- do not call it before every transaction.

Request

API: GET /v1/integrations/me

curl -X GET https://api.dev.votesess.com/v1/integrations/me \
-H "X-API-Key: YOUR_API_KEY"

Response

{
"id": "device-001",
"name": "Bar Terminal 1",
"authorities": ["INTEGRATION", "CREDIT", "ORDER", "REVO"],
"organization": {
"id": "org-001",
"name": "Summer Festival Kft."
},
"place": {
"id": "place-001",
"name": "Main Stage Bar",
"description": "Bar next to the main stage",
"formattedAddress": "1051 Budapest, Example utca 1.",
"placeStatus": "ACTIVE"
},
"relatedDesks": [
{ "id": "desk-001", "name": "Counter 1", "type": "COUNTER", "enabled": true },
{ "id": "desk-002", "name": "Table 5", "type": "TABLE", "enabled": false }
]
}
FieldTypeDescription
idstringThe id of the device in the Cheers system.
namestringDisplay name of the device (e.g. "Bar Terminal 1").
authoritiesarrayPermissions granted to this API key. See Authorities.
organizationobjectThe organization the device belongs to.
placeobjectThe venue (business unit) the device is assigned to.
relatedDesksarrayDesks this device serves.

Authorities

The authorities array determines which operations the API key may perform. A key without the matching authority receives 403 Forbidden with EXTERNAL_DEVICE_HAS_NO_RIGHT_AUTHORITY.

AuthorityGrants
ORDEROrder handling.
ORDER_REFUNDRefunding orders.
SCANScanning operations.
STATISTICAccess to statistics.
INTEGRATIONGeneral integration API access.
THIRD_PARTY_INTEGRATIONThird-party integration access.
CREDITCredit transactions -- required for Cheers Loyalty.
TICKETTicket handling.
KIOSKKiosk operation.
REVORevoUnion container deposits -- required for Hybrid RevoUnion.
Check authorities before enabling features

A key provisioned only for coupons cannot process payments. Reading authorities at startup lets you disable those POS features up front rather than failing at the counter.

Organization

FieldTypeDescription
idstringThe id of the organization in the Cheers system.
namestringOrganization name. Printed on receipts.

Place

The venue (business unit) the device is assigned to.

FieldTypeDescription
idstringThe id of the place in the Cheers system.
namestringPlace name. Printed on receipts.
descriptionstringOptional description of the place.
formattedAddressstringFull formatted address.
avatarMediaobjectOptional place image (id, processing status, media type, and URIs in several sizes).
placeStatusenumCurrent status of the place. See below.

Place Statuses

StatusDescription
DRAFTThe place is not published yet.
ACTIVEThe place is live and operating.
TEMPORARILY_CLOSEDThe place is closed for now but will reopen.
PERMANENTLY_CLOSEDThe place is closed for good.
HIDDENThe place is not visible to customers.

The desks this device serves. Same shape as the desks returned by the Counter Order desk endpoints.

FieldTypeDescription
idstringThe id of the desk in the Cheers system.
namestringDisplay name of the desk (e.g. "Counter 1").
typeenumCOUNTER or TABLE.
enabledbooleanWhether customers can currently place orders at this desk.
Changing desk availability

This endpoint reports desk state but does not change it. To suspend or resume ordering, use PUT /v1/integrations/desks/status.

Error Handling

Errors use the standard envelope:

{
"errorModel": {
"errorCode": "AUTHORIZATION",
"message": "Human-readable description",
"descriptors": []
}
}
StatusMeaning
400Malformed request.
401Missing or invalid X-API-Key.
403The key is valid but lacks access to the requested resource.
404The device could not be resolved.

A 401 at startup almost always means the key was mistyped during terminal setup, or the device has been disabled in the Cheers CMS.