---
title: "Get list of devices with an app by app_id or app_version_id."
method: GET
path: "/v2/device-apps"
tags: ["device_Device Apps"]
---

# Get list of devices with an app by app_id or app_version_id.

`GET /v2/device-apps`

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

## Query parameters

- `app_id` string, uuid
- `app_version_id` string, uuid
- `app_version_id_not` string, uuid

## Response `200`

Success

- object
  - `count` integer
  - `prev` string
  - `next` string
  - `results` object[]
    - `device_id` string, uuid

## Other responses

- `400` — Bad Request
- `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)
