Download OpenAPI specification:Download


Esper APIs are a set of REST-based APIs that help you programmatically control and monitor Android-based Dedicated Devices running the Esper Agent using the Esper Console. With these APIs, you can orchestrate and manage devices that have been provisioned against your Esper Console environment. Furthermore, these APIs allow you to manage the Android applications installed on your Dedicated Device fleet. To read more about the various capabilities of Esper APIs and Esper managed devices, please visit This guide describes all the available APIs in detail, along with code samples for you to quickly ramp up to using them.
You need to create a developer account with Esper and access the Esper Console to use these APIs. You can find out more about Esper and sign up for a free account at

We've done our best to keep this document up to date, but please reach out to us at if you have any concerns.


You are welcome to use your favorite HTTP/REST library for your programming language in order to call these APIs, or you can use our SDK (currently supporting python) to do so.


The client needs to send authentication details to access the Esper APIs by generating and applying an API key. Be sure to sign up for your free trial account with Esper to generate your key:


API KEY - Access Token

Access token for API is passed as authorization header in calls. You need to generate this from your Esper Console at <domain> where foo is the sub-domain name you gave for your Esper Dev environment when you signed up for your Esper account. Please follow the instructions here to generate an access token. Once you have the access token, you need to send an authorization header as below

    curl -X GET \
      https://<domain><enterprise_id>/device/ \
      -H 'Authorization: Bearer <ACCESS_TOKEN>' \
      -H 'Content-Type: application/json' \

Please note the use of keyword Bearer before the token value.

You can read more about api key authentication scheme here.

Security Scheme Type API Key
Header parameter name: Authorization


Security Scheme Type API Key
Header parameter name: Authorization


Security Scheme Type API Key
Header parameter name: Authorization


Security Scheme Type HTTP
HTTP Authorization Scheme basic


The APIs use standard HTTP status codes to indicate success or failure. All error responses will have a JSON body in the following format:

  "errors": [],
  "message": "error message",
  "status": 400
  • errors - List of error details
  • message - Error description
  • status - HTTP status code