SmartNow API (1.0.0)

Welcome to the SmartNow API reference. The SmartNow API is organized around the REST methodology, and it uses resource-oriented URLs, and common HTTP response codes to indicate API errors. All requests are authenticated using an access_token which can be obtained by calling POST /auth/login.

User

User Api

Login

It generates new access and refresh tokens for the user

Request Body schema: application/json
username
string
password
string

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "access_token": "string",
  • "refresh_token": "string"
}

Get authenticated user

Get the information of the current logged-in user.

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "username": "string",
  • "email": "string",
  • "language": {
    },
  • "userGroup": {
    },
  • "createdAt": "string",
  • "updatedAt": "string",
  • "emailConfirmed": 0,
  • "disabledAt": "string",
  • "password_expires": "string"
}

Set new password

Set a new password after resetting it.

Authorizations:
BearerAuth
Request Body schema: application/json
token
string

The token retrieved from the reset password email.

password
string

The new password for the user.

Responses

Request samples

Content type
application/json
{
  • "token": "string",
  • "password": "string"
}

Response samples

Content type
application/json
{
  • "access_token": "string",
  • "refresh_token": "string"
}

Reset password

Reset password of user, request will also returned successful if user is not found.

Authorizations:
BearerAuth
Request Body schema: application/json
username
string
email
string

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "email": "string"
}

Confirm/activate user

Activate and confirm the email-address of the user.

Request Body schema: application/json
token
string

The token from the activation email.

password
string

The new password of the user

Responses

Request samples

Content type
application/json
{
  • "token": "string",
  • "password": "string"
}

Refresh access token

Refresh an expired access token.

Authorizations:
BearerAuth
Request Body schema: application/json
refresh_token
string

Responses

Request samples

Content type
application/json
{
  • "refresh_token": "string"
}

Response samples

Content type
application/json
{
  • "access_token": "string",
  • "refresh_token": "string"
}

Check token

Verify if the access token is still valid

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "message": "string",
  • "isAdmin": true
}

Add a new user

Authorizations:
BearerAuth
Request Body schema: application/json

User object that needs to be added to the store

username
required
string
email
required
integer
userGroup
required
integer
language
required
integer

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "email": 0,
  • "userGroup": 0,
  • "language": 0
}

Response samples

Content type
application/json
{
  • "id": 0
}

Find users

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Count the number of users

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Find one user

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the user

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "username": "string",
  • "email": "string",
  • "language": 0,
  • "userGroup": 0,
  • "createdAt": "string",
  • "updatedAt": "string",
  • "emailConfirmed": 0,
  • "disabledAt": "string",
  • "password_expires": "string"
}

Update user

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the user

Request Body schema: application/json

User object that needs to be updated in the store

username
string
email
integer
userGroup
integer
language
integer

Responses

Request samples

Content type
application/json
{
  • "username": "string",
  • "email": 0,
  • "userGroup": 0,
  • "language": 0
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Remove user

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the user

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Populate user's associations/collections

Authorizations:
BearerAuth
path Parameters
parentid
required
integer

ID of user

alias
required
string
Enum: "userGroup" "language"

Resource to populate

Responses

Response samples

Content type
application/json
{ }

Login as another user

Authorizations:
BearerAuth
path Parameters
id
required
integer

The ID of the user to login as

Responses

Response samples

Content type
application/json
{
  • "access_token": "string",
  • "refresh_token": "string"
}

User group

The user groups

Count the number of user groups

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Find user groups

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add a new user group

Authorizations:
BearerAuth
Request Body schema: application/json

User group object that needs to be added to the store

name
required
string
parent
required
integer
locations
Array of integers
locationGroups
Array of integers

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "parent": 0,
  • "locations": [
    ],
  • "locationGroups": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0
}

Remove user group

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the user group

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Find one user group

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the user group

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "parent": 0,
  • "admin": 0,
  • "createdAt": "string",
  • "updatedAt": "string",
  • "disabledAt": "string",
  • "deleted": true
}

Update a user group

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the user group

Request Body schema: application/json

User group object that needs to be updated in the store

name
string
parent
integer
locations
Array of integers
locationGroups
Array of integers

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "parent": 0,
  • "locations": [
    ],
  • "locationGroups": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Get the user groups this user group could be moved to

Authorizations:
BearerAuth
path Parameters
parentid
required
integer

ID of user group

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Populate user group's associations/collections

Authorizations:
BearerAuth
path Parameters
parentid
required
integer

ID of user group

alias
required
string
Enum: "parent" "users" "errorCodes" "manufacturers" "locations" "errorProfiles" "alertGroups" "alertRecipients" "locationGroups" "permissions" "languages" "translations" "machineModels" "machineGroups" "alertObservers" "machine"

Resource to populate

Responses

Response samples

Content type
application/json
{ }

Machine

The machines

Update houdini config

Authorizations:
BearerAuth
path Parameters
hostname
required
string

Hostname of the machine

Request Body schema: application/json

Houdini config that need to be stored

config
required
string

Responses

Request samples

Content type
application/json
{
  • "config": "string"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Update all machines' configuration for the given filter

Update all machines' configuration for the given filter

Authorizations:
BearerAuth
Request Body schema: application/json

The configuration to set and a list of resources it should be set on

required
object
required
object

Responses

Request samples

Content type
application/json
{
  • "filter": {
    },
  • "configuration": {
    }
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Count the number of machines

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Get machine and group them per location

Get machine and group them per location

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "address": "string",
  • "postcode": "string",
  • "city": "string",
  • "country": "string",
  • "activeShift": 0,
  • "latitude": "string",
  • "longitude": "string",
  • "placeId": "string",
  • "timeZone": "string",
  • "id": 0,
  • "machines": [
    ]
}

Get alert observer's machines

Authorizations:
BearerAuth
path Parameters
id
required
integer

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get alertobservers based on widget id and status

Authorizations:
BearerAuth
path Parameters
status
required
string

The status to find

query Parameters
widget
integer

The id of the widget

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get machine count(s) grouped by status for a given machineStatus widget

Authorizations:
BearerAuth
path Parameters
status
required
string

The status to find

query Parameters
widget
integer

The id of the widget

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get machine count(s) grouped by status for a given machineStatus widget

Authorizations:
BearerAuth
query Parameters
widget
required
integer

The id of the widget

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get the machines the user has access to, including the alert observers observing them

Authorizations:
BearerAuth
query Parameters
id
required
integer

The id of the widget

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get the number of machines/alertobserver the user has access to

Authorizations:
BearerAuth
query Parameters
id
required
integer

The id of the widget

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Count the number of alertobservers on a machine

Authorizations:
BearerAuth
path Parameters
id
required
integer

The id of the machine

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Get alert observers

Authorizations:
BearerAuth
path Parameters
id
required
integer

The id of the machine

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get current network status of the given machine

Authorizations:
BearerAuth
path Parameters
id
required
integer

The id of the machine

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Find machine

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add a new machine or copy machine if source query params is passed

Authorizations:
BearerAuth
query Parameters
source
integer

The id of the source machine to be copied (fields and assortment)

Request Body schema: application/json

Machine object that needs to be added to the store

name
required
string
hostname
required
string
location
required
integer
machineModel
required
integer
machineType
required
integer
manufacturer
required
integer
currency
required
integer
debtor
integer
tag
string
virtualPrices
boolean
active
boolean
machineGroups
Array of integers

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "hostname": "string",
  • "location": 0,
  • "machineModel": 0,
  • "machineType": 0,
  • "manufacturer": 0,
  • "currency": 0,
  • "debtor": 0,
  • "tag": "string",
  • "virtualPrices": true,
  • "active": true,
  • "machineGroups": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0
}

Find one machine

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the machine

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "hostname": "string",
  • "gateway": 0,
  • "location": 0,
  • "machineModel": 0,
  • "machineType": 0,
  • "manufacturer": 0,
  • "lastRevenuetransaction": 0,
  • "lastLog": 0,
  • "lastIotevent": 0,
  • "tag": "string",
  • "notes": "string",
  • "virtualPrices": 0,
  • "active": 0,
  • "currency": 0,
  • "debtor": 0,
  • "logSynced": 0,
  • "revenuetransactionSynced": 0,
  • "ioteventSynced": 0,
  • "ruleSet": "string",
  • "createdAt": "string",
  • "updatedAt": "string",
  • "lastSoldId": 0,
  • "isManagedAssortment": 0,
  • "configState": "scheduled",
  • "transactionProfile": 0,
  • "hasSubscription": 0
}

Update a machine

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the machine

Request Body schema: application/json

Machine object that needs to be updated

name
string
location
integer
machineModel
integer
machineType
integer
manufacturer
integer
currency
integer
debtor
integer
tag
string
virtualPrices
boolean
active
boolean
machineGroups
Array of integers

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "location": 0,
  • "machineModel": 0,
  • "machineType": 0,
  • "manufacturer": 0,
  • "currency": 0,
  • "debtor": 0,
  • "tag": "string",
  • "virtualPrices": true,
  • "active": true,
  • "machineGroups": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Sync one machine

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the machine

Responses

Response samples

Content type
application/json
{
  • "processed": true,
  • "details": "string"
}

Populate machine's associations/collections

Authorizations:
BearerAuth
path Parameters
parentid
required
integer

ID of machine

alias
required
string
Enum: "location" "machineModel" "machineType" "manufacturer" "machineGroups" "alertObservers"

Resource to populate

Responses

Response samples

Content type
application/json
{ }

Find machines by user group

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Count vouchers

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Machine model

The machine models

Count the number of machine models

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Find machine models

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add a new machine model

Authorizations:
BearerAuth
Request Body schema: application/json

Machine model object that needs to be added to the store

