Package: espercli
Esper CLIThis package provides a unified command line interface to the Esper API Services.Current stable release versions areAPI version: 1.0.0
SDK version: 0.0.12
CLI version: 0.0.10RequirementsPython:You must use Python 3.6 or above.An Esper Dev Account:You need a free Esper Dev Trial account to create an environment and generate an EsperSERVER URLto talk to APIs. You will choose theENVIRONMENT NAMEthat will then be assigned as your custom URL and when you complete the sign up process your private environment will be created. SeeRequesting an Esper Dev Trial account.Generate an API key:API key authentication is used for accessing APIs. You will have to generate this from the Esper Dev Console once you have set up your account. For example, the Esper Dev Console for your account can be accessed athttps://foo.espercloud.comif you choose theENVIRONMENT NAMEof “foo”. SeeGenerating an API KeyInstallationUsingpip installFrom PyPIpipinstallespercliorFromGithubpipinstallgit+https://github.com/esper-io/esper-cli.gitFrom sourceDownload/Clone the project and install viaSetuptools.gitclonehttps://github.com/esper-io/esper-cli.gitcdesper-cli

pythonsetup.pyinstallYou need not install setuptools separately, they are packaged along with downloaded libraryUsageBefore using espercli, you need to tell it about your Esper credentials. For this you will needENVIRONMENT NAMEandAPI KEYas generated inRequirementssection.
The way to get started is to run the espercli configure command:$espercliconfigure
$Environmentname:foo
$EsperAPIKey:LpDriKp7MWJiRGcwc8xzREeUj8OEFaTo list available commands, either runespercliwith no parameters or executeespercli --help:usage:espercli[-h][-D][-q][-v]{group-command,group,enterprise,status,install,version,device-command,app,device,configure}...

EsperCLItooltomanageresourcesonEsper.ioAPIservice

optionalarguments:-h,--helpshowthishelpmessageandexit-D,--debugfullapplicationdebugmode-q,--quietsuppressallconsoleoutput-v,--versionshowprogram'sversionnumberandexitsub-commands:{secureadb,group-command,group,enterprise,status,installs,version,device-command,app,device,configure}secureadbSetupSecureADBconnectiontoDevicegroup-commandgroup-commandcontrollergroupgroupcontrollerenterpriseenterprisecontrollerstatusstatuscontrollerinstallinstallcontrollerversionversioncontrollerdevice-commanddevice-commandcontrollerappappcontrollerdevicedevicecontrollerconfigureConfigurethecredentialsfor`esper.io`APIServicetelemetryGettelemterydataforadeviceoveraperiod

Usage:espercli<sub-command>[--options]CommandsConfigureConfigure command is used to set and modify Esper credential details and can show credential details if not given-sor--setoption.$espercliconfigure[OPTIONS]OptionsName, shorthandDefaultDescription--set, -sSet or modify credentials--json, -jRender result in JSON formatExample$espercliconfigure

TITLEDETAILS
environmentfoo
api_keyLpDriKp7MWJiRGcwc8xzREeUj8OEFaTokenToken command is used to show the information associated with the token.$esperclitoken[SUB-COMMANDS]Sub commands1. showShow token information.$esperclitokenshow[OPTIONS]OptionsName, shorthandDefaultDescription--json, -jRender result in JSON formatExample$esperclitokenshow

TITLEDETAILS
EnterpriseIdf44373cb-1800-43c6-aab3-c81f8b1f435c
TokenU1XEFTNS1ujAMK2Q7Gl3hfPclCclhX
ExpiresOn2019-11-1915:42:16.637203+00:00
Scope['read','write','update','introspection','sdk','register']CreatedOn2019-08-2008:02:16.640250+00:00
UpdatedOn2019-08-2008:02:16.640275+00:00

$esperclitokenshow-j{"Enterprise":"f44373cb-1800-43c6-aab3-c81f8b1f435c","Developer App":"5b4ececb-b446-4f47-9e6f-0b47760763be","Token":"U1XEFTNS1ujAMK2Q7Gl3hfPclCclhX","Expires On":["read","write","update","introspection","sdk","register"],"Created On":"2019-08-20 08:02:16.640250+00:00","Updated On":"2019-08-20 08:02:16.640275+00:00"}%EnterpriseEnterprise command used to show and modify enterprise information.$esperclienterprise[SUB-COMMANDS]Sub commands1. showShow enterprise information.$esperclienterpriseshow[OPTIONS]OptionsName, shorthandDefaultDescription--json, -jRender result in JSON formatExample$esperclienterpriseshow

TITLEDETAILS
EnterpriseId595a6107-b137-448d-b217-e20cc58ee84d
NameFooEnterprise
RegisteredNameFooEnterprise
Address#123, Industrial Layout, Random AvenueLocationSantaClara,CA
ZipCode12345Emailcontact@foo.io
ContactPersonShivSundar
ContactNumber+145678901234

