Favicon

You are here: Home > API Reference > Apple > Apple Policies > Validate policy composition

POST /organizations/:organizationId/mdm/apple/enterprise/policies/composition

Required Permission: mdm.apple.policy.composition

Validates policy configuration structure and checks for conflicts or incompatible settings.

POST
https://api.applivery.io/v1/organizations/{organizationId}/mdm/apple/enterprise/policies/composition
curl -X POST "https://api.applivery.io/v1/organizations/{organizationId}/mdm/apple/enterprise/policies/composition" \
  -H "Authorization: Bearer <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
  "admPolicyAssignments": [
    {
      "admPolicyId": "698f42e5457fafa13d088794",
      "priority": 1
    }
  ],
  "targetId": "698f42e5457fafa13d088794",
  "targetType": "device",
  "skipSegmentValidation": true
}'
const response = await fetch("https://api.applivery.io/v1/organizations/{organizationId}/mdm/apple/enterprise/policies/composition", {
  method: "POST",
  headers: {
    Authorization: "Bearer <YOUR_API_KEY>",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "admPolicyAssignments": [
      {
        "admPolicyId": "698f42e5457fafa13d088794",
        "priority": 1
      }
    ],
    "targetId": "698f42e5457fafa13d088794",
    "targetType": "device",
    "skipSegmentValidation": true
  }),
});

const data = await response.json();
import requests

response = requests.post(
    "https://api.applivery.io/v1/organizations/{organizationId}/mdm/apple/enterprise/policies/composition",
    headers={"Authorization": "Bearer <YOUR_API_KEY>"},
    json={
      "admPolicyAssignments": [
        {
          "admPolicyId": "698f42e5457fafa13d088794",
          "priority": 1
        }
      ],
      "targetId": "698f42e5457fafa13d088794",
      "targetType": "device",
      "skipSegmentValidation": true
    },
)

data = response.json()

Request

Send your API key in the request header authorization
Example: Authorization: Bearer <token>

organizationId string
required
Match pattern: ^(([a-fA-F0-9]{24})|([a-zA-Z0-9\\-]{3,}))$

Body Params application/json
admPolicyAssignments array [object] optional
Ordered list of Apple device policy assignments applied to target with priority-based configuration inheritance and composition. Enforced policies are automatically calculated if targetId provided
admPolicyId string optional
Match pattern: ^[a-fA-F0-9]{24}$
priority integer required
≥ 0 · ≤ 10000
targetId string optional
If target entity identifier provided, for policy composition enforced policies and interpolations will be applied.
Match pattern: ^[a-fA-F0-9]{24}$
targetType string optional
Policy application scope defining whether configurations apply to entire device or device user context only.
device deviceUser
skipSegmentValidation boolean optional
Flag to skip segment reachability validation allowing composition analysis across segment boundaries for simulation purposes.
{
    "admPolicyAssignments": [
        {
            "admPolicyId": "698f42e5457fafa13d088794",
            "priority": 1
        }
    ],
    "targetId": "698f42e5457fafa13d088794",
    "targetType": "device",
    "skipSegmentValidation": true
}

Responses

200 Response application/json
status boolean optional
data object optional
composedPolicy object optional
Merged policy configuration resulting from priority-based composition of multiple assigned policies with conflict resolution.
summary object optional
Policy composition summary providing overview of merged settings conflicts resolved and effective configuration applied to target.
audit object optional
Audit trail of policies used in the composition and any variable interpolations applied.
{
    "status": true,
    "data": {
        "composedPolicy": {},
        "summary": {},
        "audit": {}
    }
}
400 Response application/json
status boolean optional
false
error object optional
code number optional
5091
message string optional
Invalid data
{
    "status": false,
    "error": {
        "code": 5091,
        "message": "Invalid data"
    }
}
401 Response application/json
status boolean optional
false
error object optional
code number optional
4004
message string optional
Invalid Token
{
    "status": false,
    "error": {
        "code": 4002,
        "message": "No auth token"
    }
}
404 Response application/json
status boolean optional
false
error object optional
code number optional
3001
message string optional
Entity not found
{
    "status": false,
    "error": {
        "code": 3001,
        "message": "Entity not found"
    }
}