---
title: "Retrieve detailed device information."
method: GET
path: "/v2/devices/{id}"
tags: ["device_Device"]
---

# Retrieve detailed device information.

`GET /v2/devices/{id}`

Retrieves comprehensive details for a single enrolled device by UUID, using the V2 device schema.

Returns a V2 platform-typed device record with richer fields than the v0 equivalent, for all supported Esper-managed platforms.

**About Get Device Details (V2)**

This is the recommended endpoint for single-device lookups in new integrations. The V2 device schema provides additional fields compared to the v0 schema and aligns with the richer data model returned by /api/v2/devices/. Like the list endpoint, the response is polymorphic — the exact fields depend on the device platform. 

**Key Fields**

id (path) — Esper device UUID (required)

**Common Use Cases**

Fetching full device context before constructing a pipeline or operation

Retrieving V2-specific fields like Foundry OS version, Esper agent version, or lock-down state

Integrating device data into external ITSM, asset management, or monitoring systems

**Best Practices**

Prefer this over /api/device/v0/devices/{id}/ for all new integrations

Inspect the platform field to determine which V2 schema variant applies before parsing

Use the heartbeat endpoints for lightweight connectivity checks rather than polling this endpoint

## Path parameters

- `id` string, uuid, required

## Response `200`

Detailed information of the device