$esperclienterpriseshow-j{"Enterprise Id":"595a6107-b137-448d-b217-e20cc58ee84d","Name":"Foo Enterprise","Registered Name":"Foo Enterprise","Address":"#123, Industrial Layout, Random Avenue","Location":"Santa Clara, CA","Zip Code":"12345","Email":"contact@foo.io","Contact Person":"Shiv Sundar","Contact Number":"+145678901234"}%2. updateModify the enterprise information.$esperclienterpriseupdate[OPTIONS]OptionsName, shorthandDefaultDescription--name, -nEnterprise name--dispname, -dnEnterprise display name--regname, -rnEnterprise registered name--address, -aEnterprise address--location, -lEnterprise location--zipcode, -zEnterprise zip code--email, -eEnterprise contact email--person, -pEnterprise contact person name--number, -cnEnterprise contact number--json, -jRender result in JSON formatExample$esperclienterpriseupdate-p'Muneer M'TITLEDETAILS
EnterpriseId595a6107-b137-448d-b217-e20cc58ee84d
NameFooEnterprise
RegisteredNameFooEnterprise
Address#123, Industrial Layout, Random AvenueLocationSantaClara,CA
ZipCode12345Emailcontact@foo.io
ContactPersonMuneerM
ContactNumber+145678901234DeviceDevice used to list and show device information and set device as active for further commands.$esperclidevice[SUB-COMMANDS]Sub commands1. listList sub command used to list all devices and can filter results by using different options listed below. Pagination used to limit the number of results, default is 20 results per page.$esperclidevicelist[OPTIONS]OptionsName, shorthandDefaultDescription--limit, -l20Number of results to return per page--offset, -i0The initial index from which to return the results--state, -sFilter by device state, choices are [active, inactive, disabled]--name, -nFilter by device name--group, -gFilter by group name--imei, -imFilter by device IMEI number--tags, -tFilter by a tag--searchSearch by device name, alias name or device id--serial, -seFilter by device serial number--brand, -bFilter by device brand name--gms, -gmFilter by GMS and non GMS flag, choices are [true, false]--json, -jRender result in JSON formatExample$esperclidevicelist-gmfalseNumberofDevices:10IDNAMEMODELCURRENTSTATETAGS
62d42cff-6979-48ed-bedf-8b25052a74d0SNA-SNL-FZH5QUALCOMMINACTIVE
9877c1f0-0435-4185-a41b-e896e33bd438SNA-SNL-V84BQUALCOMMINACTIVEkiosk,cust
1bab8bf7-4b12-426e-a35b-00a718ec3490SNA-SNL-XA05POSBANKINACTIVE9cdb45ed-5bc7-433a-b08b-1c0cffffebecSNA-SNL-N7XYEsperDISABLED
d89a88f3-de5c-4acc-9eae-0868bd2fad15SNA-SNL-U1K1EMDOORINACTIVEEM
fc3af4e3-79f4-483f-986e-3af60bb58809SNA-SNL-T1PXVertexDISABLEDModelV,Prod,Beta
e2a7d069-b536-4700-b07b-4db9d9d9236cSNA-SNL-B424EsperINACTIVE
218b37c5-b1cf-4768-8340-b2bc5f701b54SNA-SNL-BGD3EMDOORINACTIVE
647ef365-0b68-4fbd-aa11-febe54d668b1SNA-SNL-8QJGIntelINACTIVE
c7c0382e-b911-451a-9d62-54936622d3b3SNA-SNL-R123QUALCOMMDISABLED2. showShow the details of the device. Here,device-nameis required to show device information.
Use the--activeor-aflag to mark this device as the active device. This will allow you to call further device commands without specifying the device.$esperclideviceshow[OPTIONS][device-name]OptionsName, shorthandDefaultDescription--active, -aSet device as active for further device specific commands--json, -jRender result in JSON formatExample$esperclideviceshow-aSNA-SNL-FZH5

TITLEDETAILS
id62d42cff-6979-48ed-bedf-8b25052a74d0
device_nameSNA-SNL-FZH5
alias_namesample
suidtFxCx1wRMnMIk7kO3GpkgX--VQEI_FQxC13D1Bh4yRA
api_level28template_nameNonGMS
is_gmsFalse
stateINACTIVE
tagskiosk,cust3. set-activeThe set-active sub command used to set a device as the active device and show the details of the current active device with no options.$esperclideviceset-active[OPTIONS]OptionsName, shorthandDefaultDescription--name, -nDevice name--json, -jRender result in JSON formatExample$esperclideviceset-active-nSNA-SNL-FZH5

TITLEDETAILS
id62d42cff-6979-48ed-bedf-8b25052a74d0
device_nameSNA-SNL-FZH5
alias_namesample
suidtFxCx1wRMnMIk7kO3GpkgX--VQEI_FQxC13D1Bh4yRA
api_level28template_nameNonGMS
is_gmsFalse
stateINACTIVE
tagskiosk,cust4. unset-activeThe unset-active sub command used to unset the current active device.$esperclideviceunset-activeExample$esperclideviceunset-active
UnsettheactivedeviceSNA-SNL-FZH5GroupGroup used to manage a group like list, show, create and update. Also can list devices in a group, add devices to group, remove devices and set group as active for further commands.$espercligroup[SUB-COMMANDS]Sub commands1. listList sub command used to list all groups and can filter results by using different options listed below. Pagination used to limit the number of results, default is 20 results per page.$espercligrouplist[OPTIONS]OptionsName, shorthandDefaultDescription--limit, -l20Number of results to return per page--offset, -i0The initial index from which to return the results--name, -nFilter by group name--json, -jRender result in JSON formatExample$espercligrouplist-n5G
NumberofGroups:1IDNAMEDEVICECOUNT
2e5efca2-7776-442e-a5ef-c2758d4a45a35G22. showShow the details of the group. Here,group-nameis required to show group information.
Use the--activeor-aflag to mark this group as the active group. This will allow you to call further group commands without specifying the group.$espercligroupshow[OPTIONS][group-name]OptionsName, shorthandDefaultDescription--active, -aSet device as active for further device specific commands--json, -jRender result in JSON formatExample$espercligroupshow-a5G

TITLEDETAILS
id2e5efca2-7776-442e-a5ef-c2758d4a45a3
name5G
device_count23. set-activeThe set-active sub command used to set a group as the active group and show the details of the current active group with no options.$espercligroupset-active[OPTIONS]OptionsName, shorthandDefaultDescription--name, -nGroup name--json, -jRender result in JSON formatExample$espercligroupset-active-n5G

TITLEDETAILS
id2e5efca2-7776-442e-a5ef-c2758d4a45a3
name5G
device_count24. unset-activeThe unset-active sub command used to unset the current active group.$espercligroupunset-activeExample$espercligroupunset-active
Unsettheactivegroup5G5. createCreate new group.$espercligroupcreate[OPTIONS]OptionsName, shorthandDefaultDescription--name, -nGroup name--json, -jRender result in JSON formatExample$espercligroupcreate-n5G

TITLEDETAILS
id2e5efca2-7776-442e-a5ef-c2758d4a45a3
name5G
device_count06. updateModify group information.$espercligroupupdate[OPTIONS][group-name]OptionsName, shorthandDefaultDescription--name, -nGroup new name--json, -jRender result in JSON formatExample$espercligroupupdate-n4G5G

