Associate one or more apps to a group Associating the list of apps to the group
Request URL https://{serverurl} /api/v1/mdm/groups/{group_id}/apps
Scope
Header Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52
Request Parameters - Request Headers Content-Type string Mandatory
- Path Parameters group_id string Mandatory
Unique identifier of the group. Obtain from the Get Group List response
- Request Body application/json JSON object
Hide Sub-Attributes app_details JSON array Mandatory
Array of app objects with version details to associate with the group
Show Sub-Attributes JSON object
Show Sub-Attributes app_id long Optional
Unique identifier of the app to distribute. Obtain from the Get App List response
release_label_id long Optional
Release label ID denoting whether the app version is Stable or Beta. Obtain from the Get App Details response
silent_install boolean Optional
Whether the app should be installed silently on devices without user interaction
notify_user_via_email boolean Optional
Whether to notify the user via email about the distributed app
Curl
Java
Python
Deluge
PowerShell
Copied!
curl --request POST \
--url https://appdomain/api/v1/mdm/groups/{group_id}/apps \
--header 'Accept: application/json' \
--header 'Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52' \
--header 'Content-Type: application/json' \
--data '{"app_details":[{},{}]}'import java.net.URI;
import java.net.http.HttpClient;
import java.net.http.HttpRequest;
import java.net.http.HttpResponse;
import java.io.IOException;
import java.net.http.HttpTimeoutException;
public class Main {
public static void main(String[] args) {
HttpRequest request = HttpRequest.newBuilder()
.uri(URI.create("https://appdomain/api/v1/mdm/groups/{group_id}/apps"))
.header("Content-Type", "application/json")
.header("Accept", "application/json")
.header("Authorization", "Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52")
.method("POST", HttpRequest.BodyPublishers.ofString("{\"app_details\":[{},{}]}"))
.build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
import http.client
conn = http.client.HTTPSConnection("appdomain")
payload = "{\"app_details\":[{},{}]}"
headers = {
'Content-Type': "application/json",
'Accept': "application/json",
'Authorization': "Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52"
}
conn.request("POST", "/api/v1/mdm/groups/{group_id}/apps", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))
headersMap = Map();
headersMap.put("Content-Type", "application/json");
headersMap.put("Accept", "application/json");
data=Map();
data_app_details=List();
data_app_details_item1=Map();
data_app_details.add(data_app_details_item1);
data.put("app_details",data_app_details);
response = invokeUrl
[
url: "https://appDomain/api/v1/mdm/groups/{group_id}/apps"
type: POST
headers: headersMap
body: data
connection: connection_name
]
info response;
$headers=@{}
$headers.Add("Content-Type", "application/json")
$headers.Add("Accept", "application/json")
$headers.Add("Authorization", "Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52")
$response = Invoke-WebRequest -Uri 'https://appdomain/api/v1/mdm/groups/{group_id}/apps' -Method POST -Headers $headers -ContentType 'application/json' -Body '{"app_details":[{},{}]}'Sample Request Body Associate apps with silent install and email notification
Copied!
{
"app_details": [
{
"release_label_id": 9007199254741044,
"app_id": 9007199254741044
},
{
"release_label_id": 9007199254741046,
"app_id": 9007199254741044
}
],
"notify_user_via_email": true,
"silent_install": true
}
▼ Show full
Sample Response: HTTP 200
Duration: 1 minute | Threshold: 300 | 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.
© 2026, Zoho Corporation Pvt. Ltd. All Rights Reserved.
© 2026, Zoho Corporation Pvt. Ltd. All Rights Reserved.