name
required
string
manufacturer
required
integer
errorProfile
required
integer
machineType
integer

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "manufacturer": 0,
  • "errorProfile": 0,
  • "machineType": 0
}

Response samples

Content type
application/json
{
  • "id": 0
}

Find one machine model

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the machine model

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "manufacturer": 0,
  • "machineType": 0,
  • "errorProfile": 0,
  • "image": 0,
  • "userGroup": 0,
  • "createdAt": "string",
  • "updatedAt": "string"
}

Update a machine model

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the machine model

Request Body schema: application/json

Machine model object that needs to be updated in the store

name
string
manufacturer
integer
errorProfile
integer
machineType
integer

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "manufacturer": 0,
  • "errorProfile": 0,
  • "machineType": 0
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Populate machine model's associations/collections

Authorizations:
BearerAuth
path Parameters
parentid
required
integer

ID of machine model

alias
required
string
Enum: "manufacturer" "machineType" "errorProfile" "userGroup"

Resource to populate

Responses

Response samples

Content type
application/json
{ }

Machine type

The machine types

Count the number of machine types

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Find machine types

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add a new machine type

Authorizations:
BearerAuth
Request Body schema: application/json

Machine type object that needs to be added to the store

name
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "id": 0
}

Find one machine type

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the machine type

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "image": 0,
  • "createdAt": "string",
  • "updatedAt": "string"
}

Update a machine type

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the machine type

Request Body schema: application/json

Machine type object that needs to be updated in the store

name
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Populate machine type's associations/collections

Authorizations:
BearerAuth
path Parameters
parentid
required
integer

ID of machine type

alias
required
string
Enum: "manufacturers" "machines" "image"

Resource to populate

Responses

Response samples

Content type
application/json
{ }

Manufacturer

The manufacturers

Count the number of manufacturers

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Find manufacturers

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add a new manufacturer

Authorizations:
BearerAuth
Request Body schema: application/json

Manufacturer object that needs to be added to the store

name
required
string
machineTypes
Array of integers

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "machineTypes": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0
}

Find one manufacturer

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the manufacturer

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "userGroup": 0,
  • "createdAt": "string",
  • "updatedAt": "string"
}

Update a manufacturer

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the manufacturer

Request Body schema: application/json

Manufacturer object that needs to be updated in the store

name
string
machineTypes
Array of integers

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "machineTypes": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Populate manufacturer's associations/collections

Authorizations:
BearerAuth
path Parameters
parentid
required
integer

ID of manufacturer

alias
required
string
Enum: "machineTypes" "userGroup"

Resource to populate

Responses

Response samples

Content type
application/json
{ }

Machine group

Organizes the machines into groups

Count the number of machine groups

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Find machine groups

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add a new machine group

Authorizations:
BearerAuth
Request Body schema: application/json

Machine group object that needs to be added to the store

name
required
string
machines
Array of integers

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "machines": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0
}

Find one machine group

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the machine group

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "userGroup": 0,
  • "createdAt": "string",
  • "updatedAt": "string"
}

Update a machine group

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the machine group

Request Body schema: application/json

Machine group object that needs to be updated in the store

name
string
machines
Array of integers

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "machines": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Delete a machine group

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the machine group

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Populate machine group's associations/collections

Authorizations:
BearerAuth
path Parameters
parentid
required
integer

ID of machine group

alias
required
string
Enum: "machines" "userGroup"

Resource to populate

Responses

Response samples

Content type
application/json
{ }

Machine config

The machines' gateway configuration

Updates the software on the gateway

Authorizations:
BearerAuth
path Parameters
hostname
required
string

Hostname

Responses

Response samples

Content type
application/json
{
  • "id": 0
}

Get machine config by hostname

Get the configiration of the machine

Authorizations:
BearerAuth
path Parameters
hostname
required
string

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "apn": "string",
  • "config": "string",
  • "sharing": "string",
  • "mode": "string",
  • "encryption": "string",
  • "encryptionKey": "string",
  • "ssid": "string"
}

Get machine config templates

Get the configiration of the machine

Authorizations:
BearerAuth
query Parameters
hostname
string

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "apn": "string",
  • "config": "string",
  • "sharing": "string",
  • "mode": "string",
  • "encryption": "string",
  • "encryptionKey": "string",
  • "ssid": "string"
}

Find a machine config template

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of machine config template

Responses

Response samples

Content type
application/json
{
  • "name": "string",
  • "config": "string",
  • "mode": "string",
  • "ssid": "string",
  • "encryption": "string",
  • "encryptionKey": "string",
  • "apn": "string",
  • "sharing": "string"
}

Update machine's configuration

Update the configuration of the machine

Authorizations:
BearerAuth
path Parameters
machine
required
integer

The id of the machine

Request Body schema: application/json
config
string
mode
string
ssid
string
encryption
string
encryptionKey
string
apn
string
sharing
string
machine
integer

Responses

Request samples

Content type
application/json
{
  • "config": "string",
  • "mode": "string",
  • "ssid": "string",
  • "encryption": "string",
  • "encryptionKey": "string",
  • "apn": "string",
  • "sharing": "string",
  • "machine": 0
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Location

The locations where the machines are physically placed

Count the number of locations

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Find locations

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add a new location

Authorizations:
BearerAuth
Request Body schema: application/json

location object that needs to be added to the store

name
required
string
address
required
string
postcode
required
string
city
required
string
country
required
string
latitude
number
longitude
number
placeId
string
locationGroups
Array of integers

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "address": "string",
  • "postcode": "string",
  • "city": "string",
  • "country": "string",
  • "latitude": 0,
  • "longitude": 0,
  • "placeId": "string",
  • "locationGroups": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0
}

Find one location

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the location

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "address": "string",
  • "postcode": "string",
  • "city": "string",
  • "country": "string",
  • "activeShift": 0,
  • "latitude": "string",
  • "longitude": "string",
  • "placeId": "string",
  • "timeZone": "string",
  • "createdAt": "string",
  • "updatedAt": "string"
}

Update a location

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the location

Request Body schema: application/json

location object that needs to be updated in the store

name
string
address
string
postcode
string
city
string
country
string
latitude
integer
longitude
integer
placeId
string
locationGroups
Array of integers

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "address": "string",
  • "postcode": "string",
  • "city": "string",
  • "country": "string",
  • "latitude": 0,
  • "longitude": 0,
  • "placeId": "string",
  • "locationGroups": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Delete a location

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the location

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Populate location's associations/collections

Authorizations:
BearerAuth
path Parameters
parentid
required
integer

ID of location

alias
required
string
Enum: "userGroups" "machines" "shifts" "locationGroups"

Resource to populate

Responses

Response samples

Content type
application/json
[
  • { }
]

Location group

Used to group locations

Count the number of location groups

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Find location groups

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add a new location group

Authorizations:
BearerAuth
Request Body schema: application/json

Location group object that needs to be added to the store

name
required
string
locations
Array of integers

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "locations": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0
}

Find one location group

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the location group

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "userGroup": 0,
  • "createdAt": "string",
  • "updatedAt": "string"
}

Update a location group

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the location group

Request Body schema: application/json

Location group object that needs to be updated in the store

name
string
locations
Array of integers

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "locations": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Delete a location group

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the location group

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Populate location group's associations/collections

Authorizations:
BearerAuth
path Parameters
parentid
required
integer

ID of locationgroup

alias
required
string
Enum: "userGroups" "locations" "userGroup"

Resource to populate

Responses

Response samples

Content type
application/json
{ }

Location shift

The locations' shift

Count the number of shifts

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Populate report's associations/collections

Authorizations:
BearerAuth
path Parameters
parentid
required
integer

ID of report

alias
required
string
Enum: "locationGroup" "manufacturers" "locations" "machineTypes" "machineModels" "machineGroups" "machines" "user"

Resource to populate

Responses

Response samples

Content type
application/json
{ }

Close a new shift and open a new one

Authorizations:
BearerAuth
Request Body schema: application/json
location
required
integer

Responses

Request samples

Content type
application/json
{
  • "location": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "location": 0,
  • "firstTransaction": 0,
  • "lastTransaction": 0,
  • "previousShift": 0,
  • "closed": "string",
  • "createdAt": "string",
  • "updatedAt": "string"
}

Find shifts

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Find one shift

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the shift

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "location": 0,
  • "firstTransaction": 0,
  • "lastTransaction": 0,
  • "previousShift": 0,
  • "closed": "string",
  • "createdAt": "string",
  • "updatedAt": "string"
}

Populate shift's associations/collections

Authorizations:
BearerAuth
path Parameters
parentid
required
integer

ID of shift

alias
required
string
Enum: "location" "aggregatedRevenueTransaction"

Resource to populate

Responses

Response samples

Content type
application/json
{ }

Find aggregated payment transaction

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get payment sum

Get the sum of aggregated payment transactions grouped by currency.

Authorizations:
BearerAuth
query Parameters
shift
required
integer

The id of the shift

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Find aggregated revenue transaction

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get revenue sum

Get the sum of aggregated revenue transactions grouped by currency.

Authorizations:
BearerAuth
query Parameters
shift
required
integer

The id of the shift

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Count the number of aggregated revenue transactions in a shift

Authorizations:
BearerAuth
query Parameters
shift
required
integer

The id of the shift

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Count the number of aggregated payment transactions in a shift

Authorizations:
BearerAuth
query Parameters
shift
required
integer

The id of the shift

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Opening hour

Manage opening hours of: machines, machine groups, locations or location groups

Set opening hours

Set the opening hours of a machine through a parent resource. Example: updating the opening hours of a location will override all the open hours of the machines that are part of that location.

Authorizations:
BearerAuth
path Parameters
resource
required
string
Enum: "machine" "machinegroup" "location" "locationgroup"
id
required
integer

The ID of the resource

