iOS/iPadOS/tvOS/Windows only
Retrieves a list of device IDs that have a specific app or app version associated, identified by app_id or app_version_id.
Both app_id and app_version_id are required query parameters; the endpoint returns a paginated list of device UUIDs matching the association.
About List Devices by App
This endpoint inverts the typical device→apps query: given an app (or specific version), it returns the set of devices associated with it. This is useful for determining deployment coverage of a specific app version across a fleet. The response contains device UUIDs only — full device details require a subsequent call to GET /api/v2/devices/{id}. This endpoint is associated with the iOS and Windows Device Apps tag context; Android app associations are not covered.
Key Query Parameters
app_id (required) — Esper UUID of the application
app_version_id (required) — Esper UUID of the specific app version
Common Use Cases
Determining which devices have a specific app version deployed for targeted update campaigns
Auditing app version coverage across iOS or Windows device fleets
Building a list of affected devices before pushing an app update or removal
Best Practices
Both app_id and app_version_id are required — the endpoint will return a 400 if either is omitted
Use the returned device_id values to query GET /api/v2/devices/{id} for full device context
Paginate using prev/next for large result sets
Workflow
Obtain the app_id and app_version_id from the application management endpoints
Call with both required parameters
Use the returned device_id list to drive subsequent operations or lookups
- Mock serverhttps://api.esper.io/_mock/openapi/v2/device-apps
- https://develop-api.esper.cloud/apihttps://develop-api.esper.cloud/api/v2/device-apps
curl -i -X GET \
'https://api.esper.io/_mock/openapi/v2/device-apps?app_id=497f6eca-6276-4993-bfeb-53cbbbba6f08&app_version_id=497f6eca-6276-4993-bfeb-53cbbbba6f08&app_version_id_not=497f6eca-6276-4993-bfeb-53cbbbba6f08' \
-H 'Authorization: Bearer <YOUR_TOKEN_HERE>'{ "count": 0, "prev": "string", "next": "string", "results": [ { … } ] }