Articles on: Unified Kiosk Remote Management - REST API

Unified Kiosk Remote Management API: API Endpoints

The Unified Kiosk Remote Management API is available for all subscribers. It is designed to allow programmatic access to devices and other relevant information within your account.

Security
The API can be accessed using your unique API Key. Your API Key should NEVER be shared, if compromised you can delete your API Key in the management console and generate a new one.

Request


Base Url: https://kioskapi.azure-api.net/klr/api/
Headers:
api-key = myapikey

Where do I find my API Key?
You can find this via More > API Keys > Click Add

Device Endpoint


GET

/api/device - get all devices on account
/api/device?identifier=b60e7c95-d160-439d-8dc6-4c7e1648bd1a - get device on account using device identifier

Example url: https://kioskapi.azure-api.net/klr/api/device

Sample Response:
[
    {
        "identifier": "e4fc83bf-d29b-4789-826a-4f9f8a21b2f0",
        "name": "Emulator 7.1.1",
        "serial": "EMULATOR30X8X4X0",
        "androidVersion": "7.1.1",
        "brand": "google",
        "model": "Android SDK built for x86",
        "kioskVersion": "1.4.2 (Build 127)",
        "kioskPackageName": "com.procoit.kiosklauncher",
        "build": 127,
        "buildNumber": "NYC",
        "timezone": "Europe/London",
        "provisioned": true,
        "systemUpdatePending": false,
        "wiFiNetwork": "<unknown ssid>",
        "macAddress": "",
        "imei": "358240051111110",
        "screenOn": true,
        "defaultLauncher": "com.procoit.kiosklauncher",
        "simSerial": "89014103211118510720",
        "simOperator": "Android",
        "permissionsGranted": true,
        "batteryLevel": 100,
        "isCharging": true,
        "lastSeen": "2021-09-01T08:43:56.1757277",
        "registered": "0001-01-01T00:00:00",
        "latitude": 0.000000000,
        "longitude": 0.000000000,
        "tags": "cat,tag1",
        "online": false,
        "applicationScreenshot": ""
    },
    {
        "identifier": "cdd7344d-731c-4bf1-8c50-a89801ce8949",
        "name": "Nokia 7 Plus",
        "serial": "B2NGAA9832614974",
        "androidVersion": "10",
        "brand": "Nokia",
        "model": "Nokia 7 plus",
        "kioskVersion": "1.4.6 (Build 131)",
        "kioskPackageName": "com.procoit.kiosklauncher",
        "build": 131,
        "buildNumber": "00WW_4_15N",
        "timezone": "Europe/London",
        "provisioned": true,
        "systemUpdatePending": false,
        "wiFiNetwork": "Droid",
        "macAddress": "00:00:00:00:00",
        "imei": "000000000000",
        "screenOn": true,
        "defaultLauncher": "com.procoit.kiosklauncher",
        "simSerial": "",
        "simOperator": "",
        "permissionsGranted": true,
        "batteryLevel": 25,
        "isCharging": false,
        "lastSeen": "2021-09-08T10:33:51.7061598",
        "registered": "2021-08-26T07:16:11.5010442",
        "latitude": 0.00,
        "longitude": 0.00,
        "tags": null,
        "online": false,
        "applicationScreenshot": ""
    }
}


PATCH
/api/device?identifier=b60e7c95-d160-439d-8dc6-4c7e1648bd1a - update a single device using device identifier

Sample request body:
When using PATCH only the supplied values are updated. If for example you supply no value for the device name, it will not change. Include json in the request body as per examples below:

{

    "configurationid": 4688,
    "name": "My Device Name"

}


DeviceConfiguration Endpoint



GET
/api/deviceconfiguration - get all configurations on account
/api/deviceconfiguration?id=1 - get configuration on account using configuration id