Request Body schema: application/json
Array
day
integer
startTime
string
endTime
string

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "message": "string"
}

Get openinghours

Get the openinghours of a certain machine.

Authorizations:
BearerAuth
query Parameters
machine
required
integer

The id of the machine

Responses

Response samples

Content type
application/json
{
  • "day": 0,
  • "startTime": "string",
  • "endTime": "string"
}

Revenue transaction

The transactions registered on the machines

Count the number of revenue transactions

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Find revenue transactions

Authorizations:
BearerAuth
query Parameters
limit
integer <= 100
Default: "∞"

Limit the number of logs returned

skip
integer
Default: 0

Skips the first 'N' items of the results

where[<col>][<op>]: value
string

Filter criteria. It supports multiple values: e.g. where[occurredAt][>]=2018-05-15T00:00:00&where[machine]=1094

sort
string
Default: "asc"

The sort column e.g. sort[occurredAt]=desc

useArchive
boolean

It will use archived data in combination with the last data available. If True: only limit and where are used. limit becomes mandatory, max limit is 1000 and where accepts only a machine id (mandatory) and id with > operator (optional. Defaults to: where.id > -1)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Find one revenue transaction

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the revenue transaction

Responses

Response samples

Content type
application/json
{
  • "id": 3184234,
  • "product": 1,
  • "name": "Kaffee klein",
  • "internalRef": "KAF-KL",
  • "machine": 80,
  • "location": 2,
  • "occurredAt": "2019-02-06T07:06:17+01:00",
  • "timeZone": "Europe/Amsterdam",
  • "originalPrice": 0,
  • "price": 10,
  • "barcode": null,
  • "currency": "EUR",
  • "timestamp": 1549433177,
  • "token": "^^C:R/-0",
  • "salestype": 0,
  • "numPaymentTransactions": 1,
  • "remote": 40314354,
  • "pricelist": 0,
  • "usergroup": 0,
  • "createdAt": "2019-02-06T06:12:16Z",
  • "updatedAt": "2019-02-06T06:12:16Z"
}

Populate revenue transaction's associations/collections

Authorizations:
BearerAuth
path Parameters
parentid
required
integer

ID of revenue transaction

alias
required
string
Enum: "paymenttransactions" "machine" "location"

Resource to populate

Responses

Response samples

Content type
application/json
{ }

Summary all products

Get a summary of revenue grouped by currency and date.

Authorizations:
BearerAuth
query Parameters
startDate
required
string
endDate
required
string
machines
Array of integers

Limit the results based on machines ids

locations
Array of integers

Limit the results based on location ids

Responses

Response samples

Content type
application/json
{
  • "<$currency>": [
    ]
}

Top products

Get the best selling product for each day grouped by product.

Authorizations:
BearerAuth
query Parameters
startDate
required
string
endDate
required
string
machines
Array of integers

Limit the results based on machines ids

locations
Array of integers

Limit the results based on location ids

amount
integer

Amount of products, defaults to 10

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Total revenue summary

The revenue summary and the amount of products sold for various periods grouped by currency

Authorizations:
BearerAuth
query Parameters
machines
Array of integers

Limit the results based on machines ids

locations
Array of integers

Limit the results based on location ids

Responses

Response samples

Content type
application/json
{
  • "<$currency>": [
    ]
}

Revenue distribution

Contains data of the last three months grouped by hour and day.

Authorizations:
BearerAuth
query Parameters
machines
Array of integers

Limit the results based on machines ids

locations
Array of integers

Limit the results based on location ids

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Payment transaction

The payments contained in the revenue transactions

Count the number of payment transactions

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Find payment transactions

Authorizations:
BearerAuth
query Parameters
limit
integer

Limit the number of logs returned

skip
integer

Skips the first 'N' items of the results

where[<col>][<op>]: value
string

Filter criteria. It supports multiple values: e.g. where[occurredAt][>]=2018-05-15T00:00:00&where[machine]=1094

sort
string

The sort column e.g. sort[occurredAt]=desc

useArchive
boolean

It will use archived data in combination with the last data available. If True: only limit and where are used. limit becomes mandatory, max limit is 1000 and where accepts only a machine id (mandatory) and id with > operator (optional. Defaults to: where.id > -1)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Find one payment transaction

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the payment transaction

Responses

Response samples

Content type
application/json
{
  • "id": 3287746,
  • "revenuetransaction": 3184234,
  • "machine": 80,
  • "location": 2,
  • "occurredAt": "2019-02-06T07:06:17+01:00",
  • "timeZone": "Europe/Amsterdam",
  • "method": "virtual",
  • "type": "virtual",
  • "price": 10,
  • "currency": "EUR",
  • "exclude": 0,
  • "reportGroup": null,
  • "createdAt": "2019-02-06T06:12:16Z",
  • "updatedAt": "2019-02-06T06:12:16Z"
}

Populate payment transaction's associations/collections

Authorizations:
BearerAuth
path Parameters
parentid
required
integer

ID of payment transaction

alias
required
string
Enum: "revenuetransaction" "machine" "location"

Resource to populate

Responses

Response samples

Content type
application/json
{ }

Log

Events generated by machines

Count the number of logs

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Count the number of raw logs

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Find logs

Authorizations:
BearerAuth
query Parameters
limit
integer <= 100
Default: "∞"

Limit the number of logs returned

skip
integer
Default: 0

Skips the first 'N' items of the results

where[<col>][<op>]: value
string

Filter criteria. It supports multiple values: e.g. where[occurredAt][>]=2018-05-15T00:00:00&where[machine]=1094

sort
string

The sort column e.g. sort[occurredAt]=desc

useArchive
boolean

It will use archived data in combination with the last data available. If True: only limit and where are used. limit becomes mandatory, max limit is 1000 and where accepts only a machine id (mandatory) and id with > operator (optional. Defaults to: where.id > -1)

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Find one log

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the log

Responses

Response samples

Content type
application/json
{
  • "id": 5801104,
  • "remote": 89773649,
  • "machine": 80,
  • "location": 2,
  • "code": "CM_REBOOT",
  • "errorIdentity": 3,
  • "type": 1,
  • "isResolvable": false,
  • "occurredAt": "2019-03-12T05:36:58+01:00",
  • "timeZone": "Europe/Amsterdam",
  • "duration": null,
  • "extraData": "{\"uptime\": 67}",
  • "date": 1552365418,
  • "timestamp": 1552365418,
  • "resolvedAt": null,
  • "state": null,
  • "createdAt": "2019-03-12T04:36:59Z"
}

Find raw logs

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • null
]

Find log status

Authorizations:
BearerAuth
query Parameters
machine
integer

The id of the machine

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Top log events

Returns a list of (translated) events and the amount of concurrences.

Authorizations:
BearerAuth
query Parameters
machines
Array of integers

Limit the results based on machines ids

locations
Array of integers

Limit the results based on location ids

limit
integer

Limit the results, defaults to 10, max 30

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Populate log's associations/collections

Authorizations:
BearerAuth
path Parameters
parentid
required
integer

ID of log

alias
required
string
Enum: "machine" "errorIdentity" "location"

Resource to populate

Responses

Response samples

Content type
application/json
{ }

Report

Reports based on revenue transactions, payment transactions, logs or shifts

Get the logs resolution report

Authorizations:
BearerAuth
Request Body schema: application/json

Report request object

machines
Array of integers
locations
Array of integers
machineGroups
Array of integers
locationGroups
Array of integers
required
object
object

Responses

Request samples

Content type
application/json
{
  • "machines": [
    ],
  • "period1": {
    }
}

Response samples

Content type
application/json
{
  • "period1": {
    },
  • "period2": {
    }
}

Get the logs frequency report

Authorizations:
BearerAuth
Request Body schema: application/json

Report request object

machines
Array of integers
locations
Array of integers
machineGroups
Array of integers
locationGroups
Array of integers
required
object
object

Responses

Request samples

Content type
application/json
{
  • "machines": [
    ],
  • "period1": {
    }
}

Response samples

Content type
application/json
{
  • "period1": {
    },
  • "period2": {
    }
}

Get the report revenuetransaction

Authorizations:
BearerAuth
Request Body schema: application/json

Report request object

machines
Array of integers
locations
Array of integers
machineGroups
Array of integers
locationGroups
Array of integers
required
object
object

Responses

Request samples

Content type
application/json
{
  • "machines": [
    ],
  • "period1": {
    }
}

Response samples

Content type
application/json
{
  • "period1": {
    },
  • "period2": {
    }
}

Get the report paymenttransaction

Authorizations:
BearerAuth
Request Body schema: application/json

Report request object

machines
Array of integers
locations
Array of integers
machineGroups
Array of integers
locationGroups
Array of integers
required
object
object

Responses

Request samples

Content type
application/json
{
  • "machines": [
    ],
  • "period1": {
    }
}

Response samples

Content type
application/json
{
  • "period1": {
    }
}

Get the payments generated by the shifts closed within the provided time periods

Authorizations:
BearerAuth
Request Body schema: application/json

Report request object

machines
Array of integers
locations
Array of integers
machineGroups
Array of integers
locationGroups
Array of integers
required
object
object

Responses

Request samples

Content type
application/json
{
  • "machines": [
    ],
  • "period1": {
    }
}

Response samples

Content type
application/json
{
  • "period1": {
    },
  • "period2": {
    }
}

Get the revenue generated by the shifts closed within the provided time periods

Authorizations:
BearerAuth
Request Body schema: application/json

Report request object

machines
Array of integers
locations
Array of integers
machineGroups
Array of integers
locationGroups
Array of integers
required
object
object

Responses

Request samples

Content type
application/json
{
  • "machines": [
    ],
  • "period1": {
    }
}

Response samples