TITLEDETAILS
id2e5efca2-7776-442e-a5ef-c2758d4a45a3
name4G
device_count27. deleteRemove particular group.$espercligroupdelete[group-name]Example$espercligroupdelete5G
Groupwithname5Gdeletedsuccessfully8. addAdd devices into a group, active group is used to add devices if--groupor-goption is not given explicitly.$espercligroupadd[OPTIONS]OptionsName, shorthandDefaultDescription--group, -gGroup name--devices, -dList of device names, list format is space separated--json, -jRender result in JSON formatExample$espercligroupadd-g5G-dSNA-SNL-73YESNA-SNL-NYWLTITLEDETAILS
id2e5efca2-7776-442e-a5ef-c2758d4a45a3
name5G
device_count29. removeRemove devices from a group, active group is used to add devices if--groupor-goption is not given explicitly.$espercligroupremove[OPTIONS]OptionsName, shorthandDefaultDescription--group, -gGroup name--devices, -dList of device names, list format is space separated--json, -jRender result in JSON formatExample$espercligroupremove-g5G-dSNA-SNL-73YESNA-SNL-NYWLTITLEDETAILS
id2e5efca2-7776-442e-a5ef-c2758d4a45a3
name5G
device_count010. devicesList devices in a particular group, active group is used to add devices if--groupor-goption is not given explicitly. Pagination used to limit the number of results, default is 20 results per page.$espercligroupdevices[OPTIONS][group-name]OptionsName, shorthandDefaultDescription--limit, -l20Number of results to return per page--offset, -i0The initial index from which to return the results--group, -gGroup name--json, -jRender result in JSON formatExample$espercligroupdevices-g5G
NumberofDevices:2IDNAMEMODELCURRENTSTATETAGS
3ebc3afd-249b-4f10-8561-fa1a9ddb1bb7SNA-SNL-KX37ShoonyaACTIVE
c8efa083-f325-4e3b-8d20-71b7a2927ffbSNA-SNL-3606QUALCOMMINACTIVEkioskAppApp command used to list, show, upload and delete applications and set application as active for further commands.$espercliapp[SUB-COMMANDS]Sub commands1. listList all applications and can filter results by using different options listed below. Pagination used to limit the number of results, default is 20 results per page.$espercliapplist[OPTIONS]OptionsName, shorthandDefaultDescription--limit, -l20Number of results to return per page--offset, -i0The initial index from which to return the results--name, -nFilter by application name--package, -pFilter by package name--json, -jRender result in JSON formatExample$espercliapplist-l5TotalNumberofApplications:76IDNAMEPACKAGENAME
d7131f72-17e4-40e9-bb9e-28f1fad1f623ATIDReadercom.atid.app.atx
0c067884-8d72-41b5-9ed7-3e6f1f62d99dCallBlockercom.sappalodapps.callblocker
630dbfab-7d85-4f81-9f3b-ffb038b0df72RootCheckerBasiccom.joeykrim.rootcheck
4baf7157-9fee-4dc5-ab3a-81dc983d7332CastleClashcom.igg.castleclash
09368a1b-a9cd-45bc-8824-7190bc0f6b7eWiFiAnalyzercom.vrem.wifianalyzer2. showShow the details of an application. Here,application-id(UUID) is required to show application information.
Use the--activeor-aflag to mark this application as the active application. This will allow you to call further app related commands without specifying the application.$espercliappshow[OPTIONS][application-id]OptionsName, shorthandDefaultDescription--active, -aSet application as active for further application specific commands--json, -jRender result in JSON formatExample$espercliappshow-a630dbfab-7d85-4f81-9f3b-ffb038b0df72

TITLEDETAILS
id630dbfab-7d85-4f81-9f3b-ffb038b0df72
application_nameRootCheckerBasic
package_namecom.joeykrim.rootcheck
developer
category
content_rating0.0
compatibility3. uploadUpload sub command used to upload application file. Here, application file path is required to upload file.$espercliappupload[OPTIONS][application-file]OptionsName, shorthandDefaultDescription--json, -jRender result in JSON formatExample$espercliappupload~/foo/com.joeykrim.rootcheck-v1.1.apk
Uploading......:100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉|196k/196k[00:11<00:00,18.1kB/s,file=com.joeykrim.rootcheck-v1.1.apk]TITLEDETAILS
id630dbfab-7d85-4f81-9f3b-ffb038b0df72
application_nameRootCheckerBasic
package_namecom.joeykrim.rootcheck
developer
category
content_rating0.0
compatibility
version_ide933366b-9bb2-4c41-87fe-023f839dc367
version_code1.0
build_number14. downloadDownload sub command used to download an application file to local system, here version id (UUID) is required to download the application version file.$espercliappdownload[OPTIONS][version-id]OptionsName, shorthandDefaultDescription--app, -aApplication id (UUID)--dest, -dDestination file path--json, -jRender result in JSON formatExample$espercliappdownload-a630dbfab-7d85-4f81-9f3b-ffb038b0df72-d~/foo/com.joeykrim.rootcheck-v1.1.apk54436edb-9b43-4e2c-8107-2c6fa90e2a9e
Downloading......:100%|███████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████████▉|196k/196k[00:11<00:00,18.1kB/s]5. deleteDelete sub command used to delete application. Here, application id (UUID) is required to delete application and unset active application if it is set as active.$espercliappdelete[application-id]Example$espercliappdelete630dbfab-7d85-4f81-9f3b-ffb038b0df72
Applicationwithid630dbfab-7d85-4f81-9f3b-ffb038b0df72deletedsuccessfully6. set-activeThe set-active sub command used to set an application as active application and show active application information with no options.$espercliappset-active[OPTIONS]OptionsName, shorthandDefaultDescription--id, -iApplication id--json, -jRender result in JSON formatExample$espercliappset-active-i630dbfab-7d85-4f81-9f3b-ffb038b0df72

