# Retrieve details of a specific app on a device Get a single app details installed with the device ## Endpoint `GET /api/v1/mdm/devices/{device_id}/apps/{app_id}` ## Request URL `https://{server-hostname}:8383/api/v1/mdm/devices/{device_id}/apps/{app_id}` ## Scope `MDMInventory.READ` ## Header `Authorization: d92d4xxxxxxxxxxxxx15f52` ## Request Parameters ### Request Headers - **Accept** (`string`, Mandatory): `application/json` ### Path Parameters - **device_id** (`string`, Mandatory): Unique identifier of the device. Obtain from the [Get Device List](https://www.manageengine.com/products/desktop-central/help/api/onpremise/devices-get-device-list.html) response. - **app_id** (`string`, Mandatory): Unique identifier of the application. Obtain from the [Get App List](https://www.manageengine.com/products/desktop-central/help/api/onpremise/app-management-get-an-app.html) response. ### Query Parameters - **limit** (`integer`, Optional): Maximum number of records to return in a single response. Used together with offset for pagination. - **skip-token** (`string`, Optional): Pagination continuation token returned by a previous response. Pass it to fetch the next page of results. - **offset** (`integer`, Optional): Zero-based index of the first record to return. Used together with limit for pagination. - **delta-token** (`string`, Optional): Token used for delta/incremental fetches. Pass the token returned from a previous response to retrieve only items modified since that point. - **searchkey** (`string`, Optional): Value to search for. Must be used in combination with searchfield to specify which field is searched. - **searchfield** (`string`, Optional): Name of the field to search against. Used together with searchkey (e.g., name, email, udid). - **is_allowed_apps** (`boolean`, Optional): Set to true to return apps from the allow list, false to return apps from the block list. - **is_app_purchased_from_portal** (`boolean`, Optional): Set to true to restrict results to apps purchased through the enterprise app portal (VPP/managed Google Play). Default: false. - **search** (`string`, Optional): Free-text search string applied to the default searchable fields of the resource. - **app_scope** (`string`, Optional): Filter applications by their assignment scope. Allowed values: 1=All, 2=Assigned to groups, 3=Assigned to devices. - **platform** (`string`, Optional): Filter results by device platform. Allowed values: 1=iOS, 2=Android, 3=Windows, 4=macOS, 6=tvOS. ## Sample Request ```curl curl --request GET \ --url 'https://appdomain/api/v1/mdm/devices/{device_id}/apps/{app_id}?limit=SOME_INTEGER_VALUE&skip-token=SOME_STRING_VALUE&offset=SOME_INTEGER_VALUE&delta-token=SOME_STRING_VALUE&searchkey=SOME_STRING_VALUE&searchfield=SOME_STRING_VALUE&is_allowed_apps=SOME_BOOLEAN_VALUE&is_app_purchased_from_portal=SOME_BOOLEAN_VALUE&search=SOME_STRING_VALUE&app_scope=SOME_STRING_VALUE&platform=SOME_STRING_VALUE' \ --header 'Accept: application/json' \ --header 'Authorization: d92d4xxxxxxxxxxxxx15f52' ``` ## Response Parameters ### HTTP Code 200 Response Body — `application/json` - **JSON Object** - **islatestver** (`boolean`): Whether the app is at its latest available version. - **localized_remark** (`string`): Localized remarks for the app status. - **app_type** (`integer`): App type: 1 - Store app, 2 - Enterprise app. - **app_category_name** (`string`): App category name (e.g., Games, Productivity). - **is_paid_app** (`string`): Whether the app is a paid app: true or false. - **app_name** (`string`): Display name of the app. - **release_label_details** (`JSON Object`): Release label details for the app version. - **platform_type** (`string`): Platform type (e.g., android, ios, windows). - **latest_version** (`string`): Latest available version of the app. - **executed_version** (`string`): Version currently executed on the device. - **associated_by** (`string`): Username who associated the app to the device. - **app_id** (`string`): Unique app identifier. - **associated_on** (`string`): Timestamp when the app was associated. - **remarks** (`string`): Remarks about the app distribution status. - **status** (`string`): Distribution status (e.g., SCHEDULED, INSTALLED, FAILED). ## Possible Response Codes - **200**: HTTP code ## Sample Response: HTTP 200 Detailed app info with version, category, and association details ```json { "islatestver": true, "localized_remark": "--", "app_type": 1, "app_category_name": "Games", "is_paid_app": "false", "app_name": "Red Ball 4 (Ad Supported)", "release_label_details": { "release_label_name": "Production", "release_label_id": "90086789628394940" }, "platform_type": "android", "latest_version": "5", "executed_version": "1", "associated_by": "admin", "app_id": "9007199254740995", "associated_on": "1522066653883", "remarks": "--", "status": "SCHEDULED" } ``` ![](https://www.zohowebstatic.com/sites/zweb/images/people/ico-help.png) **Duration:** 1 minute | **Threshold:** 250 | **Lock period:** 5 minutes Duration - Time window for the threshold. Threshold - Number of API calls allowed within the specified duration. Lock Period - Wait time before consecutive API requests.