Content type
application/json
{
  • "period1": {
    },
  • "period2": {
    }
}

Download raw transactions

Get a CSV file containing the raw transactions on which a report is based, the date-range must be within 6 months of the current date. Example of valid query parameters: ?period1[startDate]=2023-01-01 00:00:00&period1[endDate]=2023-01-07 23:59:59&period1[referenceDate]=2023-01-20 12:18:46&timezone=Europe/Amsterdam&locations[]=2&locations[]=47

Authorizations:
BearerAuth
query Parameters
required
object

Description of the first period to gather

locations
Array of integers

List of location ids to filter on

locationGroups
Array of integers

List of location group ids to filter on

machines
Array of integers

List of machine ids to filter on

machineGroups
Array of integers

List of machine group ids to filter on

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Find own reports

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create report

Authorizations:
BearerAuth
Request Body schema: application/json
name
string
object
object

Optional period

locationGroup
Array of integers

Optional filter

locations
Array of integers

Optional filter

machineGroups
Array of integers

Optional filter

machines
Array of integers

Optional filter

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "period1": {
    },
  • "period2": {
    },
  • "locationGroup": [
    ],
  • "locations": [
    ],
  • "machineGroups": [
    ],
  • "machines": [
    ]
}

Response samples

Content type
application/json
{
  • "id": 0
}

Delete report

Authorizations:
BearerAuth
path Parameters
id
required
integer

The id of the report

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Find one report

Authorizations:
BearerAuth
path Parameters
id
required
integer

The id of the report

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "period1": 0,
  • "period2": 0,
  • "user": 0,
  • "createdAt": "string",
  • "updatedAt": "string"
}

Update report

Update a report. All properties in the request body are optional.

Authorizations:
BearerAuth
path Parameters
id
required
integer

The id of the report

Request Body schema: application/json
name
string
object
object
locationGroup
Array of integers
locations
Array of integers
machineGroups
Array of integers
machineModels
Array of integers
machineTypes
Array of integers
machines
Array of integers
manufactures
Array of integers

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "period1": {
    },
  • "period2": {
    },
  • "locationGroup": [
    ],
  • "locations": [
    ],
  • "machineGroups": [
    ],
  • "machineModels": [
    ],
  • "machineTypes": [
    ],
  • "machines": [
    ],
  • "manufactures": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Add associations

Authorizations:
BearerAuth
path Parameters
parentid
required
integer

ID of report

alias
required
string
Enum: "locations" "manufacturers" "machineTypes" "machineModels" "machineGroups" "machines"

Resource to add

id
required
integer

ID of the association to add

Responses

Response samples

Content type
application/json
{
  • "id": 0
}

Remove associations

Authorizations:
BearerAuth
path Parameters
parentid
required
integer

ID of report

alias
required
string
Enum: "locations" "manufacturers" "machineTypes" "machineModels" "machineGroups" "machines"

Resource to remove

id
required
integer

ID of the association to remove

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

User report

User reports

Create a new user report for the authenticated user

Authorizations:
BearerAuth
Request Body schema: application/json
name
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Returns the user reports of the authenticated user

Authorizations:
BearerAuth
query Parameters
isDraft
boolean

Filter by draft userreports

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Returns a single user report

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the user report

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "user": 0,
  • "name": "string",
  • "createAt": "string",
  • "updateAt": "string"
}

Create a new user report for the authenticated user

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the user report

Request Body schema: application/json
name
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Create a new user report for the authenticated user

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the user report

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Create a new default chart in a user report

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of user report

Request Body schema: application/json
name
string
type
required
string (DefaultChartTypes)
Enum: "revenue_full" "revenue_grouped" "payment_types" "offline_machines" "machine_cleaning" "machine_alarms" "machine_issues"
view
string (ChartViews)
Enum: "table" "bars" "lines" "pie"
object (ChartCriteria)
position
integer

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "type": "revenue_full",
  • "view": "table",
  • "criteria": {
    },
  • "position": 0
}

Response samples

Content type
application/json
{
  • "id": 0
}

Gets the chart data for a user report

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of user report

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Create a new user report for the authenticated user

Authorizations:
BearerAuth
query Parameters
id
required
integer

The id of the user report to duplicate

Request Body schema: application/json

The name of the new user report

name
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Get a chart

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the chart

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "type": "string",
  • "criteria": {
    },
  • "report": 0,
  • "reportType": "string",
  • "createAt": "string",
  • "updateAt": "string"
}

Update a chart. If status=inProgress, the chart results will be recalculated

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of user report

Request Body schema: application/json
id
integer
name
string
type
string
object (ChartCriteria)
report
integer
reportType
string
createAt
string <string-utc>
updateAt
string <string-utc>

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "type": "string",
  • "criteria": {
    },
  • "report": 0,
  • "reportType": "string",
  • "createAt": "string",
  • "updateAt": "string"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Get a chart

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of user report

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Get chart field

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the chart

field
required
string

Field of the chart to be returned

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "type": "string",
  • "criteria": {
    },
  • "report": 0,
  • "reportType": "string",
  • "createAt": "string",
  • "updateAt": "string"
}

User report chart

User Report charts

Chart template

Chart templates

Returns the chart templates

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Count the number of chart templates

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Returns a single chart template

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the chart template

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "type": "string",
  • "criteria": {
    },
  • "createAt": "string",
  • "updateAt": "string"
}

Alert observer

Describes the criteria that to generate alert

Count the number of alert observers

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Find alert observers

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add a new alert observer

Authorizations:
BearerAuth
Request Body schema: application/json

Alert observer object that needs to be added to the store

name
required
string
type
required
string
Enum: "event" "transaction"
observer
required
string
Enum: "occurrence" "non_resolution" "non_occurrence"
timer
required
integer
timerType
required
integer
Enum: 1 2 3 4
alertGroup
required
integer
error
integer
occurs
integer
paymentMethod
string
Enum: "cash" "card" "code" "virtual" "token"
machines
Array of integers
openingHours
boolean

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "type": "event",
  • "observer": "occurrence",
  • "timer": 0,
  • "timerType": 1,
  • "alertGroup": 0,
  • "error": 0,
  • "occurs": 0,
  • "paymentMethod": "cash",
  • "machines": [
    ],
  • "openingHours": true
}

Response samples

Content type
application/json
{
  • "id": 0
}

Remove an alert observer

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the alert observer

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Find one alert observer

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the alert observer

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "error": 0,
  • "observer": "string",
  • "occurs": 0,
  • "timer": 0,
  • "timerType": 0,
  • "alertGroup": 0,
  • "sentAt": "string",
  • "type": "string",
  • "paymentMethod": "string",
  • "openingHours": 0,
  • "userGroup": 0,
  • "createdAt": "string",
  • "updatedAt": "string"
}

Update an alert observer

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the alert observer

Request Body schema: application/json

Alert observer object that needs to be updated in the store

name
string
type
string
Enum: "event" "transaction"
observer
string
Enum: "occurrence" "non_resolution" "non_occurrence"
timer
integer
timerType
integer
Enum: 1 2 3 4
alertGroup
integer
error
integer
occurs
integer
paymentMethod
string
Enum: "cash" "card" "code" "virtual" "token"
machines
Array of integers
openingHours
boolean

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "type": "event",
  • "observer": "occurrence",
  • "timer": 0,
  • "timerType": 1,
  • "alertGroup": 0,
  • "error": 0,
  • "occurs": 0,
  • "paymentMethod": "cash",
  • "machines": [
    ],
  • "openingHours": true
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Reset the occurrence counter of the given alert observer

Authorizations:
BearerAuth
path Parameters
machine
required
integer

ID of the machine

id
required
integer

ID of the alert observer

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Populate alert observer's associations/collections

Authorizations:
BearerAuth
path Parameters
parentid
required
integer

ID of alert observer

alias
required
string
Enum: "error" "alertGroup" "machines" "userGroup"

Resource to populate

Responses

Response samples

Content type
application/json
{ }

Alert group

Group of alert recipients

Count the number of alert groups

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Find alert groups

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add a new alert group

Authorizations:
BearerAuth
Request Body schema: application/json

Alert group object that needs to be added to the store

name
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "id": 0
}

Find an alert group

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of alert group

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "userGroup": 0,
  • "createdAt": "string",
  • "updatedAt": "string"
}

Update an alert group

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of alert group

Request Body schema: application/json

Alert group object that needs to be updated

name
string

Responses

Request samples

Content type
application/json
{
  • "name": "string"
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "userGroup": 0,
  • "createdAt": "string",
  • "updatedAt": "string"
}

Populate alert group's associations/collections

Authorizations:
BearerAuth
path Parameters
parentid
required
integer

ID of alert group

alias
required
string
Enum: "userGroup" "recipients"

Resource to populate

Responses

Response samples

Content type
application/json
{ }

Alert recipient

Recipient to warn in case of alert

Find alert recipients

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add a new alert recipient

Authorizations:
BearerAuth
Request Body schema: application/json

Alert recipient object that needs to be added to the store

name
required
string
email
required
string
language
required
integer
alertGroup
required
integer
active
boolean

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "email": "string",
  • "language": 0,
  • "alertGroup": 0,
  • "active": true
}

Response samples

Content type
application/json
{
  • "id": 0
}

Count the number of alert recipients

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Find one alert recipient

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the alert recipient

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "email": "string",
  • "alertGroup": 0,
  • "language": 0,
  • "active": 0,
  • "userGroup": 0,
  • "createdAt": "string",
  • "updatedAt": "string"
}

Update an alert recipient

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the alert recipient

Request Body schema: application/json

Alert recipient object that needs to be updated in the store

name
string
email
string
language
integer
alertGroup
integer
active
boolean

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "email": "string",
  • "language": 0,
  • "alertGroup": 0,
  • "active": true
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Remove an alert observer

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the alert recipient

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Populate alert recipient's associations/collections

