v1

latestOpenAPI 3.0.1Apache 2.02026-08-063494581.6 MB
esper_cloud_api_AndroidDevice

Fetch device details by ID

⚠️ Android only. This endpoint applies exclusively to Android-managed devices enrolled in Esper.

Alternative Available

Use the v2 endpoint /v2/devices/{id} for an updated and forward-compatible device model, especially in multi-OS environments.

Retrieves the full DeviceInfo record for a single enrolled device by its UUID. Returns comprehensive device metadata including hardware identifiers, enrollment state, group membership, applied and assigned blueprint versions, and status information. Use when you already have a device_id and need complete, authoritative device detail.

About Get Device

The DeviceInfo object is Esper's full representation of an enrolled Android device. It includes all fields returned in list results, plus any additional status and configuration detail associated with the device's current enrollment state. Device IDs are stable UUIDs and do not change after enrollment; they are the primary reference for all device-specific API operations — commands, app installs, event feeds, and status queries.

Key Fields

device_id — path parameter UUID; Esper's stable internal identifier for this device

Blueprint fields — reflect the gap between assigned_blueprint_id (what's intended) and current_blueprint_id / current_blueprint_version_id (what's applied)

Enrollment state — current device lifecycle state (see DeviceStateEnum)

Common Use Cases

Retrieve full device details after discovering a device_id from a list or event payload

Confirm current enrollment state before issuing a command or checking compliance

Inspect blueprint assignment vs. applied blueprint to detect configuration drift

Best Practices

Use this endpoint for authoritative single-device lookups rather than scanning list results — it avoids pagination overhead and returns a complete record. Check state before dispatching commands; commands may not execute on devices in offline or unenrolled states. Store the device_id UUID in your system — it is the stable key for all downstream device operations and does not change.

Workflow

Obtain device_id from a device list call, enrollment event, or stored reference. Call this endpoint to retrieve the full DeviceInfo record. Use the returned state and configuration data to determine the appropriate next action (command, install, group operation).

get/enterprise/{enterprise_id}/device/{device_id}/

Path parameters

enterprise_idstring uuid required

ID of the enterprise

device_idstring uuid required

ID of the device

Response

successful operation

idstring uuid
urlstring url
device_namestring
alias_namestring

Device friendly name

policy_namestring
statusinteger

Current status of device

state0 | 1 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100 | 110 | 120 | 130 | 140 | 150 | 160 | 170 | 180 | 190 | 200

Following are the Device States and their description

* 0 = Device State is Unspecified
* 1 = Online
* 20 = Disabled (device has been factory reset or removed from the Esper Dashboard)
* 30 = Beginning Provisioning
* 40 = Configuring Google Play (still provisioning)
* 50 = Applying Policies and Installing Applications (still provisioning)
* 60 = Offline
* 70 = Device is undergoing a Factory Reset (reset started from Dashboard)
* 80 = Device Onboarding in Progress
* 90 = Device Onboarding Failed
* 100 = Device Onboarded in Esper
* 110 = Android For Work Account added
* 120 = Apps installed
* 130 = Branding Processed
* 140 = Permission Policy Processed
* 150 = Device Policy Processed
* 160 = Device Settings Processed
* 170 = Security Policy Processed
* 180 = Phone Policy Processed
* 190 = Custom Settings Processed
* 200 = Registered
current_commandstring uuid

Current command associated with device

suidstring

Device generated unique id

directory_record_idstring uuid

ID of Directory Record associated with the device (if available)

fcm_idstring
enterprisestring url
policystring url
userstring url
groupsstring[]
tagsstring[]
api_levelinteger
template_namestring
mqtt_idstring
softwareInfoobject
hardwareInfoobject
displaysobject
networkInfoobject
memoryInfoobject
esper_cientstring
device_typestring
audioConstraintsobject
provisioned_onstring date-time
created_onstring date-time
current_app_modeinteger
kiosk_app_namestring
lockdown_stateinteger
timezone_stringstring
initialtemplatestring
updated_onstring date-time
is_gmsboolean
is_activeboolean
has_seamlessInfoboolean