---
title: "Get all apps for a device in the tenant"
method: GET
path: "/v2/devices/{deviceId}/device-apps/"
tags: ["device_Device Apps"]
---

# Get all apps for a device in the tenant

`GET /v2/devices/{deviceId}/device-apps/`

Retrieves a paginated list of every app installed on a specific device.

Returns each app's DeviceAppsResponse record, filterable by app type such as VPP, tenant-uploaded iOS or Windows apps, Esper iOS apps, or webclips.

**About Get Device Apps**

This is the v2 device-scoped app inventory, showing exactly what's installed on one device across its supported app types. It complements the tenant-wide app catalogs (Tenant Apps, Tenant Esper Apps, VPP) by showing installation state on a specific device rather than what's available to install.

**Key Fields / Query Parameters**

app type — filters by one or more app types, comma-separated, for example VPP, TENANT_IOS, or WEBCLIP

**Common Use Cases**

Auditing exactly which apps are installed on a specific device

Confirming an app installed through a command or Converge action actually landed on the target device

Filtering by app type to check only VPP-licensed apps or only webclips on a device

**Best Practices**

Filter by app type when you only care about one category, rather than paging through every installed app

Cross-reference results against the Tenant Apps or Tenant Esper Apps catalog to confirm a device has the expected version installed

**Workflow**

Obtain the deviceId

Call this endpoint, optionally filtering by app type

Compare the results against the expected app list from a blueprint or command

## Path parameters

- `deviceId` string, required

## Query parameters

- `app type` 'VPP' | 'TENANT_IOS' | 'ESPER_IOS' | 'WEBCLIP' | 'ESPER_WINDOWS' | 'TENANT_WINDOWS' | 'TENANT_WINDOWS_EXE' | 'TENANT_WINDOWS_UWP'
- `limit` integer
- `offset` integer

## Response `200`

Success

- object
  - `results` DeviceDeviceAppsResponse[]
    - `id` string, uuid
    - `device_id` string, uuid
    - `app_id` string, uuid
    - `app_type` 'TENANT_IOS' | 'ESPER_IOS' | 'ESPER_WINDOWS' | 'TENANT_WINDOWS' | 'TENANT_WINDOWS_EXE' | 'TENANT_WINDOWS_UWP'
    - `app_version_id` string, uuid
    - `base64_app_config` string
    - `auto_update` boolean
    - `created_at` string, date-time
    - `updated_at` string, date-time
    - `tenant_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)