Authorizations:
BearerAuth
path Parameters
parentid
required
integer

ID of alert recipient

alias
required
string
Enum: "language" "alertGroup" "userGroup"

Resource to populate

Responses

Response samples

Content type
application/json
{ }

Product

Products served by machines

Add a new flavour to a assortment

Authorizations:
BearerAuth
path Parameters
machine
required
integer

ID of the machine

Request Body schema: application/json
name
string
reportName
string
price
integer
plu
integer

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "reportName": "string",
  • "price": 0,
  • "plu": 0
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Get the flavours of an assortment

Authorizations:
BearerAuth
path Parameters
machine
required
integer

ID of the machine

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "plu": 0,
  • "name": "string",
  • "price": "string",
  • "barcode": "string",
  • "machine": 0,
  • "reportName": "string",
  • "createdAt": "string",
  • "updatedAt": "string"
}

Get the quantity of flavours of an assortment

Authorizations:
BearerAuth
path Parameters
machine
required
integer

ID of the machine

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Update an existing flavour

Authorizations:
BearerAuth
path Parameters
machine
required
integer

ID of the machine

id
required
integer

ID of the flavour

Request Body schema: application/json
name
string
reportName
string
price
integer

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "reportName": "string",
  • "price": 0
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Delete a flavour

Authorizations:
BearerAuth
path Parameters
machine
required
integer

ID of the machine

id
required
integer

ID of the flavour

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Add a new extra product to a assortment

Authorizations:
BearerAuth
path Parameters
machine
required
integer

ID of the machine

Request Body schema: application/json
name
string
reportName
string
price
integer
plu
integer

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "reportName": "string",
  • "price": 0,
  • "plu": 0
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Get the extra products of an assortment

Authorizations:
BearerAuth
path Parameters
machine
required
integer

ID of the machine

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "plu": 0,
  • "name": "string",
  • "price": "string",
  • "barcode": "string",
  • "machine": 0,
  • "reportName": "string",
  • "createdAt": "string",
  • "updatedAt": "string"
}

Get the amount of extra products

Authorizations:
BearerAuth
path Parameters
machine
required
integer

ID of the machine

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Delete an extra product

Authorizations:
BearerAuth
path Parameters
machine
required
integer

ID of the machine

id
required
integer

ID of the extra product

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

FInd products

Get the product of a certain machine.

Authorizations:
BearerAuth
query Parameters
machine
required
integer

The id of the machine

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "plu": 0,
  • "name": "string",
  • "price": 0,
  • "barcode": "string",
  • "machine": 0,
  • "reportName": "string",
  • "createdAt": "string",
  • "updatedAt": "string",
  • "remotePrice": 0,
  • "type": "string",
  • "vatrate": 0,
  • "ledger": "string",
  • "subledger": "string"
}

Add a new product

Authorizations:
BearerAuth
path Parameters
machine
required
integer

ID of the machine

Request Body schema: application/json

Product object that needs to be added to the store

name
required
string
plu
required
integer
price
required
number
reportName
string
barcode
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "plu": 0,
  • "price": 0,
  • "reportName": "string",
  • "barcode": "string"
}

Response samples

Content type
application/json
{
  • "id": 0
}

Update a product

Authorizations:
BearerAuth
path Parameters
machine
required
integer

ID of the machine

id
required
integer

ID of the product

Request Body schema: application/json

Product object that needs to be updated in the store

name
string
machine
integer
plu
integer
price
number
reportName
string
barcode
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "machine": 0,
  • "plu": 0,
  • "price": 0,
  • "reportName": "string",
  • "barcode": "string"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Remove a product

Authorizations:
BearerAuth
path Parameters
machine
required
integer

ID of the machine

id
required
integer

ID of the product

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Count the number of product on a machine

Authorizations:
BearerAuth
query Parameters
machine
required
integer

The id of the machine

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Assortment

The machines' product assortment

Convert assortment preview

Returns current and the formatted assorment

Authorizations:
BearerAuth
path Parameters
machine
required
integer

The ID of the machine

Request Body schema: application/json
flavourPLU
integer
extraProductPLU
integer

Responses

Request samples

Content type
application/json
{
  • "flavourPLU": 0,
  • "extraProductPLU": 0
}

Response samples

Content type
application/json
{
  • "baseProducts": [
    ],
  • "productFlavours": [
    ],
  • "extraProducts": [
    ]
}

Convert assorment

Convert the current assortment into a new format, see convert preview

Authorizations:
BearerAuth
path Parameters
machine
required
integer

The ID of the machine

Request Body schema: application/json
flavourPLU
integer
extraProductPLU
integer

Responses

Request samples

Content type
application/json
{
  • "flavourPLU": 0,
  • "extraProductPLU": 0
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Import assortment

Override assortment with given products

Authorizations:
BearerAuth
path Parameters
machine
required
integer

The ID of the machine

Request Body schema: application/json
Array
plu
required
integer
name
required
string
reportName
string
price
required
integer
barcode
string

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "message": "string"
}

Copy assortment

Copy the assortment of a machine to a given group of machines

Authorizations:
BearerAuth
query Parameters
machine
required
integer

The id of the machine that will be used as source for the assortment

machineGroup
required
integer

The id of the machine group where the assortment should be copy to

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Error profile

Machine error profiles

Count the number of error profiles

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Find error profiles

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add a new error profile

Authorizations:
BearerAuth
Request Body schema: application/json

Error profile object that needs to be added to the store

name
required
string
machineType
required
integer
manufacturer
required
integer

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "machineType": 0,
  • "manufacturer": 0
}

Response samples

Content type
application/json
{
  • "id": 0
}

Find one error profile

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the error profile

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "machineType": 0,
  • "manufacturer": 0,
  • "userGroup": 0,
  • "createdAt": "string",
  • "updatedAt": "string"
}

Update an error profile

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the error profile

Request Body schema: application/json

Error profile object that needs to be updated in the store

name
string
machineType
integer
manufacturer
integer

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "machineType": 0,
  • "manufacturer": 0
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Populate error profile's associations/collections

Authorizations:
BearerAuth
path Parameters
parentid
required
integer

ID of error profile

alias
required
string
Enum: "machineType" "manufacturer" "errorCodes" "userGroup"

Resource to populate

Responses

Response samples

Content type
application/json
{ }

Remove associations

Authorizations:
BearerAuth
path Parameters
parentid
required
integer

ID of error profile

alias
required
string
Value: "translations"

Resource to remove

id
required
integer

ID of the association to remove

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Add associations

Authorizations:
BearerAuth
path Parameters
parentid
required
integer

ID of error profile

alias
required
string
Value: "errorCodes"

Resource to add

id
required
integer

ID of the association to add

Responses

Response samples

Content type
application/json
{
  • "id": 0
}

Create new transaction profile

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the transaction profile

Request Body schema: application/json

Transaction profile object to be added

id
integer
reportRule
string
Enum: "first_letter" "first_block"
paymentTypesMap
object

It contains pairs of payment method -> payment type. See [GET /transactionprofile/paymenttypes] for more details

Responses

Request samples

Content type
application/json
{
  • "id": 0,
  • "reportRule": "first_letter",
  • "paymentTypesMap": { }
}

Response samples

Content type
application/json
{
  • "id": 0
}

Error identity

Normalized errors/events descriptions

Count the number of error identities

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Find error identities

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add a new error identity

Authorizations:
BearerAuth
Request Body schema: application/json

Error identity object that needs to be added to the store

machineType
required
integer
error
required
string

Responses

Request samples

Content type
application/json
{
  • "machineType": 0,
  • "error": "string"
}

Response samples

Content type
application/json
{
  • "id": 0
}

Find one error identity

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the error identity

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "error": "string",
  • "machineType": 0,
  • "createdAt": "string",
  • "updatedAt": "string"
}

Update an error identity

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the error identity

Request Body schema: application/json

Error identity object that needs to be updated in the store

machineType
integer
error
string

Responses

Request samples

Content type
application/json
{
  • "machineType": 0,
  • "error": "string"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Populate error identity's associations/collections

Authorizations:
BearerAuth
path Parameters
parentid
required
integer

ID of error identity

alias
required
string
Enum: "machineType" "translations"

Resource to populate

Responses

Response samples

Content type
application/json
{ }

Remove associations

Authorizations:
BearerAuth
path Parameters
parentid
required
integer

ID of error identity

alias
required
string
Value: "translations"

Resource to remove

id
required
integer

ID of the association to remove

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Add associations

Authorizations:
BearerAuth
path Parameters
parentid
required
integer

ID of error identity

alias
required
string
Value: "translations"

Resource to add

id
required
integer

ID of the association to add

Responses

Response samples

Content type
application/json
{
  • "id": 0
}

Error code

Mapping between error profile and error identity

Find error codes

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add a new error code

Authorizations:
BearerAuth
Request Body schema: application/json

Error code object that needs to be added to the store

errorIdentity
required
integer
errorProfile
required
integer
code
string

Responses

Request samples

Content type
application/json
{
  • "errorIdentity": 0,
  • "errorProfile": 0,
  • "code": "string"
}

Response samples

Content type
application/json
{
  • "id": 0
}

Remove an error code

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the error code

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Find one error code

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the error code

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "code": "string",
  • "errorIdentity": 0,
  • "errorProfile": 0,
  • "userGroup": 0,
  • "createdAt": "string",
  • "updatedAt": "string"
}

Update an error code

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the error code

Request Body schema: application/json

Error code object that needs to be updated in the store

errorIdentity
integer
errorProfile
integer
code
string

Responses

Request samples

