The Esper API Support Tool (EAST)

Jonathan Featherston

March 17, 2021

TLDR: The Esper API Support Tool (EAST) provides easy access to advanced functionality built on Esper Cloud APIs. Read on to find out how you can use EAST to do things like obtain device information from specific groups or devices, modify device aliases and tags efficiently, toggle a group of devices between kiosk and multi-app modes, clear app data and run commands across a group of devices, and clone provisioning templates across different endpoints.

Esper is all about delivering what customer’s need to manage big Android dedicated device fleets (AKA corporate owned single use (COSU) fleets) using advanced tooling. The Esper platform was created to support the many different roles involved in Android dedicated device management and operations, which we call Dedicated Device Management+. Our web-based Console is a powerful tool for all user roles, our Cloud APIs are available to build automation via Cloud services integration, the Esper Python SDK is great for IT professional power users, and our Device SDK with CLI can be put to task by Android application developers.

For our users where the Console is the primary tool, there are a few use cases currently not supported by the Console. While it’s possible to implement these using our Cloud APIs, making them more accessible to Console users was and is important to certain customers. Tools like Postman are a great means to fire API calls without coding, however each customer has to build their own implementation. 

The Esper API Support Tool (EAST) started out as a simple script created by Esper’s Customer Success team to deliver functionality required by some customers the Esper Console didn’t provide.  As time went on it evolved to include more functionality, which evolved into a useful tool for our customers.

A more user-friendly version of this tool is now available for customers to use along-side their endpoint to help fill their needs, which is EAST.

What is the Esper API Support Tool – EAST?

EAST is a tool that runs on Windows and Mac OS providing easy access to advanced functionality built on the Esper Cloud APIs. 

With EAST you can enter your Enterprise ID and API key credentials for one or more endpoints, and it will automatically configure API calls for each endpoint you are working with for seamless integration. A set of supported actions are built into the tool, easily executed via a drop down selector.

We provide it in source code form on Esper’s GitHub so customers can extend it as needed, or take it and build it themselves. We also provide executable builds for Windows and MacOS for customers that just wish to run it and get to work.

What Can You Currently Do With EAST?

EAST currently supports the following functionality:

  • Obtaining device information from specific Groups
  • Obtaining device information from a selection of devices within those groups
  • Modifying device aliases and tags in a more efficient manner, including via CSV file
  • Toggling a Group of devices between Kiosk and multi-app modes 
  • Clearing app data across a Group of devices
  • Running commands across a Group of devices
  • Cloning Provisioning Templates across two different endpoints

The Esper Customer Success team is frequently adding new features and capabilities to EAST, so it’s best to check our GitHub page for the latest and greatest release of EAST.

Let’s dive into more detail on what you can do with EAST

Via the Esper Cloud API, you can obtain device information but it’s up to you to build the tooling to work with the returned data structure. Instead via EAST you can obtain device information that will be populated in a grid for specific groups or a selection of devices from the group subset. This information can be saved to an external CSV file. The combination greatly simplifies working with device information available via the Esper Cloud API.

How to modify device aliases and tags for a large number of devices

A recurring pain point for customers had been entering or modifying device aliases and tags for a large number of devices, doing so via the Console requires manual entry for each device by a Console user. With EAST you can now generate a CSV file for the Group or set of devices you wish to modify the device aliases and tags, make the modifications to the CSV either manually or using simple automation in the CSV, and then upload this CSV into EAST to re-populate the grid. Where therein you can then alter the tags and aliases for the devices listed within the grid, provided that you are on the correct endpoint.

How to put a group devices into Kiosk mode

Another use case is putting a Group of devices into Kiosk mode for a specific app, or alternatively pulling a Group of devices out of Kiosk mode into Multi-app mode. The use case via the Console is optimized for setting Kiosk or Multi-app mode when a device is provisioned into Esper. But some customers needed to first enroll their devices in multi-app mode, then perform additional setup actions before needing to set them into Kiosk mode en mass. With the Console it requires setting Kiosk mode for devices one-by-one. Now with EAST you can also bulk set the mode, whether Kiosk or Multi-app mode, greatly increasing operational efficiency for device staging. 

How to clear app data for a group of devices

In a similar vein, the Console supports clearing app data for a given app one device at a time. To address customer requests to do this for a group of devices, EAST supports performing the Clear App Data command for a selected set or group of devices in one fell swoop.

How to fire commands for a group of devices

EAST also supports firing off a select set of commands to a device or group of devices, some of which are also already supported by the Console as a Group command, all of which are also available via Esper’s Cloud API:

  • REBOOT to be able to simultaneously reboot devices
  • UPDATE_HEARTBEAT to fire off a ping to a set of devices
  • UPDATE_DEVICE_CONFIG to send a managed configuration for a particular application
  • SET_NEW_POLICY to apply a compliance policy across devices
  • ADD_WIFI_AP to set a new Wi-Fi access point up on specified devices
  • REMOVE_WIFI_AP to remove Wi-Fi access point credentials
  • SET_KIOSK_APP as described above
  • SET_DEVICE_LOCKDOWN_STATE to either lock or unlock a set of devices
  • SET_APP_STATE to change where a given app, defined by package name, is set to SHOW, HIDE or DISABLED
  • WIPE to factory reset a set of devices
  • UPDATE_LATEST_DPC to force a set of devices to download and install the latest DPC APK from Esper

For each command you simply need to enter the JSON payload specific for the command, and then you can fire the command directly from EAST.

How to clone a Provisioning Template between two known endpoints

Some of our customers, primarily VARs and System Integrators, maintain multiple separate endpoints they manage for their set of customers. One previous limitation is that a Provisioning Template created for one endpoint can’t be cloned to use on another endpoint. It requires the customer to manually recreate the template that may exist on one of their existing endpoints on the desired target endpoint. With EAST you can clone a Provisioning Template between two known endpoints.


How to Get EAST

EAST is available on the tool’s Esper Github Wiki page. If you don’t have the time or resources to set up a development environment you can make use of the executables that are generated periodically with every update (link here). EAST aims to support both Windows and Mac OS platforms.

This tool is open source with the source code available on Esper’s GitHub as a Python 3 project. Feel free to clone and make the tool your own. 

Documentation on how to use the tool is also available.

EAST Feature Requests and Notifying Issues

If you have a feature request or an issue related to the tool that you wish to notify the development community, you can create a post on the tool’s Github Issues page and label it accordingly.

If you have a bug with the tool, it would be helpful to provide the tool’s logs. Information on where to find the logs can be obtained through the tool’s documentation.

Since the tool is maintained by Esper’s Customer Success team, extensions to the tool will be driven by requests from Esper’s top tier customers. But by providing the source for the tool, you are enabled to extend it to solve your immediate blockers on your own accord. We request you share it with the GitHub community to proactively help others achieve better operational efficiency with Esper using EAST.

We hope you enjoy EAST and can put it to good use. As always, we are dedicated to Android dedicated device use cases.