- object
  - `code` integer
  - `message` string
  - `content` union
    - DeviceAppleDeviceV2
      - `id` string, uuid
      - `name` string — Esper generated name for the device
      - `alias` string — Alias/alternate name for the device
      - `os` 'iOS' | 'iPadOS' | 'tvOS' — Operating system for the device
      - `state` 0 | 1 | 20 | 70 | 80 | 90 | 100 | 200 — The following are the device states and their descriptions: ``` * 0 = Device State is Unspecified * 1 = Online/Active * 20 = Disabled (device has been factory reset or removed from the Esper Dashboard) * 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 * 200 = Device is Registered ```
      - `platform` 'APPLE' — Platform for the device
      - `serial` string — Serial number the device
      - `os_version` string — OS version the device
      - `global_device_id` string — Esper generated unique id for the device
      - `tenant_id` string, uuid
      - `group_id` string, uuid
      - `tags` string[] — Array of UUIDs representing tags associated with the device
      - `hardware_info` DeviceHardwareInfo
        - `brand` string — The brand of the device
        - `model` string — The model of the device
        - `model_number` string — The model number of the device
        - `serial` string — The serial number of the device
        - `manufacturer` string — The manufacturer number of the device
        - `hardware` string — The hardware information of the device
        - `device_baseband_version` string — The device baseband version of the device
      - `software_info` DeviceSoftwareInfo
        - `os_version` string — The OS version number of the device
        - `os_build_number` string — The OS build number of the device
        - `bootloader_version` string — The bootloader version of the device
        - `security_path_level` string — The security path level of the device
        - `device_kernel_version` string — The kernel version of the device
        - `eea_version` string — EEA (Esper Enterprise Android) version
        - `esper_agent_info` object
          - `version_code` string — Esper agent version code
          - `version_name` string — Esper agent version name
        - `foundation_info` DeviceFoundationInfo
          - `major_version` string — The foundation OS build major version of the device
          - `minor_version` string — The foundation OS build minor version of the device
          - `build_number` string — The foundation OS build number of the device
          - `project_name` string — The foundation project name of the device
          - `build_flavor` string — The foundation OS build flavor of the device
          - `variant` string — The foundation variant of the device
          - `foundation_device_model_id` string — The foundation device model id of the device
        - `airwave_info` DeviceAirwaveInfo
          - `build_number` integer — The airwave OS build number of the device
          - `tenant_model_id` string — The airwave tenant model id of the device
          - `build_id` string — The airwave build id of the device
          - `esper_ota_manager_version_code` integer — The Esper OTA Manager version code
          - `esper_ota_manager_version_name` string — The Esper OTA Manager version name
      - `network_info` DeviceNetworkInfo
        - `imei1` string — The IMEI number of the device
        - `imei2` string — The IMEI number of the device
        - `wifi_mac_address` string — The wifi mac address of the device
        - `ethernet_mac_address` string — The ethernet mac address of the device
        - `iccid1` string — The ICCID number of the device
        - `iccid2` string — The ICCID number of the device
        - `phone_number_1` string — The phone number of the device
        - `phone_number_2` string — The phone number of the device
        - `network_type` 'CELLULAR' | 'ETHERNET' | 'WI-FI' | 'OTHER' — The network type of the device
      - `memory_info` DeviceMemoryInfo
        - `total_ram` string — Total ram capacity for the device
        - `total_internal_storage` string — The total internal storage capacity of the device
        - `units` string — The units used for the storage capacity
        - `internal_storage_binary_prefix` string — (Specific to Android devices)
      - `blueprint_info` DeviceBlueprintInfo
        - `assigned_blueprint_id` string — Assigned blueprint id of the device
        - `current_blueprint_id` string — Current blueprint id of the blueprint assigned to the device
        - `current_blueprint_version_id` string — Current Version id of the blueprint assigned to the device
        - `blueprint_upgrade_status` 'UPGRADABLE' | 'UPGRADE_INITIATED' | 'UPGRADE_FAILED' | 'UPGRADED' | 'NOT_UPGRADABLE' | 'NOT_APPLICABLE' — The status of the blueprint upgrade on the device
      - `udid` string — UDID as provided by apple
      - `dep_profile` string — DEP profile applied to device
      - `dep_profile_push_time` string, date-time
      - `dep_profile_assign_time` string, date-time
      - `dep_profile_status` 'empty' | 'assigned' | 'pushed' | 'removed' — DEP profile applied to device
      - `enrolment_info` object
        - `enrolment_id` string — The per-enrollment identifier for the device
        - `enrolment_user_id` string — The per-enrollment identifier for the user
      - `last_seen` string, date-time
      - `tokens` object
        - `push_magic` string
        - `push_token` string
        - `device_token` string
      - `is_supervised` boolean
      - `device_source` 'ABM' | 'NON_ABM' — Source of device onboarding
      - `managed_by` 'BLUEPRINT' — Whether the device is managed by blueprint or template
      - `provisioned_with` 'BLUEPRINT' — Whether the device was provisioned with blueprint or template
      - `provisioned_on` string, date-time
      - `is_seamless` boolean
      - `is_locked_down` boolean
      - `is_ddm_enabled` boolean — Whether Declarative Device Management is enabled for this device
      - `app_mode_meta` union
        - unknown
        - unknown
        - unknown
      - `created_by` string
      - `updated_by` string
      - `created_at` string, date-time
      - `memory_stats` object
        - `total_memory` integer — Total memory in bytes
        - `total_internal_storage` integer — Total internal storage in bytes
        - `available_ram` integer — Available RAM in bytes
        - `available_internal_storage` integer — Available internal storage in bytes
      - `battery_stats` object
        - `battery_level` number — Current battery level of the device
      - `updated_at` string, date-time
    - DeviceAndroidDeviceV2
      - `id` string, uuid
      - `name` string — Esper generated name for the device
      - `alias` string — Alias/alternate name for the device
      - `os` 'Android' — Operating system for the device
      - `state` 0 | 1 | 20 | 30 | 40 | 50 | 60 | 70 | 80 | 90 | 100 | 110 | 120 | 130 | 140 | 150 | 160 | 170 | 180 | 190 | 200 — The following are the device states and their descriptions: ``` * 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 = Device is Registered ```
      - `platform` 'ANDROID' — Platform for the device
      - `serial` string — Serial number the device
      - `os_version` string — OS version the device
      - `global_device_id` string — Esper generated unique id for the device
      - `tenant_id` string, uuid
      - `group_id` string, uuid
      - `provisioned_on` string, date-time
      - `tags` string[] — Array of UUIDs representing tags associated with the device
      - `hardware_info` DeviceHardwareInfo
        - `brand` string — The brand of the device
        - `model` string — The model of the device
        - `model_number` string — The model number of the device
        - `serial` string — The serial number of the device
        - `manufacturer` string — The manufacturer number of the device
        - `hardware` string — The hardware information of the device
        - `device_baseband_version` string — The device baseband version of the device
      - `software_info` DeviceSoftwareInfo
        - `os_version` string — The OS version number of the device
        - `os_build_number` string — The OS build number of the device
        - `bootloader_version` string — The bootloader version of the device
        - `security_path_level` string — The security path level of the device
        - `device_kernel_version` string — The kernel version of the device
        - `eea_version` string — EEA (Esper Enterprise Android) version
        - `esper_agent_info` object
          - `version_code` string — Esper agent version code
          - `version_name` string — Esper agent version name
        - `foundation_info` DeviceFoundationInfo
          - `major_version` string — The foundation OS build major version of the device
          - `minor_version` string — The foundation OS build minor version of the device
          - `build_number` string — The foundation OS build number of the device
          - `project_name` string — The foundation project name of the device
          - `build_flavor` string — The foundation OS build flavor of the device
          - `variant` string — The foundation variant of the device
          - `foundation_device_model_id` string — The foundation device model id of the device
        - `airwave_info` DeviceAirwaveInfo
          - `build_number` integer — The airwave OS build number of the device
          - `tenant_model_id` string — The airwave tenant model id of the device
          - `build_id` string — The airwave build id of the device
          - `esper_ota_manager_version_code` integer — The Esper OTA Manager version code
          - `esper_ota_manager_version_name` string — The Esper OTA Manager version name
      - `network_info` DeviceNetworkInfo
        - `imei1` string — The IMEI number of the device
        - `imei2` string — The IMEI number of the device
        - `wifi_mac_address` string — The wifi mac address of the device
        - `ethernet_mac_address` string — The ethernet mac address of the device
        - `iccid1` string — The ICCID number of the device
        - `iccid2` string — The ICCID number of the device
        - `phone_number_1` string — The phone number of the device
        - `phone_number_2` string — The phone number of the device
        - `network_type` 'CELLULAR' | 'ETHERNET' | 'WI-FI' | 'OTHER' — The network type of the device
      - `memory_info` DeviceMemoryInfo
        - `total_ram` string — Total ram capacity for the device
        - `total_internal_storage` string — The total internal storage capacity of the device
        - `units` string — The units used for the storage capacity
        - `internal_storage_binary_prefix` string — (Specific to Android devices)
      - `network_stats` DeviceNetworkStatsV2
        - `current_active_connection` string — The current active connection type
        - `wifi_network_info` object
          - `wifi_ssid` string — The SSID of the WiFi network
          - `wifi_signal_strength` integer — The signal strength of the WiFi network on a scale of 0 to 5
        - `cellular_network_info` object
          - `network_type` string — The network type of the cellular network - null, 2G, 3G, 4G LTE
        - `ip_address` string[] — The IP address of the device
      - `location_stats` DeviceLocationStats
        - `altitude` string — The altitude value
        - `latitude` string — The latitude value
        - `longitude` string — The longitude value
      - `memory_stats` DeviceMemoryStats
        - `available_ram` integer — The available memory value
        - `available_internal_storage` integer — The available internal storage value
        - `os_occupied_storage` integer — The OS occupied storage value
      - `blueprint_info` DeviceBlueprintInfo
        - `assigned_blueprint_id` string — Assigned blueprint id of the device
        - `current_blueprint_id` string — Current blueprint id of the blueprint assigned to the device
        - `current_blueprint_version_id` string — Current Version id of the blueprint assigned to the device
        - `blueprint_upgrade_status` 'UPGRADABLE' | 'UPGRADE_INITIATED' | 'UPGRADE_FAILED' | 'UPGRADED' | 'NOT_UPGRADABLE' | 'NOT_APPLICABLE' — The status of the blueprint upgrade on the device
      - `battery_stats` object
        - `battery_level` number — Current battey level of the device
      - `mqtt_topic` string — MQTT topic
      - `fcm_id` string
      - `is_gms` boolean
      - `dpc_version` string, nullable — DPC (Device Policy Controller) version / Esper agent version name
      - `eea_version` string, nullable — EEA (Esper Enterprise Android) version
      - `policy` object, nullable — Policy associated with the device
        - `policy_id` integer
        - `policy_name` string
      - `managed_by` 'BLUEPRINT' | 'TEMPLATE' — Whether the device is managed by blueprint or template
      - `provisioned_with` 'BLUEPRINT' | 'TEMPLATE' — Whether the device was provisioned with blueprint or template
      - `template_name` string, nullable — Name of the template the device is managed by
      - `is_seamless` boolean
      - `is_esper_managed` boolean, nullable — Indicates if the device is Esper managed
      - `app_mode_meta` union
        - unknown
        - unknown
        - unknown
      - `created_by` string
      - `updated_by` string
      - `created_at` string, date-time
      - `updated_at` string, date-time
    - DeviceLinuxDeviceV2
      - `id` string, uuid
      - `name` string — Esper generated name for the device
      - `alias` string — Alias/alternate name for the device
      - `os` 'ubuntu' | 'Ubuntu' | 'Linux' — Operating system for the device
      - `state` 0 | 1 | 20 | 70 | 80 | 90 | 100 | 200 — The following are the device states and their descriptions: ``` * 0 = Device State is Unspecified * 1 = Online/Active * 20 = Disabled (device has been factory reset or removed from the Esper Dashboard) * 70 = Device Wipe in Progress * 80 = Device Onboarding in Progress * 90 = Device Onboarding Failed * 100 = Device Onboarded in Esper * 200 = Device is Registered ```
      - `platform` 'LINUX' — Platform for the device
      - `serial` string — Serial number the device
      - `os_version` string — OS version the device
      - `global_device_id` string — Esper generated unique id for the device
      - `tenant_id` string, uuid
      - `group_id` string, uuid
      - `provisioned_on` string, date-time
      - `tags` string[] — Array of UUIDs representing tags associated with the device
      - `hardware_info` object
        - `brand` string — Device brand
        - `model` string — Device model
        - `serial` string — Device serial number
        - `manufacturer` string — Device manufacturer
        - `hardware` string — Hardware information
      - `software_info` object
        - `supported_abi` string — Supported ABI
        - `os_build_time` integer — OS build time timestamp
        - `os_build_number` string — OS build number
        - `os_version` string — OS version
        - `os` string — OS name
        - `os_platform` string — OS platform
        - `os_distribution` string — OS distribution
        - `bootloader_version` string — Bootloader version
        - `kernel_architecture` string — Kernel architecture
        - `device_kernel_version` string — Device kernel version
        - `last_boot_time` string — Last boot time
        - `display_resolution` string — Display resolution
        - `display_refresh_rate` string — Display refresh rate
        - `esper_agent_info` object
          - `version_code` string — Esper agent version code
          - `version_name` string — Esper agent version name
      - `network_info` object
        - `wifi_mac_address` string — Wi-Fi MAC address
        - `ethernet_mac_address` string — Ethernet MAC address
      - `memory_info` object
        - `total_ram` string — Total RAM in bytes
        - `total_internal_storage` string — Total internal storage in bytes
        - `total_swap_memory` string — Total swap memory in bytes
        - `units` string — Units used for the storage capacity
      - `network_stats` object
        - `dns_servers` string[] — DNS servers
        - `default_gateway` string — Default gateway
        - `ethernet_ip_address` string — Ethernet IP address
        - `current_active_connection` string — The current active connection type
        - `wifi_network_info` object
          - `wifi_ssid` string — The SSID of the WiFi network
          - `wifi_signal_strength` integer — The signal strength of the WiFi network
          - `wifi_ip_address` string — The IP address of the WiFi network
        - `ip_address` string[] — The IP address of the device
      - `memory_stats` object
        - `total_memory` integer — Total memory in bytes
        - `total_internal_storage` integer — Total internal storage in bytes
        - `total_swap_memory` integer — Total swap memory in bytes
        - `available_ram` integer — The available memory value
        - `available_internal_storage` integer — The available internal storage value
        - `available_swap_memory` integer — The available swap memory value
        - `units` string — The units used for the storage capacity
      - `cpu_stats` object
        - `cpu_counts` integer — Number of CPU cores
        - `cpu_cores` number[] — CPU core usage percentages
        - `cpu_temperature` number, float — CPU temperature
        - `total_percent` number, float — Total CPU usage percentage
      - `battery_stats` object
        - `battery_present` boolean — Whether battery is present
        - `battery_state` string — Battery state
        - `battery_energy` number, float — Battery energy
        - `battery_energy_full` number, float — Battery full energy
        - `battery_energy_full_design` number, float — Battery design full energy
        - `battery_level` number — Battery level
        - `battery_technology` string — Battery technology
        - `battery_voltage` number, float — Battery voltage
        - `battery_health` number, float — Battery health percentage
        - `battery_temperature` number, float — Battery temperature
      - `location_stats` object
        - `latitude` number, float — Device latitude
        - `longitude` number, float — Device longitude
        - `altitude` number, float — Device altitude
        - `accuracy` number, float — Location accuracy
      - `blueprint_info` DeviceLinuxBlueprintInfo
        - `assigned_blueprint_id` string — Assigned blueprint id of the device
        - `current_blueprint_id` string — Current blueprint id of the blueprint assigned to the device
        - `current_blueprint_version_id` string — Current Version id of the blueprint assigned to the device
        - `blueprint_upgrade_status` 'NOT_APPLICABLE' — The status of the blueprint upgrade on the device
      - `managed_by` 'BLUEPRINT' — Whether the device is managed by blueprint or template
      - `provisioned_with` 'BLUEPRINT' — Whether the device was provisioned with blueprint or template
      - `is_seamless` boolean
      - `last_seen` string, date-time
      - `created_by` string
      - `updated_by` string
      - `created_at` string, date-time
      - `updated_at` string, date-time
    - DeviceWindowsDeviceV2
      - `id` string, uuid
      - `name` string — Esper generated name for the device
      - `alias` string — Alias/alternate name for the device
      - `os` 'Windows' — Operating system for the device
      - `state` 0 | 1 | 20 | 70 | 80 | 90 | 100 | 200 — The following are the device states and their descriptions: ``` * 0 = Device State is Unspecified * 1 = Online/Active * 20 = Disabled (device has been factory reset or removed from the Esper Dashboard) * 70 = Device Wipe in Progress * 80 = Device Onboarding in Progress * 90 = Device Onboarding Failed * 100 = Device Onboarded in Esper * 200 = Device is Registered ```
      - `platform` 'WINDOWS' — Platform for the device
      - `serial` string — Serial number the device
      - `os_version` string — OS version the device
      - `global_device_id` string — Windows generated unique id for the device
      - `tenant_id` string, uuid
      - `group_id` string, uuid
      - `provisioned_on` string, date-time
      - `tags` string[] — Array of UUIDs representing tags associated with the device
      - `hardware_info` DeviceWindowsHardwareInfo
        - `brand` string — Device brand
        - `model` string — Device model
        - `serial` string — Device serial number
        - `manufacturer` string — Device manufacturer
        - `hardware` string — Hardware information
      - `software_info` DeviceWindowsSoftwareInfo
        - `supported_abi` string — Supported ABI
        - `os_build_time` string — OS build time
        - `os_build_number` string — OS build number
        - `os_version` string — OS version
        - `os` string — OS name
        - `os_platform` string — OS platform
        - `os_distribution` string — OS distribution
        - `bootloader_version` string — Bootloader version
        - `kernel_architecture` string — Kernel architecture
        - `device_kernel_version` string — Device kernel version
        - `last_boot_time` string — Last boot time
        - `display_resolution` string — Display resolution
        - `display_refresh_rate` string — Display refresh rate
        - `host_name` string — Device host name
        - `esper_agent_info` object
          - `version_code` string — Esper agent version code
          - `version_name` string — Esper agent version name
      - `network_info` DeviceWindowsNetworkInfo
        - `wifi_mac_address` string — Wi-Fi MAC address
        - `ethernet_mac_address` string — Ethernet MAC address
      - `memory_info` DeviceWindowsMemoryInfo
        - `total_ram` string — Total RAM in bytes
        - `total_internal_storage` string — Total internal storage in bytes
        - `total_swap_memory` string — Total swap memory in bytes
        - `units` string — Units used for the storage capacity
      - `network_stats` object
        - `dns_servers` string[] — DNS servers
        - `default_gateway` string — Default gateway
        - `ethernet_ip_address` string — Ethernet IP address
        - `current_active_connection` string — The current active connection type
        - `wifi_network_info` object
          - `wifi_ssid` string — The SSID of the WiFi network
          - `wifi_signal_strength` integer — The signal strength of the WiFi network
          - `wifi_ip_address` string — The IP address of the WiFi network
        - `ip_address` string[] — The IP address of the device
      - `memory_stats` object
        - `total_memory` integer — Total memory in bytes
        - `total_internal_storage` integer — Total internal storage in bytes
        - `available_ram` integer — The available memory value
        - `available_internal_storage` integer — The available internal storage value
        - `units` string — The units used for the storage capacity
      - `cpu_stats` object
        - `cpu_counts` integer — Number of CPU cores
        - `cpu_cores` number[] — CPU core usage percentages
        - `cpu_temperature` number, float — CPU temperature
      - `last_seen` string, date-time — Last time the device was seen
      - `blueprint_info` DeviceWindowsBlueprintInfo
        - `assigned_blueprint_id` string — Assigned blueprint id of the device
        - `current_blueprint_id` string — Current blueprint id of the blueprint assigned to the device
        - `current_blueprint_version_id` string — Current Version id of the blueprint assigned to the device
        - `blueprint_upgrade_status` 'NOT_APPLICABLE' — The status of the blueprint upgrade on the device
      - `battery_stats` object
        - `battery_level` number — Current battery level of the device
      - `background_scripts_stats` object — Telemetry for Windows background scripts; object keys are background script UUIDs
      - `provisioned_with` 'BLUEPRINT' — Whether the device was provisioned with blueprint or template
      - `is_seamless` boolean
      - `windows_config` object
        - `channel_uri` string — Channel URI for the device
        - `channel_updated_at` string, date-time — Last updated time of the channel URI
      - `app_mode_meta` union
        - unknown
        - unknown
        - unknown
      - `created_by` string
      - `updated_by` string
      - `created_at` string, date-time
      - `updated_at` string, date-time

## Other responses

- `400` — Bad Request.
- `401` — Authorization information is missing or invalid.
- `404` — Device not found
- `500` — Internal Server Error

---

[API](https://skmtc.net/esper/apis/esper-api-reference.md) · [All operations](https://skmtc.net/esper/apis/esper-api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/esper/esper-api-reference/revisions/e1f64cbb488e/schema)
