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
/api/devicebytag?tags=tag1,tag2 - get all devices with tags "tag1" and/or "tag2", tags parameter should comma separated if more than one tag is specified
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
Example url: https://kioskapi.azure-api.net/klr/api/deviceconfiguration
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
/api/pushbytag?tags=tag1,tag2&type=1 - send push/device action to all devices with tags "tag1" and/or "tag2", tags parameter should comma separated if more than one tag is specified, push type 1
Example url: https://kioskapi.azure-api.net/klr/api/push
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)
- Reboot device
- Update Kiosk Browser/Launcher to latest version
- Update Kiosk Browser/Launcher to beta version
- 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/"
Updated on: 16/01/2025
Thank you!