TITLEDETAILS
id630dbfab-7d85-4f81-9f3b-ffb038b0df72
application_nameRootCheckerBasic
package_namecom.joeykrim.rootcheck
developer
category
content_rating0.0
compatibilityBelow example listing versions of current active app,$espercliversionlist
TotalNumberofVersions:1IDVERSIONCODEBUILDNUMBERSIZEINMBRELEASETRACKINSTALLEDCOUNT
54436edb-9b43-4e2c-8107-2c6fa90e2a9e6.4.51899.3642117. unset-activeThe unset-active sub command used to unset the current active application.$espercliappunset-activeExample$espercliappunset-active
Unsettheactiveapplication630dbfab-7d85-4f81-9f3b-ffb038b0df72VersionVersion command used to list, show and delete application versions.$espercliversion[SUB-COMMANDS]Sub commands1. listList all application versions and can filter results by using different options listed below. Pagination used to limit the number of results, default is 20 results per page. Active application is used to list if--appor-aoption is not given explicitly.$espercliversionlist[OPTIONS]OptionsName, shorthandDefaultDescription--limit, -l20Number of results to return per page--offset, -i0The initial index from which to return the results--app, -aApplication id (UUID)--code, -cFilter by version code--number, -nFilter by build number--json, -jRender result in JSON formatExample$espercliversionlist-a630dbfab-7d85-4f81-9f3b-ffb038b0df72
TotalNumberofVersions:1IDVERSIONCODEBUILDNUMBERSIZEINMBRELEASETRACKINSTALLEDCOUNT
54436edb-9b43-4e2c-8107-2c6fa90e2a9e6.4.51899.364211For list of versions if active application is set,$espercliversionlist
TotalNumberofVersions:1IDVERSIONCODEBUILDNUMBERSIZEINMBRELEASETRACKINSTALLEDCOUNT
54436edb-9b43-4e2c-8107-2c6fa90e2a9e6.4.51899.3642112. showShow application version information, here version id (UUID) is required to show version information.$espercliversionshow[OPTIONS][version-id]OptionsName, shorthandDefaultDescription--app, -aApplication id (UUID)--json, -jRender result in JSON formatExample$espercliversionshow-a630dbfab-7d85-4f81-9f3b-ffb038b0df7254436edb-9b43-4e2c-8107-2c6fa90e2a9e

TITLEDETAILS
id54436edb-9b43-4e2c-8107-2c6fa90e2a9e
version_code6.4.5
build_number189size_in_mb9.36421394348145
release_track
installed_count13. deleteDelete sub command used to delete particular application version. Here, version id (UUID) is required to delete version. Application will be also deleted if application contains one version and unset active application if it is set as active$espercliversiondelete[OPTIONS][version-id]OptionsName, shorthandDefaultDescription--app, -aApplication id (UUID)Example$espercliversiondelete-a630dbfab-7d85-4f81-9f3b-ffb038b0df7254436edb-9b43-4e2c-8107-2c6fa90e2a9e
Versionwithid54436edb-9b43-4e2c-8107-2c6fa90e2a9edeletedsuccessfullyDevice-commandDevice-command command used to fire different actions on device like lock, ping, reboot, deploy application and wipe.$esperclidevice-command[SUB-COMMANDS]Sub commands1. installDeploy an application version on device. Active device is used to install application if--deviceor-doption is not given explicitly.$esperclidevice-commandinstall[OPTIONS]OptionsName, shorthandDefaultDescription--device, -dDevice name--version, -VApplication version id (UUID)--json, -jRender result in JSON formatExample$esperclidevice-commandinstall-dSNA-SNL-3GQA-V54436edb-9b43-4e2c-8107-2c6fa90e2a9e

TITLEDETAILS
id21180eef-678f-4447-87d8-e29af2bcb8e6commandINSTALL
stateCommandInitiatedFor install command if active device is set,$esperclidevice-commandinstall-V54436edb-9b43-4e2c-8107-2c6fa90e2a9e

TITLEDETAILS
id21180eef-678f-4447-87d8-e29af2bcb8e6commandINSTALL
stateCommandInitiated2. uninstallUninstall an application version on device. Active device is used to uninstall application if--deviceor-doption is not given explicitly.$esperclidevice-commanduninstall[OPTIONS]OptionsName, shorthandDefaultDescription--device, -dDevice name--version, -VApplication version id (UUID)--json, -jRender result in JSON formatExample$esperclidevice-commanduninstall-dSNA-SNL-3GQA-V54436edb-9b43-4e2c-8107-2c6fa90e2a9e

TITLEDETAILS
id21180eef-678f-4447-87d8-e29af2bcb8e6commandUNINSTALL
stateCommandInitiated3. pingPing a device, active device is used to ping if--deviceor-doption is not given explicitly.$esperclidevice-commandping[OPTIONS]OptionsName, shorthandDefaultDescription--device, -dDevice name--json, -jRender result in JSON formatExample$esperclidevice-commandping-dSNA-SNL-3GQA

TITLEDETAILS
id60f3f989-d59d-4c77-b4d9-aec385bd81fbcommandUPDATE_HEARTBEAT
stateCommandInitiated4. lockLock command is used to lock screen of a device, active device is used to lock if--deviceor-doption is not given explicitly.$esperclidevice-commandlock[OPTIONS]OptionsName, shorthandDefaultDescription--device, -dDevice name--json, -jRender result in JSON formatExample$esperclidevice-commandlock-dSNA-SNL-3GQA

TITLEDETAILS
id6e00220d-9bc2-4176-839a-fb690f72f6e2commandLOCK
stateCommandInitiated5. rebootReboot command is used to reboot a device, active device is used to lock if--deviceor-doption is not given explicitly.$esperclidevice-commandreboot[OPTIONS]OptionsName, shorthandDefaultDescription--device, -dDevice name--json, -jRender result in JSON formatExample$esperclidevice-commandreboot-dSNA-SNL-3GQA

TITLEDETAILS
id6e00220d-9bc2-4176-839a-fb690f72f165commandREBOOT
stateCommandInitiated6. wipeWipe a device, active device is used to wipe if--deviceor-doption is not given explicitly.$esperclidevice-commandwipe[OPTIONS]OptionsName, shorthandDefaultDescription--device, -dDevice name--exstorage, -eExternal storage needed to wipe or not--frp, -fFactory reset production enabled or not--json, -jRender result in JSON formatExample$esperclidevice-commandwipe-dSNA-SNL-3GQA-e-f

