---
title: "Get all devices in the tenant"
method: GET
path: "/device/v0/devices/"
tags: ["device_Device"]
---

# Get all devices in the tenant

`GET /device/v0/devices/`

Retrieves a paginated list of all devices enrolled in the tenant across every supported platform.

Returns Android, Apple, Linux, and Windows devices in a single unified list, with extensive filtering by platform, OS version, group, blueprint assignment, connectivity, and more.

**About Get All Devices**

This is the multi-platform device list, returning an AndroidDevice, AppleDevice, LinuxDevice, or WindowsDevice object depending on each device's platform. It's the standard starting point for fleet-wide device inventory, auditing, and for finding device IDs to use in commands, operations, and Converge actions.

**Key Fields / Query Parameters**

platform — filters by ANDROID, APPLE, LINUX, or WINDOWS

group_multi — filters by one or more group IDs, including their subgroups

assigned_blueprint_id / current_blueprint_id — filters by the blueprint a device is assigned to versus the one it's currently converged to, useful for finding devices that haven't yet converged to a newly assigned blueprint

search — free-text search that covers name, serial, IMEI, and model across platforms, plus platform-specific fields such as udid for Apple devices

state — filters by device enrollment state

**Common Use Cases**

Building a fleet inventory view across all platforms

Finding every device that hasn't yet converged to a newly assigned blueprint by comparing assigned_blueprint_id and current_blueprint_id

Scoping a bulk operation to a specific group before issuing a Converge or command request

**Best Practices**

Use group_multi or platform filters to scope results before paging through very large fleets

Compare assigned_blueprint_id against current_blueprint_version_id_net to catch devices that are out of sync with their intended configuration

Paginate with limit and offset rather than fetching the full fleet in one call for enterprises with large device counts

**Workflow**

Call this endpoint with the filters that scope the device set you need

Page through results using limit and offset

Use the returned device id values as targets for commands, operations, or Converge actions

## Query parameters

- `limit` integer
- `offset` integer
- `ordering` 'alias' | 'created_at' | 'last_seen' | 'model' | 'os_version' | 'name' | 'onboarded_on' | 'serial' | 'provisioned_on' | 'battery_level' | 'dpc_version' | 'eea_version' | 'is_gms' | 'security_state' | 'wifi_ssid' | 'platform' | 'template_name'
- `serial` string
- `udid` string
- `android_version` string
- `ios_version` string
- `ipados_version` string
- `tvos_version` string
- `windows_version` string
- `state` integer
- `battery_level_gte` string
- `battery_level_lte` string
- `is_gms` boolean
- `active_connection` string
- `group_multi` string, uuid
- `group_multi_immediate` string, uuid
- `assigned_blueprint_id` string, uuid
- `current_blueprint_id` string, uuid
- `current_blueprint_version_id` string, uuid
- `current_blueprint_version_id_net` string, uuid
- `platform` 'ANDROID' | 'APPLE' | 'LINUX' | 'WINDOWS'
- `os` 'iOS' | 'iPadOS' | 'tvOS' | 'Android' | 'Linux' | 'Windows'
- `device_source` string
- `tags` string
- `search` string
- `foundation_device_model_id` string, uuid
- `android_version_exact` string
- `foundation_major_version` integer
- `foundation_minor_version` integer
- `foundation_build_number` integer
- `airwave_tenant_model_id` string
- `airwave_build_id` string
- `airwave_build_number` integer
- `is_seamless` boolean
- `global_device_id` string

## Response `200`

Device information for the Tenant

- object
  - `code` integer
  - `message` string
  - `content` object
    - `count` integer
    - `previous` string
    - `next` string
    - `results` union[]
      - union
        - DeviceAndroidDevice
          - `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
          - `onboarded_on` string, date-time
          - `provisioned_on` string, date-time
          - `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
              - …
            - `foundation_info` DeviceFoundationInfo
              - …
            - `airwave_info` DeviceAirwaveInfo
              - …
          - `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` DeviceNetworkStats
            - `current_active_connection` string — The current active connection type
            - `wifi_network_info` object
              - …
            - `cellular_network_info` object
              - …
          - `location_stats:` DeviceLocationStats
            - `altitude` string — The altitude value
            - `latitude` string — The latitude value
            - `longitude` string — The longitude 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
          - `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
          - `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
          - `created_by` string
          - `updated_by` string
          - `created_at` string, date-time
          - `updated_at` string, date-time
        - DeviceAppleDevice
          - `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
          - `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
              - …
            - `foundation_info` DeviceFoundationInfo
              - …
            - `airwave_info` DeviceAirwaveInfo
              - …
          - `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
          - `device_source` 'ABM' | 'NON_ABM' — Source of device onboarding
          - `is_supervised` boolean
          - `is_ddm_enabled` boolean — Whether Declarative Device Management is enabled for this device
          - `managed_by` 'BLUEPRINT' — Whether the device is managed by blueprint or template
          - `onboarded_on` string, date-time
          - `provisioned_on` string, date-time
          - `is_seamless` boolean
          - `app_mode_meta` union
            - unknown
            - unknown
            - unknown
          - `created_by` string
          - `updated_by` string
          - `created_at` string, date-time
          - `updated_at` string, date-time
        - DeviceLinuxDevice
          - `id` string, uuid
          - `name` string — Esper generated name for the device
          - `os` 'Ubuntu' — 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' — Operating system 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
          - `onboarded_on` string, date-time
          - `provisioned_on` string, date-time
          - `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
          - `is_seamless` boolean
          - `created_by` string
          - `updated_by` string
          - `created_at` string, date-time
          - `updated_at` string, date-time
        - DeviceWindowsDevice
          - `id` string, uuid
          - `name` string — Esper generated name for the device
          - `os` 'Windows' — Operating system of 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' — Operating system of the device
          - `serial` string — Serial number of the device
          - `os_version` string — OS version of the device
          - `global_device_id` string — Windows generated unique id for the device
          - `tenant_id` string, uuid
          - `group_id` string, uuid
          - `onboarded_on` string, date-time
          - `provisioned_on` string, date-time
          - `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
          - `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
              - …
          - `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
          - `managed_by` 'BLUEPRINT' — Whether the device is managed by 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

- `401` — Authorization information is missing or invalid.
- `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)
