# Update an app's details or version in a specific release label Update specific app version of the app ## Endpoint **PUT** `/api/v1/mdm/apps/{app_id}/labels/{release_label_id}` ## Request ### Request URL ```text https://{server-hostname}:8383/api/v1/mdm/apps/{app_id}/labels/{release_label_id} ``` ### Scope ```text MDMDeviceMgmt.UPDATE ``` ### Header ```text Authorization: d92d4xxxxxxxxxxxxx15f52 ``` ### Request Parameters #### Request Headers - **Content-Type** `string` — **Mandatory** — `application/json` - **Accept** `string` — **Mandatory** — `application/json` #### Path Parameters - **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. - **release_label_id** `string` — **Mandatory** Unique identifier of the release label. Obtain from the [Get App Details](https://www.manageengine.com/products/desktop-central/help/api/onpremise/app-management-get-app-details.html) response. #### Request Body `application/json` JSON Object: - **platform_type** `integer` — Optional Platform: 1 = iOS, 2 = Android, 3 = Windows - **app_type** `integer` — **Mandatory** App type: 0 = Free Store App, 1 = Paid Store App, 2 = Enterprise App - **app_category_id** `integer` — Optional Identifier for the app category - **app_name** `string` — **Mandatory** Name of the app - **bundle_identifier** `string` — Optional App bundle identifier - **app_version** `string` — Optional New version string of the app - **supported_devices** `integer` — Optional Supported devices: 1 = Smartphone, 2 = Tablet, 3 = Both - **description** `string` — Optional Custom description of the app - **remove_app_with_profile** `boolean` — Optional Remove app when profile is removed (iOS Store apps only) - **prevent_backup** `boolean` — Optional Prevent app data backup during device backup - **app_file** `long` — Optional File ID of the updated app package. Upload using [Upload File](https://www.manageengine.com/products/desktop-central/help/api/onpremise/files-upload-file-ems.html) - **display_image** `long` — Optional File ID of the app display image. Upload using [Upload File](https://www.manageengine.com/products/desktop-central/help/api/onpremise/files-upload-file-ems.html) - **full_image** `long` — Optional File ID of the app full-size image. Upload using [Upload File](https://www.manageengine.com/products/desktop-central/help/api/onpremise/files-upload-file-ems.html) - **config_file** `long` — Optional File ID of the app configuration file. Upload using [Upload File](https://www.manageengine.com/products/desktop-central/help/api/onpremise/files-upload-file-ems.html) - **vpp_file_source** `long` — Optional File ID of the VPP file source. Upload using [Upload File](https://www.manageengine.com/products/desktop-central/help/api/onpremise/files-upload-file-ems.html) - **force_update_in_label** `boolean` — Optional true = update within label, false = add in different label ### Sample Request ```curl curl --request PUT \ --url https://appdomain/api/v1/mdm/apps/{app_id}/labels/{release_label_id} \ --header 'Accept: application/json' \ --header 'Authorization: d92d4xxxxxxxxxxxxx15f52' \ --header 'Content-Type: application/json' \ --data '{"app_name":"Zylker MDM","prevent_backup":false,"app_type":2,"platform_type":2,"app_version":"12.3.45","supported_devices":3,"bundle_identifier":"com.manageengine.mdm.iosagent","description":"Updated enterprise app","force_update_in_label":true,"app_category_id":2,"remove_app_with_profile":false,"app_file":9007199254741080}' ``` ### Sample Request Body Update app version within a specific release label ```json { "app_name": "Zylker MDM", "prevent_backup": false, "app_type": 2, "platform_type": 2, "app_version": "12.3.45", "supported_devices": 3, "bundle_identifier": "com.manageengine.mdm.iosagent", "description": "Updated enterprise app", "force_update_in_label": true, "app_category_id": 2, "remove_app_with_profile": false, "app_file": 9007199254741080 } ``` ## Response ### Response Parameters #### HTTP Code 200 Response Body — `application/json` JSON Object: - **app_distributed_devices_count** `integer` Count of devices the app has been distributed to - **app_type** `integer` App type: 0 = Free Store App, 1 = Paid Store App, 2 = Enterprise App - **is_multiple_app_version_available** `boolean` Whether the app has multiple versions available - **supported_devices** `integer` Supported devices: 1 = Smartphone, 2 = Tablet, 3 = Both - **is_downgrade_available** `boolean` Whether a version downgrade is available - **is_for_all_customers** `boolean` Whether the app is uploaded for all customers - **profile_name** `string` Name of the app profile - **platform_type** `integer` Platform: 1 = iOS, 2 = Android, 3 = Windows - **app_version_code** `string` Latest version code of the app on MDM server - **release_label_id** `long` ID of the release label - **app_distributed_group_count** `integer` Count of groups the app has been distributed to - **app_id** `long` Unique identifier for the app - **app_category_name** `string` Category name of the app - **app_group_id** `long` App group ID - **version** `string` Version of the app - **remove_app_with_profile** `boolean` Whether the app is removed when the profile is removed (iOS only) - **country_code** `string` Country code for App Store (iOS only). May be null - **release_label_display_name** `string` Display name for the release label (e.g., Stable, Beta) - **added_time** `long` Epoch timestamp (milliseconds) when the app was added - **icon** `string` URL link for the app icon image - **description** `string` Description of the app - **app_category_id** `integer` Identifier for the app category - **is_delete_applicable** `boolean` Whether the app can be deleted. false for approved versions - **store_url** `string` Store URL for the app (iOS only). May be null - **app_file** `long` File ID of the app package - **modified_time** `long` Epoch timestamp (milliseconds) when the app was last modified - **bundle_identifier** `string` App bundle identifier - **store_id** `string` Identifier for the App Store (iOS only). May be null - **app_title** `string` Title of the app - **is_paid_app** `boolean` Whether the app is a paid app - **private_app** `integer` 0 = Public App, 1 = Private App - **app_name** `string` Name of the app - **prevent_backup** `boolean` Whether app data backup is prevented - **is_distributable** `boolean` Whether the app can be distributed to devices/groups - **is_purchased_from_portal** `boolean` Whether the app was purchased from a portal (VPP/PfW/Bstore) - **release_labels** `JSON Array` Array of release label objects with version details ### Possible Response Codes - **200** `HTTP code` ### Sample Response: HTTP 200 App updated with full details including distribution and version information ```json { "release_label_display_name": "Beta", "app_distributed_devices_count": 100, "app_type": 2, "is_multiple_app_version_available": true, "added_time": 1714630800000, "supported_devices": 3, "icon": "https://appDomain/mdm-logo.png", "is_downgrade_available": true, "description": "The is an enterprise app", "is_for_all_customers": true, "app_category_id": 2, "is_delete_applicable": false, "store_url": "https://www.zylker.com/app/zylker-mdm/id720111835?mt=8", "app_file": 9007199254741080, "profile_name": "Zylker MDM", "modified_time": 1714717200000, "platform_type": 2, "app_version_code": "10822", "release_label_id": 9007199254741076, "app_distributed_group_count": 10, "bundle_identifier": "com.manageengine.mdm.iosagent", "app_id": 9007199254741080, "store_id": "9007199254741069", "app_category_name": "Productivity", "app_title": "Zylker MDM", "is_paid_app": false, "app_group_id": 9007199254741082, "private_app": 0, "version": "1.1.1", "remove_app_with_profile": true, "country_code": "US", "app_name": "Zylker MDM", "prevent_backup": false, "is_distributable": true, "is_purchased_from_portal": false, "release_labels": [ { "release_label_type": 1, "app_version": "12.3.45", "release_label_name": "Stable", "release_label_id": 9007199254741076 } ] } ``` ## Rate Limit ![](https://www.zohowebstatic.com/sites/zweb/images/people/ico-help.png) **Duration:** 1 minute | **Threshold:** 60 | **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.