TITLEDETAILS
id8000220d-9bc2-4176-839a-fb690f72f165commandWIPE
stateCommandInitiated7. Clear app dataClear app data, active device is used to clear app data if--deviceor-doption is not given explicitly.$esperclidevice-commandclear-app-data[OPTIONS]OptionsName, shorthandDefaultDescription--device, -dDevice name--package-name, -PPackage name of app to clear data from--json, -jRender result in JSON formatExample$esperclidevice-commandclear-app-data-dSNA-SNL-3GQA-Pcom.google.android.gms.maps

TITLEDETAILS
id8000220d-9bc2-4176-839a-fb690f72f165commandCLEAR_APP_DATA
stateCommandInitiated8. showShow device-command information and command id (UUID) is required to show command information. This is used active device to show command if--deviceor-doption is not given explicitly.$esperclidevice-commandshow[OPTIONS][command-id]OptionsName, shorthandDefaultDescription--device, -dDevice name--json, -jRender result in JSON formatExample$esperclidevice-commandshow6e00220d-9bc2-4176-839a-fb690f72f6e2-dSNA-SNL-3GQA

TITLEDETAILS
id60f3f989-d59d-4c77-b4d9-aec385bd81fbcommandUPDATE_HEARTBEAT
stateCommandSuccessGroup-commandGroup-command command used to fire different actions on group like lock, ping, reboot and deploy application.$espercligroup-command[SUB-COMMANDS]Sub commands1. installDeploy an application version on a group. Active group is used to install application if--groupor-goption is not given explicitly.$espercligroup-commandinstall[OPTIONS]OptionsName, shorthandDefaultDescription--group, -gGroup name--version, -VApplication version id (UUID)--json, -jRender result in JSON formatExample$espercligroup-commandinstall-g5G-V54436edb-9b43-4e2c-8107-2c6fa90e2a9e

TITLEDETAILS
id6cda46b4-05da-4e76-b7ae-4af52ce288facommandINSTALL
stateCommandInitiated
success
failed
in_progress
inactiveFor list of versions if active group is set,$espercligroup-commandinstall-V54436edb-9b43-4e2c-8107-2c6fa90e2a9e

TITLEDETAILS
id6cda46b4-05da-4e76-b7ae-4af52ce288facommandINSTALL
stateCommandInitiated
success
failed
in_progress
inactive2. pingPing a group, active group is used to ping if--groupor-goption is not given explicitly.$espercligroup-commandping[OPTIONS]OptionsName, shorthandDefaultDescription--group, -gGroup name--json, -jRender result in JSON formatExample$espercligroup-commandping-g5G

TITLEDETAILS
id077b202f-d515-45bd-9764-8f9b42416959commandUPDATE_HEARTBEAT
stateCommandInitiated
success
failed
in_progress
inactive3. lockLock command is used to lock screen of a group of devices, active group is used to lock if--groupor-goption is not given explicitly.$espercligroup-commandlock[OPTIONS]OptionsName, shorthandDefaultDescription--group, -gGroup name--json, -jRender result in JSON formatExample$espercligroup-commandlock-g5G

TITLEDETAILS
id4752969d-b51f-410f-8b3b-956db59f8a61commandLOCK
stateCommandInitiated
success
failed
in_progress
inactive4. rebootReboot command is used to reboot group of devices, active group is used to lock if--groupor-goption is not given explicitly.$espercligroup-commandreboot[OPTIONS]OptionsName, shorthandDefaultDescription--group, -gGroup name--json, -jRender result in JSON formatExample$espercligroup-commandreboot-g5G

TITLEDETAILS
idb55d18ab-ff92-405b-8598-373594dd394ecommandREBOOT
stateCommandInitiated
success
failed
in_progress
inactive5. showShow group-command information and command id (UUID) is required to show command information. This is used active group to show command if--groupor-goption is not given explicitly.$espercligroup-commandshow[OPTIONS][command-id]OptionsName, shorthandDefaultDescription--group, -gGroup name--json, -jRender result in JSON formatExample$espercligroup-commandshow-g5Gb55d18ab-ff92-405b-8598-373594dd394e

TITLEDETAILS
idb55d18ab-ff92-405b-8598-373594dd394ecommandREBOOT
stateCommandSuccess
successSNA-SNL-73YESNA-SNL-NYWL
failed
in_progress
inactiveInstallsInstalls command used to list all installations on a device.$espercliinstalls[SUB-COMMANDS]Sub commands1. listList all application installations on a device and can filter results by using different options listed below. Pagination used to limit the number of results, default is 20 results per page. Active device is used to list if--deviceor-doption is not given explicitly.$espercliinstallslist[OPTIONS]OptionsName, shorthandDefaultDescription--limit, -l20Number of results to return per page--offset, -i0The initial index from which to return the results--device, -dDevice name--appname, -anApplication name--package, -pApplication package name--state, -sInstall state. Values are [Installation In-Progress, Uninstallation In-Progress, Install Success, Install Failed, Uninstall Success, Uninstall Failed]--json, -jRender result in JSON formatExample$espercliinstallslist-dSNA-SNL-3GQA
TotalNumberofInstalls:1IDAPPLICATIONPACKAGEVERSIONSTATE
fc9e0d4e-fc88-4729-a575-7d4645901f1dRootCheckerBasiccom.joeykrim.rootcheck6.4.5InstallSuccessstatusStatus command used to list latest device event information.$esperclistatus[SUB-COMMANDS]Sub commands1. latestShow latest device event, active device is used to list if--deviceor-doption is not given explicitly.$esperclistatuslatest[OPTIONS]OptionsName, shorthandDefaultDescription--device, -dDevice name--json, -jRender result in JSON formatExample$esperclistatuslatest-dSNA-SNL-3GQA