Content type
application/json
{
  • "errorIdentity": 0,
  • "errorProfile": 0,
  • "code": "string"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Populate error code's associations/collections

Authorizations:
BearerAuth
path Parameters
parentid
required
integer

ID of error code

alias
required
string
Enum: "errorIdentity" "errorProfile" "userGroup"

Resource to populate

Responses

Response samples

Content type
application/json
{ }

Transaction profile

Machine transaction profiles

Create new transaction profile

Authorizations:
BearerAuth
Request Body schema: application/json

Transaction profile object to be added

reportRule
string
Enum: "first_letter" "first_block"
paymentTypesMap
object

It contains pairs of payment method -> payment type. See [GET /transactionprofile/paymenttypes] for more details

Responses

Request samples

Content type
application/json
{
  • "reportRule": "first_letter",
  • "paymentTypesMap": { }
}

Response samples

Content type
application/json
{
  • "id": 0
}

Returns the supported report rules

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • "string"
]

Returns the supported payment types

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • "string"
]

Returns the default transaction profile values

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "reportRule": "first_letter",
  • "paymentTypesMap": { }
}

Returns the transaction profile with the provided ID

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the transaction profile

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "reportRule": "first_letter",
  • "paymentTypesMap": { }
}

Dashboard

User dashboards

Find user's dashboards

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get dashboard's widgets

Authorizations:
BearerAuth
path Parameters
dashboard
required
integer

ID of the dashboard

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add a new widget dashboard

Authorizations:
BearerAuth
path Parameters
dashboard
required
integer

ID of the dashboard

Request Body schema: application/json

Widget object that needs to be added to the store

name
string
widgetType
number

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "widgetType": 0
}

Response samples

Content type
application/json
{
  • "id": 0
}

Update widget's settings

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of widget

Request Body schema: application/json

Widget object that needs to be updated

settings
string

Responses

Request samples

Content type
application/json
{
  • "settings": "string"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Get the current widget's settings

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the widget

Responses

Response samples

Content type
application/json
[
  • { }
]

Get widget types

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Remove a widget

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the widget

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Update a widget

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of widget

Request Body schema: application/json

Widget object that needs to be updated

name
string
dashboard
integer
widgetType
integer

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "dashboard": 0,
  • "widgetType": 0
}

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "widgetType": 0,
  • "dashboard": 0,
  • "createdAt": "string",
  • "updatedAt": "string"
}

Find one widget

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the widget

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "widgetType": 0,
  • "dashboard": 0,
  • "createdAt": "string",
  • "updatedAt": "string"
}

Export

Endpoints to export certain resources' data

CSV export

CSV export the requested resource.

Authorizations:
BearerAuth
path Parameters
resource
required
string
Enum: "alertgroup" "alertobserver" "alertrecipient" "errorcode" "erroridentity" "errorprofile" "language" "location" "locationgroup" "log" "machine" "machinegroup" "machinemodel" "machinetype" "manufacturer" "paymenttransaction" "product" "productextra" "productflavour" "revenuetransaction" "shift" "user" "usergroup"
query Parameters
columns
required
Array of strings

The columns to export. format: [{property: string, alias: 'name in csv'}]

where
required
object

The criteria object, machine property is required

sort
object

The sort column e.g. {name: 'ASC}

filename
Array of strings

Fallbacks to export

timezone
Array of strings

The timezone of the user (for returning the correct datetime in datetime columns)

exportAll
boolean

Export all product combinations

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Download raw transactions

Get a CSV file containing the raw transactions on which a report is based, the date-range must be within 6 months of the current date. Example of valid query parameters: ?period1[startDate]=2023-01-01 00:00:00&period1[endDate]=2023-01-07 23:59:59&period1[referenceDate]=2023-01-20 12:18:46&timezone=Europe/Amsterdam&locations[]=2&locations[]=47

Authorizations:
BearerAuth
query Parameters
required
object

Description of the first period to gather

locations
Array of integers

List of location ids to filter on

locationGroups
Array of integers

List of location group ids to filter on

machines
Array of integers

List of machine ids to filter on

machineGroups
Array of integers

List of machine group ids to filter on

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Image

The images

Find images

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add a new image

Authorizations:
BearerAuth
Request Body schema: application/json

Image object that needs to be added to the store

thumbnail
required
string
original
required
string

Responses

Request samples

Content type
application/json
{
  • "thumbnail": "string",
  • "original": "string"
}

Response samples

Content type
application/json
{
  • "id": 0
}

Remove an image

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the image

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Find one image

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the image

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "thumbnail": "string",
  • "original": "string",
  • "createdAt": "string",
  • "updatedAt": "string"
}

Update an image

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the image

Request Body schema: application/json

Image object that needs to be updated in the store

thumbnail
string
original
string

Responses

Request samples

Content type
application/json
{
  • "thumbnail": "string",
  • "original": "string"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Language

Supported languages

Count the number of languages

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Find languages

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add a new language

Authorizations:
BearerAuth
Request Body schema: application/json

Language object that needs to be added to the store

name
required
string
language
required
string
locale
required
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "language": "string",
  • "locale": "string"
}

Response samples

Content type
application/json
{
  • "id": 0
}

Find one language

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the language

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "language": "string",
  • "locale": "string",
  • "createdAt": "string",
  • "updatedAt": "string"
}

Update a language

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the language

Request Body schema: application/json

Language object that needs to be updated in the store

name
string
language
string
locale
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "language": "string",
  • "locale": "string"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Currency

Supporetd currencies

Count the number of currencies

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Find currencies

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Permission

Group permissions

Translation

The translations

Find translations

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add a new translation

Authorizations:
BearerAuth
Request Body schema: application/json

Translation object that needs to be added to the store

key
required
string
language
required
integer
value
string

Responses

Request samples

Content type
application/json
{
  • "key": "string",
  • "language": 0,
  • "value": "string"
}

Response samples

Content type
application/json
{
  • "id": 0
}

Find one translation

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the translation

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "key": "string",
  • "value": "string",
  • "language": 0,
  • "userGroup": 0,
  • "createdAt": "string",
  • "updatedAt": "string"
}

Update a translation

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the translation

Request Body schema: application/json

Translation object that needs to be updated in the store

key
string
language
integer
value
string

Responses

Request samples

Content type
application/json
{
  • "key": "string",
  • "language": 0,
  • "value": "string"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Populate translation's associations/collections

Authorizations:
BearerAuth
path Parameters
parentid
required
integer

ID of translation

alias
required
string
Enum: "language" "userGroup"

Resource to populate

Responses

Response samples

Content type
application/json
{ }

Campaign

Create a new user campaign for the user group of the authenticated user

Authorizations:
BearerAuth
Request Body schema: application/json
One of
name
required
string
totalVouchers
required
integer
voucherValue
required
integer
type
string
Enum: "discount" "gift" "dynamic"
valueType
string
Default: "cents"
Value: "cents"
redemptionLimit
integer
resetFrequency
string
Enum: "day" "week" "month" "never"
expiresOn
string
timeZone
string
Default: "Europe/Amsterdam"
prefix
string
voucherText1
string
voucherText2
string
voucherText3
string
voucherText4
string
voucherStyle
string
status
string
Enum: "active" "inactive"

Status of the campaign

Responses

Request samples

Content type
application/json
Example
{
  • "name": "string",
  • "totalVouchers": 0,
  • "voucherValue": 0,
  • "type": "discount",
  • "valueType": "cents",
  • "redemptionLimit": 0,
  • "resetFrequency": "day",
  • "expiresOn": "string",
  • "timeZone": "Europe/Amsterdam",
  • "prefix": "string",
  • "voucherText1": "string",
  • "voucherText2": "string",
  • "voucherText3": "string",
  • "voucherText4": "string",
  • "voucherStyle": "string",
  • "status": "active"
}

Response samples

Content type
application/json
{
  • "id": 0
}

Get campaigns

Authorizations:
BearerAuth
query Parameters
limit
integer <= 100
Default: "∞"

Limit the number of logs returned

skip
integer
Default: 0

Skips the first 'N' items of the results

where[<col>][<op>]: value
string

Filter criteria. It supports multiple values: e.g. where[occurredAt][>]=2018-05-15T00:00:00&where[machine]=1094

sort
string
Default: "asc"

The sort column e.g. sort[occurredAt]=desc

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Count the number of campaigns the user has access to (=the number of campaigns the usergroup has)

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Get campaign by Id

Authorizations:
BearerAuth
path Parameters
id
required
integer

The id of the campaign

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "name": "string",
  • "totalVouchers": 0,
  • "type": "discount",
  • "valueType": "cents",
  • "voucherValue": 0,
  • "redemptionLimit": 0,
  • "resetFrequency": "day",
  • "expiresOn": "string",
  • "currency": "EUR",
  • "timeZone": "Europe/Amsterdam",
  • "status": "creating",
  • "createdAt": "string",
  • "updatedAt": "string",
  • "prefix": "string",
  • "ownerId": 0,
  • "ownerData": "string",
  • "voucherText1": "string",
  • "voucherText2": "string",
  • "voucherText3": "string",
  • "voucherText4": "string",
  • "voucherStyle": "string",
  • "campaignstats": 0,
  • "lastResetAt": "string",
  • "vouchersPdfStatus": "empty",
  • "vouchersPdfUrl": "string",
  • "voucherLogoImg": 0
}

Update campaign

Authorizations:
BearerAuth
path Parameters
id
required
integer

The id of the campaign

Request Body schema: application/json
name
string
valueType
string
Default: "cents"
Value: "cents"
redemptionLimit
integer
resetFrequency
string
Enum: "day" "week" "month" "never"
expiresOn
string
currency
string
Default: "EUR"
timeZone
string
Default: "Europe/Amsterdam"
voucherText1
string
voucherText2
string
voucherText3
string
voucherText4
string
voucherStyle
string

