Retrieves a paginated list of all devices enrolled in the tenant, across all platforms, using the V2 device schema.
Returns richer device records than the v0 equivalent, with expanded filter support including managed_by, policy_multi, template_multi, is_locked_down, extended search coverage, and esper_agent_version_name for Esper agent version filtering.
About List All Devices (V2)
This is the current recommended device list endpoint. Compared to /api/device/v0/devices/, V2 adds several filters valuable for fleet management at scale: managed_by distinguishes blueprint-managed from template-managed devices; policy_multi and template_multi allow multi-value policy/template filtering; is_locked_down targets locked-down devices; and the search field covers more Android-specific identifiers including WiFi MAC address, SIM operator, network operator, and IP address. Results are returned as device objects.
Key Query Parameters
managed_by — Filter by management mode: BLUEPRINT or TEMPLATE
policy_multi — CSV list of policy names to filter by
template_multi — CSV list of template names to filter by
is_locked_down — Filter to locked-down devices only
esper_agent_version_name — Filter by Esper agent (DPC) version name
foundation_version — Full Foundry OS version string (e.g., os_version.major.minor.build or eea_version)
search — Extended Android search: name, serial, IMEI, model, ICCID, phone, brand, WiFi, manufacturer, WiFi MAC, SIM operator, network operator, IP address
All v0 filters are also available: platform, os, group_multi, group_multi_immediate, assigned_blueprint_id, current_blueprint_id, current_blueprint_version_id_net, state, battery_level_gte/lte, tags, device_source, udid, serial
Common Use Cases
Identifying all devices not yet on the latest blueprint version for targeted update campaigns
Filtering by managed_by=TEMPLATE to locate devices still on legacy template management
Querying all locked-down devices by group for compliance auditing
Best Practices
Prefer this endpoint over /api/device/v0/devices/ for all new integrations
Use platform as a CSV list (e.g., ANDROID,APPLE) to query multiple platforms in one call
For Foundry OS fleet management, use foundation_version or the granular foundation_major_version, foundation_minor_version, foundation_build_number filters
Workflow
Choose filters appropriate to the use case (group, platform, blueprint version, policy, etc.)
Call with limit and offset for pagination
Iterate results, using next for subsequent pages; branch on the platform field to handle per-platform schema differences
Filter by one or more full foundation version strings (os_version.major.minor.build or eea_version). Multiple values can be passed as a comma-separated list (e.g. ?foundation_version=1.0-arm64-20210617-RELEASE,1.0-sb30-20210302-DEBUG), consistent with other multi-value filters.
Sparse fieldset: comma-separated list of top-level response field names to return (e.g. fields=id,name,created_at).
idis always included in the response regardless of whether it is requested.- Only top-level fields are supported; nested sub-fields (e.g. within
hardware_info) cannot be selected individually. - Requesting an unknown field name returns a 400 error.
- Omit this parameter to receive the full device object.
- Mock serverhttps://api.esper.io/_mock/openapi/v2/devices/
- https://develop-api.esper.cloud/apihttps://develop-api.esper.cloud/api/v2/devices/
curl -i -X GET \
'https://api.esper.io/_mock/openapi/v2/devices/?limit=10&offset=0&cursor=start&ordering=alias&serial=string&udid=string&android_version=string&ios_version=string&ipados_version=string&tvos_version=string&windows_version=string&state=string&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¤t_blueprint_id=497f6eca-6276-4993-bfeb-53cbbbba6f08¤t_blueprint_version_id=497f6eca-6276-4993-bfeb-53cbbbba6f08¤t_blueprint_version_id_net=497f6eca-6276-4993-bfeb-53cbbbba6f08&platform=string&os=iOS&device_source=string&managed_by=BLUEPRINT&template_multi=string&policy_multi=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&foundation_version=string&esper_agent_version_name=string&tags=string&is_locked_down=true&global_device_id=string&ungrouped_only=true&fields=id%2Cname%2Ccreated_at' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'Device information for the Tenant. Response format depends on pagination type used:
- Offset-based: Returns
count,prev,next(URLs),results - Cursor-based: Returns
results,next_cursor,prev_cursor
{ "content": { "count": 0, "previous": "string", "next": "string", "results": [ … ] } }