TITLEDETAILS
battery_level98battery_temperature25data_download366914data_upload130956memory_storage8294memory_ram1177link_speed65signal_strength2secureadbSecureadb is a new feature that allows users to connect to their devices over Remote adb (usingadb-tools), over the
internet, securely.$esperclisecureadb[SUB-COMMANDS]Sub commands1. connectEstablish a secure connection to the device; active device is used to connect if--deviceor-doption is not given explicitly.This will open a local endpoint on your machine, to which theadb-toolcan connect.
This local service will relay the traffic, securing by TLS encryption, from adb-tools to the device.
This will also keep running untiladb disconnectis run, or the application is quit byCtrl+C.$esperclisecureadbconnect[OPTIONS]OptionsName, shorthandDefaultDescription--device, -dDevice nameExample$esperclisecureadbconnect-dSNA-SNL-3GQA

InitiatingRemoteADBSession.Thismaytakeafewseconds...

SecureADBClient
PleaseconnectADBclienttothefollowingendpoint:127.0.0.1:62945Ifadb-toolsisinstalled,pleaserunthecommandbelow:adbconnect127.0.0.1:62945

PressCtrl+Ctoquit!telemetryThis is used to view telemetry data for a device over a period$esperclitelemetry[SUB-COMMANDS]Sub commands1. get-dataIt fetches the telemetry data for a specific device, for a specific metric aggregated byhourormonthordayand is specified by-p, --period flag. The statistic function is specified by may beavg,sumorcountand is specified by-s, --statisticflag. Metric format is{category}-{metric_name}.
The timespan to fetch telemetry data can be specified using two ways: Using-l, --lastoption or-t, --toand-f, --fromcombination.To use-l, --lastoption use a number to specify number of hours, days, months relative to now for which data is required.
To specify absolute date range use-f, --fromand-t, --tocombination.Available metric names {category}-{metric_name}battery-level
battery-temperature
battery-voltage
battery-capacity_count
battery-current_avg
battery-current
battery-energy_count
battery-low_indicator
battery-present
battery-level_absolute
battery-scale
battery-charge_time_remaining
memory-available_ram_measured
memory-available_internal_storage_measured
memory-os_occupied_storage_measured
wifi_network-signal_strength
wifi_network-link_speed
wifi_network-frequency	
data_usage-total_data_download
data_usage-total_data_upload`$esperclitelemetryget-data[OPTIONS]OptionsName, shorthandDefaultDescription--device, -dDevice name--metric, -mMetric in format {category}-{metric_name}--from, -f{2 days since now}Start date time of telemetry data--period, -phourAggregation period--statistic, -savgStatistic function--last, -lRelative time from now. Use -n for n hour's since or n days since--to, -t{now}End date time of telemetry dataExample$esperclitelemetryget-data-mbattery-level-l7-pmonth-dDEV-ELOP-FXVW

TelemetrydatafordeviceDEV-ELOP-FXVD
TimeValue2019-12-01T00:00:00Z69.2948

$esperclitelemetryget-data-dDEV-ELOP-FXVD-mbattery-level-f2019-12-15T12:36:36-t2019-12-17T12:36:36
TelemetrydatafordeviceDEV-ELOP-FXVD
TimeValue2019-12-16T04:00:00Z2019-12-16T05:00:00Z26.53332019-12-16T06:00:00Z41.33332019-12-16T07:00:00Z48.252019-12-16T08:00:00Z522019-12-16T09:00:00Z602019-12-16T11:00:00Z652019-12-17T06:00:00Z85.1252019-12-17T07:00:00Z82.4PipelinePipelines is used to create workflows consisting of actions to such as APP-INSTALL/APP-UNINSTALL/etc.$esperclipipeline

usage:esperclipipeline[-h]{execute,stage,create,edit,remove,show}...

Pipelinecommands

optionalarguments:-h,--helpshowthishelpmessageandexitsub-commands:{execute,stage,create,edit,remove,show}executeexecutecontrollerstagestagecontrollercreateCreateapipelineeditEditapipeline(s)removeRemoveaPipelineshowListorFetchapipeline(s)Usage:esperclipipelineSub commands1. createCreate a new Pipeline$esperclipipelinecreate[OPTIONS]OptionsName, shorthandDefaultDescription--name, -n[opt]Name of Pipeline--desc[opt]Description for PipelineExample$esperclipipelinecreateNameofthePipeline:<PipelineName>
DescriptionforthisPipeline[optional]:<BLah>
WhattypeoftriggerdoyouwantforyourPipeline?[1]NewAppVersionEvent[2]Skipfornow...1EntertheApplicationname:<Blah>
EnterthePackagename:<com.blah>2. editEdit an existing Pipeline$esperclipipelineedit[OPTIONS]OptionsName, shorthandDefaultDescription--name, -n[opt]Name of Pipeline--desc[opt]Description for Pipeline--pipeline-id, -p[opt]Pipeline IDExample$esperclipipelineeditChangethenameofthePipeline:<blah>
ChangethedescriptionforthisPipeline[optional]:<blah>
EnterthePipelineID:
WhattypeoftriggerdoyouwantforyourPipeline?[1]NewAppVersionEvent[2]Skipfornow...3. removeRemove an existing Pipeline$esperclipipelineremove[OPTIONS]OptionsName, shorthandDefaultDescription--pipeline-id, -p[opt]Pipeline IDExample$esperclipipelineremoveEnterthePipelineID:...4. showList one or all Pipelines$esperclipipelineshow[OPTIONS]OptionsName, shorthandDefaultDescription--pipeline-id, -p[opt]Pipeline IDExample$esperclipipelineshowIDNAMEDESCRIPTIONSTAGESVERSIONTRIGGERTRIGGER-APP
db26ae3b-dd80-4b91-8a21-e6e7bf3099afJerynCLI14NewAppVersionEventFirefox
9c36afa8-b710-4c28-b72f-8555a69fd907asdcafsdasdasfd01NewAppVersionEventCandyCrushSaga
3c7fbc8a-c420-4e14-8036-a6ff4a7efb58asdasdas11NewAppVersionEventCandleiPipeline StagesThese sub command are used to add various named Stages to the Pipeline.
A Stage is a logical grouping for the various operations. Each stage has aorderingfield
that tells in what order the stages have to processed by the pipeline. The pipeline orders the
stages in ascending order oforderingvalue, and process accordingly.Please note this command depends on an existing pipeline. A Pipeline needs to be created first, before
the stage sub-commands can be run.$esperclipipelinestage

usage:esperclipipelinestage[-h]{operation,create,edit,remove,show}...

PipelineStagecommands

optionalarguments:-h,--helpshowthishelpmessageandexitsub-commands:{operation,create,edit,remove,show}operationoperationcontrollercreateAddaStageeditEditaStageremoveRemoveaStageshowListallStages

Usage:esperclipipelinestageSub commands1. createAdd a new stage to an existing pipeline$esperclipipelinestagecreate[OPTIONS]OptionsName, shorthandDefaultDescription--pipeline-id, -p[opt]Pipeline ID--name, -n[opt]Name of Stage--desc[opt]Description for Stage--ordering[opt]Ordering for stageExample$esperclipipelinestagecreateEnterthePipelineID:<uuidofpipeline>
NameoftheStage:<nameofstage>
OrderofthisStage:10DescriptionforthisStage[optional]:
AddedStagetoPipelineSuccessfully!Details:

TITLEDETAILS
id86cd9c84-59be-4c89-a609-d76f85e38d53
operations[]clientf44373cb-1800-43c6-aab3-c81f8b1f435c
nameblah
description
created_on2019-12-26T05:23:09.185749Z
updated_on2019-12-26T05:23:09.185795Z
version1ordering10pipeline904bf55d-f39f-4dc7-b085-014712c567fc2. editEdit an existing stage$esperclipipelinestageedit[OPTIONS]OptionsName, shorthandDefaultDescription--pipeline-id, -p[opt]Pipeline ID--stage-id, -s[opt]Stage ID--name, -n[opt]Name of Stage--desc[opt]Description for Stage--ordering[opt]Ordering for stageExample$esperclipipelinestageeditEnterthePipelineID:<uuidofpipeline>
EntertheStageID:<uuid>
ChangethenameoftheStage:
ChangethedescriptionforthisStage[optional]:
ChangetheOrderingforthisStage[optional]:

TITLEDETAILS
id<uuid>
operations[]client<uuid>
nameblah
description
created_on2019-12-26T05:23:09.185749Z
updated_on2019-12-26T05:23:09.185795Z
version1ordering10pipeline<uuid>3. removeRemove an existing Stage$esperclipipelinestageremove[OPTIONS]OptionsName, shorthandDefaultDescription--pipeline-id, -p[opt]Pipeline ID--stage-id, -s[opt]Stage IDExample$esperclipipelineremoveEnterthePipelineID:<uuidofpipeline>
EntertheStageID:<uuid>4. showList one or all stages in a pipeline$esperclipipelinestageshow[OPTIONS]OptionsName, shorthandDefaultDescription--pipeline-id, -p[opt]Pipeline ID--stage-id, -s[opt]Stage IDExample$esperclipipelinestageshowIDNAMEDESCRIPTIONORDERINGOPERATIONSVERSION
<stageuuid>22201<stageuuid>33301<stageuuid>blah1001Pipeline OperationsThese sub command are used to add various named Operations to the Stage of a Pipeline.
An Operation defines anAction- such asAPP_INSTALL,APP_UNINSTALL, ETC. Each operation has aorderingfield,
just like stages. The pipeline orders the operations in ascending order oforderingvalue, within a given stage,
and processes them accordingly.Note:
If aNewAppUploadEventtrigger has been defined for the pipeline, thenAPP_INSTALL/APP_UNINSTALLoperations,
will install/uninstall the app from theNewAppUploadEvent.Please note this command depends on an existing Stage. A Stage needs to be created first, before the operations
sub-commands can be run.$esperclipipelinestageoperation

usage:esperclipipelinestageoperation[-h]{create,edit,remove,show}...

PipelineStageOperationcommands

optionalarguments:-h,--helpshowthishelpmessageandexitsub-commands:{create,edit,remove,show}createAddaOperationeditEditanOperationremoveRemoveanOperationshowListallOperations

Usage:esperclipipelinestageoperationSub commands1. createAdd a new Operation to an existing Stage$esperclipipelinestageoperationcreate[OPTIONS]OptionsName, shorthandDefaultDescription--pipeline-id, -p[opt]Pipeline ID--stage-id, -s[opt]Stage ID--name, -n[opt]Name of Operation--desc[opt]Description for Operation--action, -a[opt]Action for Operation--ordering[opt]Ordering for OperationExample$esperclipipelinestageoperationcreateEnterthePipelineID:<uuidofpipeline>
EntertheStageID:<uuidofstage>
NameoftheOperation:<nameofoperation>
ActionforthisOperation:1:AppInstalltoaGroupofDevices2:AppUninstalltoaGroupofDevices3:RebootaGroupofDevices

Enterthenumberforyourselection:1NameoftheGroup(towhichthecommandmustbefired):<group-name>
DescriptionforthisOperation[optional]:AddedOperationtoStageSuccessfully!Details:

TITLEDETAILS
id<operationuuid>
actionAPP_INSTALL
action_args{'url':'<group-command url>','body':{'command':'INSTALL'},'method':'POST','headers':{'Authorization':'Bearer <oauth creds>'}}clientf44373cb-1800-43c6-aab3-c81f8b1f435c
name<nameofoperation>
descriptioncreated_on2019-12-26T06:19:50.329913Z
updated_on2019-12-26T06:19:50.329944Z
version1ordering1pipeline<pipelineuuid>
stage<stageuuid>2. editEdit an existing operation$esperclipipelinestageoperationedit[OPTIONS]OptionsName, shorthandDefaultDescription--pipeline-id, -p[opt]Pipeline ID--stage-id, -s[opt]Stage ID--operation-id, -o[opt]Operation ID--name, -n[opt]Name of Operation--desc[opt]Description for Operation--action, -a[opt]Action for Operation--ordering[opt]Ordering for OperationExample$esperclipipelinestageoperationeditEnterthePipelineID:<uuidofpipeline>
EntertheStageID:<uuidofstage>
EntertheOperationID:<uuid>
ChangethenameoftheOperation:
ChangethedescriptionforthisOperation[optional]:
ActionforthisOperation:1:AppInstalltoaGroupofDevices2:AppUninstalltoaGroupofDevices3:RebootaGroupofDevices

Enterthenumberforyourselection:1EditedOperationforthisStageSuccessfully!Details:

TITLEDETAILS
id<operationuuid>
actionAPP_INSTALL
action_args{'url':'<group-command url>','body':{'command':'INSTALL'},'method':'POST','headers':{'Authorization':'Bearer <oauth creds>'}}client<uuid>
nameJeryn
descriptionblah
created_on2019-12-26T06:19:50.329913Z
updated_on2019-12-26T07:00:54.485012Z
version2ordering1pipeline<pipelineuuid>
stage<stageuuid>3. removeRemove an existing Stage$esperclipipelinestageremove[OPTIONS]OptionsName, shorthandDefaultDescription--pipeline-id, -p[opt]Pipeline ID--stage-id, -s[opt]Stage ID--operation-id, -o[opt]Operation IDExample$esperclipipelinestageoperationremoveEnterthePipelineID:<uuidofpipeline>
EntertheStageID:<uuidofstage>
EntertheOperationID:<uuid>4. showList one or all stages in a pipeline$esperclipipelinestageshow[OPTIONS]OptionsName, shorthandDefaultDescription--pipeline-id, -p[opt]Pipeline ID--stage-id, -s[opt]Stage ID--operation-id, -o[opt]Operation IDExample$esperclipipelinestageshowListingOperationsfortheStage!Details:

IDNAMEDESCRIPTIONORDERINGACTIONVERSION
<operationuuid>Jerynblah1APP_INSTALL2Pipeline ExecutionThis sub-command is used to manually start/stop/terminate a pipeline execution.Note:
If trigger is specified for a pipeline, the execution will start automatically when
trigger conditions are met.$esperclipipelineexecute

usage:esperclipipelineexecute[-h]{show,start,stop,terminate}...

PipelineExecutecommands

optionalarguments:-h,--helpshowthishelpmessageandexitsub-commands:{show,start,stop,terminate}showListallExecutionsstartExecutepipelinestopStopaPipelineExecutionterminateTerminateaPipelineExecution

Usage:esperclipipelineexecute1. showList all Executions of a Pipeline$esperclipipelineexecuteshow[OPTIONS]OptionsName, shorthandDefaultDescription--pipeline-id, -p[opt]Pipeline IDExample$esperclipipelineexecuteshowEnterthePipelineID:<uuidofpipeline>

ListingOperationsfortheStage!Details:

IDNAMEDESCRIPTIONSTATESTATUSREASON
<pipelineuuid>[DONTTOUCH]JerynCLITERMINATEDTERMINATEDDunno
<pipelineuuid>[DONTTOUCH]JerynCLICOMPLETEDFAILUREOutof1devices,Commandfailedon1devices,with0inactivedevices
<pipelineuuid>[DONTTOUCH]JerynCLICOMPLETEDFAILUREOutof1devices,Commandfailedon1devices,with0inactivedevices2. startStart (or continue) a Manual execution of a Pipeline$esperclipipelineexecutestart[OPTIONS]OptionsName, shorthandDefaultDescription--pipeline-id, -p[opt]Pipeline IDExample$esperclipipelineexecutestartEnterthePipelineID:<uuidofpipeline>

Pipelineexecutionstarted!Details:

TITLEDETAILS
id<executionuuid>
stateRUNNING
statusRUNNING
reason
client<clientuuid>
name[DONTTOUCH]JerynCLI
description
version4started_at2019-12-26T07:31:56.549188Z
updated_at2019-12-26T07:31:56.654497Z
parent<pipelineuuid>2. stopStop an execution of a Pipeline.Note: A Stopped execution can be restarted with astartcommand$esperclipipelineexecutestop[OPTIONS]OptionsName, shorthandDefaultDescription--pipeline-id, -p[opt]Pipeline ID--execution-id, -e[opt]Execution ID--reason[opt]Reason to stop the executionExample$esperclipipelineexecutestopEnterthePipelineID:<uuidofpipeline>
EntertheExecutionID:<uuidofpipeline>
WhydoyouwanttostopthisExecution?:<giveareason>

PipelineexecutionStopped!Details:

TITLEDETAILS
id<executionuuid>
stateSTOPPED
statusSTOPPED
reason<givenreason>
client<clientuuid>
name<pipelinename>
description
version4started_at2019-12-26T07:31:56.549188Z
updated_at2019-12-26T07:31:56.654497Z
parent<pipelineuuid>3. terminateTerminate an execution of a Pipeline.Note: A terminated pipeline cant be restarted again.$esperclipipelineexecuteterminate[OPTIONS]OptionsName, shorthandDefaultDescription--pipeline-id, -p[opt]Pipeline ID--execution-id, -e[opt]Execution ID--reason[opt]Reason to stop the executionExample$esperclipipelineexecuteterminateEnterthePipelineID:<uuidofpipeline>
EntertheExecutionID:<uuidofpipeline>
WhydoyouwanttoterminatethisExecution?:<giveareason>

PipelineexecutionStopped!Details:

TITLEDETAILS
id<executionuuid>
stateTERMINATED
statusTERMINATED
reason<givenreason>
client<uuid>
name<pipelinename>
description
version4started_at2019-12-26T07:31:56.549188Z
updated_at2019-12-26T07:31:56.654497Z
parent<uuid>4. continueContinue a Stopped execution of a Pipeline.$esperclipipelineexecutecontinue[OPTIONS]OptionsName, shorthandDefaultDescription--pipeline-id, -p[opt]Pipeline ID--execution-id, -e[opt]Execution IDExample$esperclipipelineexecutecontinueEnterthePipelineID:<uuidofpipeline>
EntertheExecutionID:<uuidofpipeline>

PipelineexecutionStarted!Details:

TITLEDETAILS
id<executionuuid>
stateRUNNING
statusRUNNING
reason<givenreason>
client<uuid>
name<pipelinename>
description
version4started_at2019-12-26T07:31:56.549188Z
updated_at2019-12-26T07:31:56.654497Z
parent<uuid>We are always in active development and we try our best to keep our documentation up to date. However, if you end up ahead of time you can check our latest documentation onGithub.If you face any issue with CLI usage, we recommend you to reach out toEsper Dev Support