Skip to main content

Boppo Device HTTP API (1.0.0)

Download OpenAPI specification:Download

The Boppo tablet runs its own HTTPS server with multiple endpoints documented here.

Boppo uses mDNS and its hostname is boppo-<SERIAL_NUMBER>.local.

The serial number is printed on the bottom of the Boppo tablet.

Each Boppo device uses a certificate signed by a Boppo Device CA. For simplicity the curl examples below use the -k flag to bypass certificate verification but you can also provide --cacert BoppoDeviceCA.crt. You can download the Boppo Device CA cert

Most endpoints require authentication. The authentication is a Bearer token which is an auto-generated password. You can retrieve the password using the /get-password endpoint which will prompt for user permission.

curl -k -X POST https://boppo-<SERIAL_NUMBER>.local/get-password?requestid=1234356789

An example curl command using a bearer token:

curl -k -H "Authorization: Bearer <PASSWORD>" https://boppo-<SERIAL_NUMBER>.local/get-info

Index

Returns a link to this API documentation.

Responses

Set Device Name

Sets the name of the device.

Authorizations:
bearerAuth
Request Body schema: text/plain
required
string

Responses

Set Brightness Deprecated

Sets the screen brightness. Deprecated use /command "brightness"

Authorizations:
bearerAuth
Request Body schema: text/plain
required
integer <uint8>

Responses

Set Volume Deprecated

Sets the device volume. Deprecated use /command "volume"

Authorizations:
bearerAuth
Request Body schema: text/plain
required
integer <uint8>

Responses

Get Device Info

Retrieves current information about the device.

Authorizations:
bearerAuth

Responses

Response samples

Content type
application/json
{ }

Upload File

Uploads a file to the device. The path query parameter specifies the destination. Requires developer mode for paths outside of /sd/{activities,config}/user/.

Authorizations:
bearerAuth
query Parameters
path
required
string

The full path where the file should be stored.

Request Body schema: application/octet-stream
required
string <binary>

Responses

Remove File

Removes a file from the device. Requires developer mode for paths outside of /sd/activities/user/.

Authorizations:
bearerAuth
query Parameters
path
required
string

The path of the file to remove.

Responses

Remove Directory

Removes a directory. Requires developer mode.

Authorizations:
bearerAuth
query Parameters
path
required
string

The path of the directory to remove.

Responses

Remove Directory Recursively

Removes a directory and all its contents. Requires developer mode.

Authorizations:
bearerAuth
query Parameters
path
required
string

The path of the directory to remove.

Responses

Read Directory

Lists the contents of a directory. Requires developer mode for paths outside of /sd/activities/user/.

Authorizations:
bearerAuth
query Parameters
path
required
string

The path of the directory to list.

Responses

Download File

Downloads a file from the device. Requires developer mode.

Authorizations:
bearerAuth
query Parameters
path
required
string

The path of the file to download.

Responses

Get Password

Used for pairing the device. This endpoint is not authenticated. The client provides a requestid and polls this endpoint. The user on the device approves the request, and the password is returned.

query Parameters
requestid
required
integer

A unique ID for the pairing request.

Responses

Response samples

Content type
application/json
{
  • "status": "success",
  • "password": "your-device-password"
}

Execute Command

Executes a command on the device. Some commands like start, top_buttons_wakeup, and auto_update are always available. Other commands require developer mode to be enabled. See the command reference for available commands.

Authorizations:
bearerAuth
Request Body schema: text/plain
required
string

Responses