Sample Response:
[
    {
        "configurationID": 1,
        "name": "First Configuration",
        "lastModified": "2022-07-11T08:52:40.5432508",
        "revision": 94,
        "kioskType": 1
    },
    {
        "configurationID": 2,
        "name": "Second Configuration",
        "lastModified": "2022-04-13T10:57:19.3491193",
        "revision": 66,
        "kioskType": 2
    }
]


Push Endpoint



GET
/api/push?identifier=b60e7c95-d160-439d-8dc6-4c7e1648bd1a&type=1 - send push/device action to device identifier and push type 1

Sample Response
{
    "success":true,
    "message":"Push sent"
}


Valid Push Types
Request Status from Device (heartbeat to server, battery, screen state etc...)
Restart Application
Take App Screenshot/device screenshot (Kiosk Browser)
Open WiFi Settings
Identify device (show message box)
Download configuration
Screen Off
Screen On
Open Kiosk Browser/Launcher Settings
Open TeamViewer QuickSupport or TeamViewer Host (if installed)
Open Date & Time Settings
Locate device with sound
Upload diagnostic logs (if enabled)
Clear app data (Kiosk Launcher)
Reload Home Page (Kiosk Browser)
Clear WebView Cache and reload Kiosk Url (Kiosk Browser)
Clear WebView Cookies and reload Kiosk Url (Kiosk Browser)
Clear WebView Forms and reload Kiosk Url (Kiosk Browser)
Clear WebView Cache, Cookies & Forms and reload Kiosk Url (Kiosk Browser)
Clear WebView HTML5 WebStorage (Kiosk Browser)
Execute JavaScript kbRemoteFunction() on device (Kiosk Browser)

201. Reboot device
202. Update Kiosk Browser/Launcher to latest version
203. Update Kiosk Browser/Launcher to beta version
204. Set Kiosk Browser/Launcher as the default launcher

File Set Endpoint



GET
/api/fileset - get all file sets on account
/api/fileset?id=24 - get file set on account using it's unique id

Example url: https://kioskapi.azure-api.net/klr/api/fileset

Sample Response:
[
    {

        "fileSetID": 23,
        "name": "local",
        "lastModified": "2024-11-20T13:01:10.7376213",
        "awaitingDeployment": false,
        "assignments": 0
    },
    {

        "fileSetID": 24,
        "name": "test file set",
        "lastModified": "2024-11-21T11:22:45.0756963",
        "awaitingDeployment": true,
        "assignments": 1
    }
]


PATCH
/api/fileset?id=24 - update a single file set using it's unique id

Sample request body:
When using PATCH only the supplied values are updated. If for example you supply no value for the file set name, it will not change. Include json in the request body as per examples below:

{
    "deploychanges": true,
    "name": "test file set"
}


File Set File Endpoint



GET
/api/filesetfile?id=24 - gets all files in the file set using it's unique id

Example url: https://kioskapi.azure-api.net/klr/api/filesetfile?id=24

Sample Response:
{
    "success": true,
    "message": "",
    "name": "test file set",
    "awaitingdeployment": true,
    "files": [
        {
            "name": "customicon.png"
        },
        {
            "name": "localcontent/index.htm"
        }
    ]
}


DELETE
/api/filesetfile?id=24 - deletes a specified file from the file set using it's unique id

Example url: https://kioskapi.azure-api.net/klr/api/filesetfile?id=24

Sample request body:
Include json in the request body as per examples below:

{
    "path": "/localcontent/index.htm"
}



POST
/api/filesetfile?id=24 - upload a single file to the file set using it's unique id

Sample request body:
Please supply a single file as part of the form body as well as the following parameters as form data:
Path: this should be the folder path and should not include the name of the file. i.e. /localcontent/. If the folder does not exist it will automatically get created.

path: "/localcontent/"


Whenever deleting a file or uploading a new file the "awaiting deployment" property is automatically set to true. You must deploy the changes by making a request (PATCH) to the File Set Endpoint for the specific File Set.

Updated on: 21/11/2024

Was this article helpful?

Share your feedback

Cancel

Thank you!