To create Shared Device Configuration
https://{server-hostname}:8383/api/v1/mdm/profiles/{profile_id}/payloads/shareddeviceconfiguration
MDMDeviceMgmt.CREATECopied!
Authorization: d92d4xxxxxxxxxxxxx15f52
Unique identifier of the profile. Obtain from the Create Profile or Get Profiles response
Maximum number of users allowed on shared device. 0 means no limit. Default: 0
Idle time in seconds before auto-logout for regular users. 0 means disabled. Default: 0
Maximum grace period in seconds before passcode is required. Allowed values: -1=Not Configured, 0=Immediately, 60, 300, 900, 3600, 14400. Default: -1
Diagnostics submission setting. Allowed values: 0=Not Configured, 1=Enable, 2=Disable
App analytics setting. Allowed values: 0=Not Configured, 1=Enable, 2=Disable
Online authentication grace period in days. Default: 0
List of domain name strings for shared device authentication
curl --request POST \
--url https://appdomain/api/v1/mdm/profiles/{profile_id}/payloads/shareddeviceconfiguration \
--header 'Accept: application/json' \
--header 'Authorization: d92d4xxxxxxxxxxxxx15f52' \
--header 'Content-Type: application/json' \
--data '{"diagnostics_submission":1,"user_allowed":1,"max_grace_period":-1,"domains":["zylker.com"],"online_authentication_grace_period":-1,"idle_time_logout":0,"app_analytics":2}'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/profiles/{profile_id}/payloads/shareddeviceconfiguration"))
.header("Content-Type", "application/json")
.header("Accept", "application/json")
.header("Authorization", " d92d4xxxxxxxxxxxxx15f52")
.method("POST", HttpRequest.BodyPublishers.ofString("{\"diagnostics_submission\":1,\"user_allowed\":1,\"max_grace_period\":-1,\"domains\":[\"zylker.com\"],\"online_authentication_grace_period\":-1,\"idle_time_logout\":0,\"app_analytics\":2}"))
.build();
HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString());
System.out.println(response.body());
}
}
import http.client
conn = http.client.HTTPSConnection("appdomain")
payload = "{\"diagnostics_submission\":1,\"user_allowed\":1,\"max_grace_period\":-1,\"domains\":[\"zylker.com\"],\"online_authentication_grace_period\":-1,\"idle_time_logout\":0,\"app_analytics\":2}"
headers = {
'Content-Type': "application/json",
'Accept': "application/json",
'Authorization': " d92d4xxxxxxxxxxxxx15f52"
}
conn.request("POST", "/api/v1/mdm/profiles/{profile_id}/payloads/shareddeviceconfiguration", 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.put("user_allowed","1");
data.put("idle_time_logout","1");
data.put("max_grace_period","1");
data.put("diagnostics_submission","1");
data.put("app_analytics","1");
data.put("online_authentication_grace_period","1");
data_domains=List();
data.put("domains",data_domains);
response = invokeUrl
[
url: "https://appDomain/api/v1/mdm/profiles/{profile_id}/payloads/shareddeviceconfiguration"
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", " d92d4xxxxxxxxxxxxx15f52")
$response = Invoke-WebRequest -Uri 'https://appdomain/api/v1/mdm/profiles/{profile_id}/payloads/shareddeviceconfiguration' -Method POST -Headers $headers -ContentType 'application/json' -Body '{"diagnostics_submission":1,"user_allowed":1,"max_grace_period":-1,"domains":["zylker.com"],"online_authentication_grace_period":-1,"idle_time_logout":0,"app_analytics":2}'Add Shared Device Configuration payload to the profile
{
"diagnostics_submission": 1,
"user_allowed": 1,
"max_grace_period": -1,
"domains": [
"zylker.com"
],
"online_authentication_grace_period": -1,
"idle_time_logout": 0,
"app_analytics": 2
}
Unique identifier for the created payload item
Maximum number of users allowed on shared device. 0 means no limit. Default: 0
Idle time in seconds before auto-logout for regular users. 0 means disabled. Default: 0
Maximum grace period in seconds before passcode is required. Allowed values: -1=Not Configured, 0=Immediately, 60, 300, 900, 3600, 14400. Default: -1
Diagnostics submission setting. Allowed values: 0=Not Configured, 1=Enable, 2=Disable
App analytics setting. Allowed values: 0=Not Configured, 1=Enable, 2=Disable
Online authentication grace period in days. Default: 0
List of domain name strings for shared device authentication
Shared Device Configuration payload successfully added
{
"payload_id": 9007199254741000,
"diagnostics_submission": 1,
"user_allowed": 1,
"max_grace_period": -1,
"domains": [
"zylker.com"
],
"online_authentication_grace_period": -1,
"idle_time_logout": 0,
"app_analytics": 2
}
![]()
Duration: 1 minute | Threshold: 30 | 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.