ProDVX API Specification (1.3d)

Download OpenAPI specification:

ProDVX Support: support@prodvx.com

Introduction

This is the main API for any ProDVX Android device using v1.3 or higher.

Authentication

Pay attention to using a valid Authentication token. The token can be passed in the header or as a query parameter.

For header use: Authorization: Bearer <token>

For parameter use: ?token=<token>

Please ensure to set a new device key. Generate your token using your key using the tool at the ProMGR website.

Contact

For more information, see the Quick Start Guide.

LED

Control the LED bars

Set all LEDs to a specific color

Authorizations:
BearerAuth
query Parameters
lrgb
required
string
Enum: "255,0,0,0" "255,255,0,0" "255,0,255,0" "255,0,0,255" "0xFFFF0000" "0xFF00FF00" "0xFF0000FF"

Color to set the LEDs to (e.g., Brightness, red, green, blue)

header Parameters
Access-Control-Allow-Origin
required
string
Example: *

CORS headers

Responses

Response samples

Content type
application/json
{
  • "status": "Error",
  • "statusText": "Auth token not provided or incorrect"
}

Turn off all LEDs

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "status": "OK",
  • "statusText": "All LED set off"
}

Individual Led Control

Set individual leds to specific colors. The lrgb parameter must contain the exact amount of LEDs present on the device, separated by semicolons. Each LED color is defined by four comma-separated values representing brightness, red, green, and blue (e.g., "255,0,0,0;255,0,255,0;255,0,0,255" for a device with three LEDs).

Authorizations:
BearerAuth
query Parameters
lrgb
required
string
Example: lrgb=255,0,0,0;...N...;255,0,0,255

LRGB color values for each of the LEDS (Must be exact amount of LEDs)

Responses

Response samples

Content type
application/json
{
  • "status": "OK",
  • "statusText": "Set LED color"
}

system

Control system functions

Get device information

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "status": "OK",
  • "deviceKey": "string",
  • "deviceManufacturer": "string",
  • "deviceModel": "string",
  • "deviceDisplay": "string",
  • "devicePlatform": "string",
  • "ledControllerType": "string",
  • "androidSdk": "string",
  • "androidVersion": "string",
  • "serialNumber": "string",
  • "ip4Address": "string",
  • "screenBrightnessInternal": 0,
  • "screenBrightness": 0,
  • "showSystemBars": true,
  • "touchScreenEnabled": true,
  • "deviceInteractive": true,
  • "apiAppPackageName": "string",
  • "apiAppVersion": "string",
  • "apiAppVersionCode": "string",
  • "apiAppSystemSigned": true,
  • "apiAppSystemFlagged": true,
  • "apiAppSystemUser": true,
  • "apiRemoteCallEnabled": true
}

screen

Control screen functions

Get a screenshot of the device

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "status": "Error",
  • "statusText": "Auth token not provided or incorrect"
}

Turn off the screen backlight

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "status": "OK",
  • "statusText": "Turn screen backlight off"
}

Turn on the screen backlight

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "status": "OK",
  • "statusText": "Turn screen backlight off"
}

Set the screen brightness

Authorizations:
BearerAuth
query Parameters
level
required
integer <int32>

Brightness level (5-100)

Responses

Response samples

Content type
application/json
{
  • "status": "OK",
  • "statusText": "Set screen brightness to {level}% (internal: {internal})"
}

Disable the touch screen

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "status": "OK",
  • "statusText": "Disable touchscreen"
}

Enable the touch screen

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "status": "OK",
  • "statusText": "Enable touchscreen"
}

power

Control power functions

Reboot the device

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "status": "OK",
  • "statustext": "Rebooting the device"
}

Shutdown the device

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "status": "OK",
  • "statusText": "Shutdown the device"
}

Put the device to sleep

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "status": "OK",
  • "statusText": "Hibernating the device"
}

Wake up the device from sleep

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "status": "OK",
  • "statusText": "Waking up the device"
}

bars

Control system bars

Show system bars

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "status": "OK",
  • "statusText": "Show system bars"
}

Hide system bars

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "status": "OK",
  • "statusText": "Hide system bars"
}

Hide system bar buttons

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "status": "OK",
  • "statusText": "Hide system bar buttons"
}

Show system bar buttons

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "status": "OK",
  • "statusText": "Show system bar buttons"
}

watchdog

Manage the watchdog

Enable the watchdog

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "status": "Error",
  • "statusText": "Auth token not provided or incorrect"
}

Disable the watchdog

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "status": "Error",
  • "statusText": "Auth token not provided or incorrect"
}

network

Enable/Disable network operability

Disable remote API calls

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "status": "OK",
  • "statusText": "Remote API calls disabled"
}

Enable remote API calls

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "status": "OK",
  • "statusText": "Remote API calls enabled"
}

security

Security related functions

Set a unique device key

Set a unique device key for the device (200 Response not guaranteed to be as given below)

Authorizations:
BearerAuth
query Parameters
deviceKey
required
string
Example: deviceKey=unique-device-key-12345

Unique device key to set

Responses

Response samples

Content type
application/json
{
  • "status": "OK",
  • "statusText": "Device key set successfully"
}

download

Manage downloads

Download a file to the device

Authorizations:
BearerAuth
query Parameters
url
required
string <uri>

URL of the file to download

dir
required
string
Example: dir=/sdcard/Download/

Directory to save the downloaded file. Please enure to encode the path

Responses

Response samples

Content type
application/json
{}

Get information about a download

Authorizations:
BearerAuth
query Parameters
downloadToken
required
string
Example: downloadToken=1234567890abcdef

Token for the download

Responses

Response samples

Content type
application/json
{
  • "status": "OK",
  • "downloadStatus": "IN_PROGRESS",
  • "downloadStatustext": "Download in progress",
  • "downloadUrl": "http://example.com/file.zip",
  • "downloadDir": "/sdcard/Download/",
  • "downloadFileSize": 12345678,
  • "downloadFilePath": "/sdcard/Download/file.zip"
}

install

Manage installations

Install a file on the device

Install a file on the device, typically an APK file

Authorizations:
BearerAuth
query Parameters
file
required
string
Example: file=/sdcard/Download/file.apk

Path of the file to install

runAfterInstall
boolean
Default: false

Flag to run the app after installation

Responses

Response samples

Content type
application/json
{
  • "status": "OK",
  • "statusText": "Installation started",
  • "installFile": "/sdcard/Download/file.apk",
  • "installToken": "abcdef1234567890"
}

Get information about an installation

Get information about an installation in progress

Authorizations:
BearerAuth
query Parameters
installToken
required
string
Example: installToken=abcdef1234567890

Token for the installation

Responses

Response samples

Content type
application/json
{
  • "status": "OK",
  • "installStatus": "IN_PROGRESS",
  • "installFile": "/sdcard/Download/file.apk",
  • "packageName": "com.example.app"
}

certificates

Manage system certificates

Install API certificate

Authorizations:
BearerAuth
query Parameters
cert
required
string
Example: cert=MIIDdzCCAl+gAwIBAgIEb...

Base64 encoded certificate to install

Responses

Response samples

Content type
application/json
{
  • "status": "OK",
  • "statusText": "Certificate installed successfully"
}

Uninstall API certificate

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "status": "OK",
  • "statusText": "Certificate uninstalled successfully"
}

logcat

Log device infomation

Get the logcat file

Retrieve the logcat file from the device

Authorizations:
BearerAuth

Responses

Response samples

Content type
application/json
{
  • "status": "Error",
  • "statusText": "Auth token not provided or incorrect"
}