Add a new PPPC payload configuration to an existing profile To create Mac PPPC policy
Request URL https://{server-hostname}:8383/api/v1/mdm/profiles/{profile_id}/payloads/macpppcpolicy
Scope
Header Authorization: d92d4xxxxxxxxxxxxx15f52
Request Parameters - Request Headers Content-Type string Mandatory
- Path Parameters profile_id string Mandatory
- Request Body application/json JSON Object
Hide Sub-Attributes app_permission_config_id long Optional
Identifier of the Privacy Preferences Policy Control (PPPC) configuration that defines app permissions for accessing protected resources (camera, microphone, etc.)
Curl
Java
Python
Deluge
PowerShell
Copied!
curl --request POST \
--url https://appdomain/api/v1/mdm/profiles/{profile_id}/payloads/macpppcpolicy \
--header 'Accept: application/json' \
--header 'Authorization: d92d4xxxxxxxxxxxxx15f52' \
--header 'Content-Type: application/json' \
--data '{"app_permission_config_id":1}'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/macpppcpolicy"))
.header("Content-Type", "application/json")
.header("Accept", "application/json")
.header("Authorization", " d92d4xxxxxxxxxxxxx15f52")
.method("POST", HttpRequest.BodyPublishers.ofString("{\"app_permission_config_id\":1}"))
.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_permission_config_id\":1}"
headers = {
'Content-Type': "application/json",
'Accept': "application/json",
'Authorization': " d92d4xxxxxxxxxxxxx15f52"
}
conn.request("POST", "/api/v1/mdm/profiles/{profile_id}/payloads/macpppcpolicy", 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("app_permission_config_id","1");
response = invokeUrl
[
url: "https://appDomain/api/v1/mdm/profiles/{profile_id}/payloads/macpppcpolicy"
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/macpppcpolicy' -Method POST -Headers $headers -ContentType 'application/json' -Body '{"app_permission_config_id":1}'Sample Request Body Add PPPC payload to the profile
Copied!
{
"app_permission_config_id": 1
}
▼ Show full
Response Parameters - HTTP code 200 Response Body - application/json JSON Object
Hide Sub-Attributes payload_id long
Unique identifier for the created payload item
app_permission_config_id string
Identifier of the associated PPPC configuration
Possible Response Codes Sample Response: HTTP 200 PPPC payload successfully added
Copied!
{
"payload_id": 9007199254741000,
"app_permission_config_id": 1
}
▼ Show full
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.