Responses

Request samples

Content type
application/json
{
  • "name": "string",
  • "valueType": "cents",
  • "redemptionLimit": 0,
  • "resetFrequency": "day",
  • "expiresOn": "string",
  • "currency": "EUR",
  • "timeZone": "Europe/Amsterdam",
  • "voucherText1": "string",
  • "voucherText2": "string",
  • "voucherText3": "string",
  • "voucherText4": "string",
  • "voucherStyle": "string"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Delete campaign

Authorizations:
BearerAuth
path Parameters
id
required
integer

The id of the campaign

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Get campaign validation rules

Authorizations:
BearerAuth
path Parameters
id
required
integer

The id of the campaign

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update campaign validation rules

Authorizations:
BearerAuth
path Parameters
id
required
integer

The id of the campaign

Request Body schema: application/json
Array
id
integer
campaign
integer
field
string

Resource name (location, product, etc)

value
string

Id of the resource

Responses

Request samples

Content type
application/json
[
  • {
    }
]

Response samples

Content type
application/json
{
  • "message": "string"
}

Get campaign stats

Authorizations:
BearerAuth
path Parameters
id
required
integer

The id of the campaign

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "totalVouchers": 0,
  • "redemptionCount": 0,
  • "voucherValue": 0,
  • "redemptionCost": 0,
  • "totalRevenue": 0
}

Campaign Voucher

Return the vouchers of a campaign

Authorizations:
BearerAuth
path Parameters
id
required
integer

The id of the campaign

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get the number of vouchers a campaign

Authorizations:
BearerAuth
path Parameters
id
required
integer

The id of the campaign

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Get the number of active vouchers a campaign

Authorizations:
BearerAuth
path Parameters
id
required
integer

The id of the campaign

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Campaign Voucher pdf

Triggers the generation of the campaign vouchers as a PDF file

Authorizations:
BearerAuth
path Parameters
id
required
integer

The id of the campaign

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Returns the campaign vouchers as a PDF file

Authorizations:
BearerAuth
path Parameters
id
required
integer

The id of the campaign

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Triggers the generation of specific voucher from campaign as a PDF file

Authorizations:
BearerAuth
path Parameters
id
required
integer

The id of the campaign

voucher_id
required
string

The id of the voucher

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Returns single voucher as a PDF file

Authorizations:
BearerAuth
path Parameters
id
required
integer

The id of the campaign

voucher_id
required
string

The id of the voucher

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Gateway

Get current network status of the given gateway

Authorizations:
BearerAuth
path Parameters
hostname
required
integer

The hostname of the gateway

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Get the available software versions for Houdini gateways

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Execute a Gateway command

Authorizations:
BearerAuth
path Parameters
hostname
required
string

Hostname of the machine

command
required
string

Command to execute

Request Body schema: application/json

Parameters of the command

params
Array of integers

Responses

Request samples

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

Response samples

Content type
application/json
{
  • "message": "string"
}

Execute a command on multiple Gateways

Authorizations:
BearerAuth
path Parameters
command
required
string

Command to execute

Request Body schema: application/json

The command that needs to be executed and a list of resources it should be executed on

required
object
params
required
Array of objects

Responses

Request samples

Content type
application/json
{
  • "filter": {
    },
  • "params": [
    ]
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Integration

Count the number of integrations owned by the user's user group

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Find base details of integrations owned by the user's user group

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add a new integration

Authorizations:
BearerAuth
Request Body schema: application/json

Integration object that needs to be added to the store, with a unique name within the user's user group

externalId
required
integer
name
required
string
description
string

Responses

Request samples

Content type
application/json
{
  • "externalId": 0,
  • "name": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "id": 0
}

Find one integration

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the integration

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "type": "httptransactions",
  • "name": "string",
  • "active": true,
  • "state": "idle",
  • "throttle": 0,
  • "maxRetries": 0,
  • "retryThrottle": 0,
  • "stopOnFailure": true,
  • "createdAt": "string",
  • "updatedAt": "string"
}

Update an integration

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the integration

Request Body schema: application/json

Integration object that needs to be updated in the store, with a unique name within the user's user group

externalId
integer
name
string
description
string

Responses

Request samples

Content type
application/json
{
  • "externalId": 0,
  • "name": "string",
  • "description": "string"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Delete an integration and all of its logged errors

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the integration

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Get the number of errors of one integration

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the integration

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Get the errors of one integration

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the integration

Responses

Response samples

Content type
application/json
{
  • "id": 0,
  • "state": "failed",
  • "machine": 0,
  • "revenuetransaction": 0,
  • "message": "string",
  • "details": "string",
  • "createdAt": "string",
  • "updatedAt": "string"
}

Trigger an integration, like when in the failed state if an integration is configured to stop on errors

Authorizations:
BearerAuth
path Parameters
id
required
integer

ID of the integration

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Invoice

Count the number of invoices

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Find invoices

Authorizations:
BearerAuth
query Parameters
limit
integer <= 100
Default: "∞"

Limit the number of logs returned

skip
integer
Default: 0

Skips the first 'N' items of the results

where[<col>][<op>]: value
string

Filter criteria. It supports multiple values: e.g. where[occurredAt][>]=2018-05-15T00:00:00&where[machine]=1094

sort
string
Default: "asc"

The sort column e.g. sort[occurredAt]=desc

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Machine state

Returns a machine state

Authorizations:
BearerAuth
path Parameters
machineId
required
integer

ID of the machine

Responses

Response samples

Content type
application/json
{
  • "machineId": 0,
  • "state": { }
}

Navigation history

Count the number of navigation history entries

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "count": 0
}

Find navigation history entries

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Add a new navigation history

Authorizations:
BearerAuth
Request Body schema: application/json

Navigation history object that needs to be added to the store

title
required
string
urlFragment
required
string
queryString
string

Responses

Request samples

Content type
application/json
{
  • "title": "string",
  • "urlFragment": "string",
  • "queryString": "string"
}

Response samples

Content type
application/json
{
  • "id": 0
}

Find last navigation history entries

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Voucher

Validates a voucher

Authorizations:
BearerAuth
path Parameters
code
required
string

Code of the voucher. Codes are unique per campaign, but they can't identify a Voucher.

Request Body schema: application/json
deviceId
required
string

Id of the device that wants to validate the voucher

lockDuration
number

Lock time in seconds. If provided an the campaign where the voucher belongs has a redemptionLimit (vouchers are not unlimitted), it reserves the usage of the voucher to 'deviceId' during the amount of seconds provided. If the campaign has no redemptionLimit, lockDuration will be ignored. During the lock period, only the deviceId that owns the lock can release it explicitly. There are 3 ways a lock can be released: a) set 'lockDuration' to 0 or null by re-validating the voucher from the device that owns lock. b) redeemed the voucher from the device that owns lock. c) wait till the lock expires. If 'lockDuration' is not provided, the voucher won't be reserved to 'deviceId'.

object

Used on 'gift' vouchers only. If the campaign is type 'gift', and 'demand' is not provided, the current voucher balance will be returned as 'discount.amountOff'

Responses

Request samples

Content type
application/json
{
  • "deviceId": "string",
  • "lockDuration": 0,
  • "demand": {
    }
}

Response samples

Content type
application/json
Example
{
  • "code": "string",
  • "campaignType": "string",
  • "voucherId": "string",
  • "valid": true,
  • "voucherValue": 0,
  • "discount": {
    },
  • "validFor": {
    }
}

Redeems a voucher

Authorizations:
BearerAuth
path Parameters
code
required
string

Code of the voucher. Codes are unique per campaign, but they can't identify a Voucher.

Request Body schema: application/json
deviceId
required
string

Id of the device that wants to redeem the voucher

required
object
object

Mandatory if it's a 'gift' voucher. Otherwise, it's not used.

Responses

Request samples

Content type
application/json
{
  • "deviceId": "string",
  • "order": {
    },
  • "demand": {
    }
}

Response samples

Content type
application/json
{
  • "code": "string",
  • "campaignType": "string",
  • "voucherId": "string",
  • "redeemed": true,
  • "reason": "string",
  • "discount": {
    },
  • "voucherValue": 0
}

Create a new voucher

Authorizations:
BearerAuth
Request Body schema: application/json
One of
campaign
required
integer

Id of the campaign where the voucher will be created.

type
required
string
Enum: "discount" "gift"

Type of voucher.

value
required
integer

Value of the voucher in the units specified by 'valueType'. If voucher type is 'discount' or 'gift', it's a required field.

valueType
string
Default: "cents"
Value: "cents"

Not applicable to vouchers of type 'inherit'

code
string

Code (optional) - custom voucher code (usually printed as QR on a coupon) used as an identifier between client (scanner) and the voucher system. If empty, random alphanumeric code will be generated.

prefix
string
Default: "00000"

The prefix of the code of the voucher. I.e. prefix 'ABC' would generate a code with the following structure: 'ABC-{CODE}'. Validations: Pattern = [a-zA-Z0-9]{1,5}$, Max length = 5

redemptionLimit
integer

Number of times a voucher can be redeemed. Not applicable to vouchers of type 'inherit'

resetFrequency
string
Default: "never"
Enum: "day" "week" "month" "never"

How frequent the voucher counters (and value in case of gift vouchers) will be reset. Not applicable to vouchers of type 'inherit'

expiresOn
string

Not applicable to vouchers of type 'inherit'

timeZone
string
Default: "Europe/Amsterdam"

Used by 'expiresOn' and 'resetFrequency'. Not applicable to vouchers of type 'inherit'

Array of objects

