Skip to content

Get all devices in the tenant
Deprecated

Request

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

Security
device_apiKey
Query
limitinteger
offsetinteger
orderingstring

Field to order the results by. Prefix with '-' to reverse the order.

Enum:"alias""created_at""last_seen""model""os_version""name""onboarded_on""serial""provisioned_on""battery_level"
serialstring
udidstring
android_versionstring
ios_versionstring
ipados_versionstring
tvos_versionstring
windows_versionstring
stateinteger
battery_level_gtestring
battery_level_ltestring
is_gmsboolean
active_connectionstring
group_multistring, (uuid)

Filter by multiple group ID. Fetch the devices from groups matching with the IDs and its subgroup.

group_multi_immediatestring, (uuid)

Filter by multiple group IDs. Fetch the devices from groups matching with the IDs. Excludes devices in any subgroups.

assigned_blueprint_idstring, (uuid)
current_blueprint_idstring, (uuid)
current_blueprint_version_idstring, (uuid)
current_blueprint_version_id_netstring, (uuid)
platformstring
Enum:"ANDROID""APPLE""LINUX""WINDOWS"
osstring
Enum:"iOS""iPadOS""tvOS""Android""Linux""Windows"
device_sourcestring

a csv list of device sources [ABM, NON_ABM]

tagsstring

a csv list of tag UUID's

searchstring

Search devices by multiOS -> name, serial, imei, model. Apple -> udid. Android -> iccid, phone number, brand, wifi, manufacturer, hardware

foundation_device_model_idstring, (uuid)
android_version_exactstring
foundation_major_versioninteger
foundation_minor_versioninteger
foundation_build_numberinteger
airwave_tenant_model_idstring
airwave_build_idstring
airwave_build_numberinteger
is_seamlessboolean
global_device_idstring
cURL
curl -i -X GET \
  'https://api.esper.io/_mock/openapi/device/v0/devices/?limit=0&offset=0&ordering=alias&serial=string&udid=string&android_version=string&ios_version=string&ipados_version=string&tvos_version=string&windows_version=string&state=0&battery_level_gte=string&battery_level_lte=string&is_gms=true&active_connection=string&group_multi=497f6eca-6276-4993-bfeb-53cbbbba6f08&group_multi_immediate=497f6eca-6276-4993-bfeb-53cbbbba6f08&assigned_blueprint_id=497f6eca-6276-4993-bfeb-53cbbbba6f08&current_blueprint_id=497f6eca-6276-4993-bfeb-53cbbbba6f08&current_blueprint_version_id=497f6eca-6276-4993-bfeb-53cbbbba6f08&current_blueprint_version_id_net=497f6eca-6276-4993-bfeb-53cbbbba6f08&platform=ANDROID&os=iOS&device_source=string&tags=string&search=string&foundation_device_model_id=497f6eca-6276-4993-bfeb-53cbbbba6f08&android_version_exact=string&foundation_major_version=0&foundation_minor_version=0&foundation_build_number=0&airwave_tenant_model_id=string&airwave_build_id=string&airwave_build_number=0&is_seamless=true&global_device_id=string' \
  -H 'Authorization: Bearer <YOUR_TOKEN_HERE>'

Responses

Device information for the Tenant

Bodyapplication/json
codeinteger
messagestring
contentobject
Response
{ "code": 0, "message": "string", "content": { "count": 0, "previous": "string", "next": "string", "results": [] } }