It contains voucher validation rules. For instance: {field: 'location', value: '10'} would enable the voucher to be used in all gateways in location with id '10'. {field: 'locationExternalRef', value: 'xyz_123'} would enable the voucher to be used in all gateways with location external ref 'xyz_123'. [{field: 'product', value: '5'}, {field: 'product', value: '7'}] would allow the voucher to be used for buying products with PLU (or product ID on the client side) 5 or 7. These client-side validations rules are returned as response to '/voucher/{code}/validate'

count
integer
Default: 1

Number of vouchers with the provided properties to be created. Voucher creation is an atomic operation. If the total amount of vouchers requested can't be created, no voucher will be created. If count > 1 the response body will be empty. Max value: 5000

text1
string

Text line 1 to be rendered in the pdf

text2
string

Text line 2 to be rendered in the pdf

text3
string

Text line 3 to be rendered in the pdf

text4
string

Text line 4 to be rendered in the pdf

style
string

Css style to be used when rendering the pdf. I.e.: {"voucherText1Lbl": {"fontSize": "28px"}, "voucherText2Lbl": {"fontSize": "24px"}, "voucherText3Lbl": {"fontSize": "18px"}}. Notice the html elements sensitive to be customized are: voucherText1Lbl, voucherText2Lbl, voucherText3Lbl

Responses

Request samples

Content type
application/json
Example
{
  • "campaign": 0,
  • "type": "discount",
  • "value": 0,
  • "valueType": "cents",
  • "code": "string",
  • "prefix": "00000",
  • "redemptionLimit": 0,
  • "resetFrequency": "day",
  • "expiresOn": "string",
  • "timeZone": "Europe/Amsterdam",
  • "validationRules": [
    ],
  • "count": 1,
  • "text1": "string",
  • "text2": "string",
  • "text3": "string",
  • "text4": "string",
  • "style": "string"
}

Response samples

Content type
application/json
{
  • "id": "string",
  • "code": "string",
  • "campaign": 0,
  • "type": "discount",
  • "value": 0,
  • "valueType": "cents",
  • "currency": "string",
  • "initialValue": 0,
  • "redemptionLimit": 0,
  • "redemptionCount": 0,
  • "totalRedemptionCount": 0,
  • "lastRedemptionAt": "string",
  • "lastRedemptionLocation": "string",
  • "prefix": "string",
  • "resetFrequency": "day",
  • "lastResetAt": "string",
  • "expiresOn": "string",
  • "timeZone": "string",
  • "lockOwner": "string",
  • "lockedTill": "string",
  • "status": "active",
  • "amountRedeemed": 0,
  • "totalAmountRedeemed": 0,
  • "createdAt": "string",
  • "updatedAt": "string",
  • "balance": 0,
  • "text1": "string",
  • "text2": "string",
  • "text3": "string",
  • "text4": "string",
  • "logoImg": "string",
  • "pdfStatus": "empty",
  • "style": "string",
  • "pdfUrl": "string",
  • "voucherComments": "string"
}

Find voucher

Authorizations:
BearerAuth
query Parameters
limit
integer <= 100
Default: "∞"

Limit the number of logs returned

skip
integer
Default: 0

Skips the first 'N' items of the results

where[<col>][<op>]: value
string

Filter criteria. It supports multiple values: e.g. where[occurredAt][>]=2018-05-15T00:00:00&where[machine]=1094

sort
string
Default: "asc"

The sort column e.g. sort[occurredAt]=desc

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Update the value and/or the expiration date of the given giftcard voucher

Authorizations:
BearerAuth
path Parameters
id
required
integer

The id of the voucher

Request Body schema: application/json
campaign
required
integer

Id of the campaign where the voucher will be updated.

value
integer

Value of the voucher in the units specified by 'valueType'.

expiresOn
string

Responses

Request samples

Content type
application/json
{
  • "campaign": 0,
  • "value": 0,
  • "expiresOn": "string"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Update the given voucher

Authorizations:
BearerAuth
path Parameters
id
required
integer

The id of the voucher

Request Body schema: application/json
campaign
required
integer

Id of the campaign where the voucher will be created.

type
required
string
Enum: "discount" "gift"

Type of voucher.

value
required
integer

Value of the voucher in the units specified by 'valueType'.

required
Array of objects

It contains voucher validation rules. For instance: {field: 'location', value: '10'} would enable the voucher to be used in all gateways in location with id '10'. {field: 'locationExternalRef', value: 'xyz_123'} would enable the voucher to be used in all gateways with location external ref 'xyz_123'. [{field: 'product', value: '5'}, {field: 'product', value: '7'}] would allow the voucher to be used for buying products with PLU (or product ID on the client side) 5 or 7. These client-side validations rules are returned as response to '/voucher/{code}/validate'

valueType
string
Default: "cents"
Value: "cents"

Value type description

redemptionLimit
integer

Number of times a voucher can be redeemed. Not applicable to vouchers of type 'inherit'

resetFrequency
string
Default: "never"
Enum: "day" "week" "month" "never"

How frequent the voucher counters (and value in case of gift vouchers) will be reset.

expiresOn
string
timeZone
string
Default: "Europe/Amsterdam"

Used by 'expiresOn' and 'resetFrequency'.

text1
string

Text line 1 to be rendered in the pdf

text2
string

Text line 2 to be rendered in the pdf

text3
string

Text line 3 to be rendered in the pdf

text4
string

Text line 4 to be rendered in the pdf

voucherComments
string

Note about this voucher

style
string

Css style to be used when rendering the pdf. I.e.: {"voucherText1Lbl": {"fontSize": "28px"}, "voucherText2Lbl": {"fontSize": "24px"}, "voucherText3Lbl": {"fontSize": "18px"}}. Notice the html elements sensitive to be customized are: voucherText1Lbl, voucherText2Lbl, voucherText3Lbl

Responses

Request samples

Content type
application/json
{
  • "campaign": 0,
  • "type": "discount",
  • "value": 0,
  • "validationRules": [
    ],
  • "valueType": "cents",
  • "redemptionLimit": 0,
  • "resetFrequency": "day",
  • "expiresOn": "string",
  • "timeZone": "Europe/Amsterdam",
  • "text1": "string",
  • "text2": "string",
  • "text3": "string",
  • "text4": "string",
  • "voucherComments": "string",
  • "style": "string"
}

Response samples

Content type
application/json
{
  • "message": "string"
}

Get Voucher

Authorizations:
BearerAuth
path Parameters
id
required
integer

The id of the voucher

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "code": "string",
  • "campaign": 0,
  • "type": "discount",
  • "value": 0,
  • "valueType": "cents",
  • "currency": "string",
  • "initialValue": 0,
  • "redemptionLimit": 0,
  • "redemptionCount": 0,
  • "totalRedemptionCount": 0,
  • "lastRedemptionAt": "string",
  • "lastRedemptionLocation": "string",
  • "prefix": "string",
  • "resetFrequency": "day",
  • "lastResetAt": "string",
  • "expiresOn": "string",
  • "timeZone": "string",
  • "lockOwner": "string",
  • "lockedTill": "string",
  • "status": "active",
  • "amountRedeemed": 0,
  • "totalAmountRedeemed": 0,
  • "createdAt": "string",
  • "updatedAt": "string",
  • "balance": 0,
  • "text1": "string",
  • "text2": "string",
  • "text3": "string",
  • "text4": "string",
  • "logoImg": "string",
  • "pdfStatus": "empty",
  • "style": "string",
  • "pdfUrl": "string",
  • "voucherComments": "string"
}

Deletes a voucher

Authorizations:
BearerAuth
path Parameters
id
required
integer

The id of the voucher

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}

Get Voucher history (validate, redeem, delete)

Authorizations:
BearerAuth
path Parameters
id
required
integer

The id of the voucher

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get voucher validation rules

Authorizations:
BearerAuth
path Parameters
id
required
integer

The id of the voucher

Responses

Response samples

Content type
application/json
[
  • {
    }
]

Get Voucher with logoImg populated as the proper img url

Authorizations:
BearerAuth
path Parameters
id
required
integer

The id of the voucher

Responses

Response samples

Content type
application/json
{
  • "id": "string",
  • "code": "string",
  • "campaign": 0,
  • "type": "discount",
  • "value": 0,
  • "valueType": "cents",
  • "currency": "string",
  • "initialValue": 0,
  • "redemptionLimit": 0,
  • "redemptionCount": 0,
  • "totalRedemptionCount": 0,
  • "lastRedemptionAt": "string",
  • "lastRedemptionLocation": "string",
  • "prefix": "string",
  • "resetFrequency": "day",
  • "lastResetAt": "string",
  • "expiresOn": "string",
  • "timeZone": "string",
  • "lockOwner": "string",
  • "lockedTill": "string",
  • "status": "active",
  • "amountRedeemed": 0,
  • "totalAmountRedeemed": 0,
  • "createdAt": "string",
  • "updatedAt": "string",
  • "balance": 0,
  • "text1": "string",
  • "text2": "string",
  • "text3": "string",
  • "text4": "string",
  • "logoImg": "string",
  • "pdfStatus": "empty",
  • "style": "string",
  • "pdfUrl": "string",
  • "voucherComments": "string"
}

Voucher Export

Voucher CSV export

CSV export vouchers.

Authorizations:
BearerAuth
query Parameters
columns
required
Array of strings

The columns to export. format: [{property: string, alias: 'name in csv'}]: e.g. columns[0][property]=code&columns[0][alias]=Voucher code&columns[1][property]=createdAt&columns[1][alias]=Created. It also supports the following format: columns=code,createdAt

where[<col>][<op>]: value
any

Filter criteria. It supports multiple values: e.g. where[createdAt][>]=2022-12-10T00:00:00&where[type]=discount

sort
object

The sort column e.g. {name: 'ASC}: e.g. sort[id]=desc

Responses

Response samples

Content type
application/json
{
  • "message": "string"
}