Favicon

You are here: Home > API Reference > Apple > Apple Enrollment Tokens > Create bulk enrollment tokens

POST /organizations/:organizationId/mdm/apple/enterprise/enrollment-tokens/bulk

Required Permission: mdm.apple.enrollmentToken.create

Creates multiple enrollment tokens simultaneously for streamlined distribution to end users or groups.

POST
https://api.applivery.io/v1/organizations/{organizationId}/mdm/apple/enterprise/enrollment-tokens/bulk
curl -X POST "https://api.applivery.io/v1/organizations/{organizationId}/mdm/apple/enterprise/enrollment-tokens/bulk" \
  -H "Authorization: Bearer <YOUR_API_KEY>" \
  -H "Content-Type: application/json" \
  -d '{
  "type": "object",
  "children": {
    "sendEmail": {},
    "displayName": {},
    "tags": {},
    "duration": {},
    "language": {},
    "emailText": {},
    "policyId": {},
    "admPolicyAssignments": {},
    "profiles": {},
    "applications": {},
    "admVppLocationId": {},
    "segmentId": {}
  },
  "userEmails": [
    "[email protected]",
    "[email protected]",
    "[email protected]"
  ]
}'
const response = await fetch("https://api.applivery.io/v1/organizations/{organizationId}/mdm/apple/enterprise/enrollment-tokens/bulk", {
  method: "POST",
  headers: {
    Authorization: "Bearer <YOUR_API_KEY>",
    "Content-Type": "application/json",
  },
  body: JSON.stringify({
    "type": "object",
    "children": {
      "sendEmail": {},
      "displayName": {},
      "tags": {},
      "duration": {},
      "language": {},
      "emailText": {},
      "policyId": {},
      "admPolicyAssignments": {},
      "profiles": {},
      "applications": {},
      "admVppLocationId": {},
      "segmentId": {}
    },
    "userEmails": [
      "[email protected]",
      "[email protected]",
      "[email protected]"
    ]
  }),
});

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

response = requests.post(
    "https://api.applivery.io/v1/organizations/{organizationId}/mdm/apple/enterprise/enrollment-tokens/bulk",
    headers={"Authorization": "Bearer <YOUR_API_KEY>"},
    json={
      "type": "object",
      "children": {
        "sendEmail": {},
        "displayName": {},
        "tags": {},
        "duration": {},
        "language": {},
        "emailText": {},
        "policyId": {},
        "admPolicyAssignments": {},
        "profiles": {},
        "applications": {},
        "admVppLocationId": {},
        "segmentId": {}
      },
      "userEmails": [
        "[email protected]",
        "[email protected]",
        "[email protected]"
      ]
    },
)

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
type string optional
object
children object optional
sendEmail object optional
type string optional
boolean
flags object optional
truthy boolean optional
falsy boolean optional
displayName object optional
type string optional
string
valids string optional
rules object optional
tags object optional
type string optional
array
flags object optional
items object optional
duration object optional
type string optional
number
flags object optional
description string optional
Number of seconds between 1m and 30d. 1d by default
invalids number optional
Format: float
null
rules object optional
language object optional
type string optional
string
flags object optional
valids string optional
es
invalids string optional
emailText object optional
type string optional
string
valids string optional
policyId object optional
type string optional
string
valids string optional
rules object optional
admPolicyAssignments object optional
type string optional
array
flags object optional
items object optional
profiles object optional
type string optional
array
flags object optional
items object optional
applications object optional
type string optional
array
flags object optional
items object optional
admVppLocationId object optional
type string optional
string
valids string optional
rules object optional
segmentId object optional
type string optional
number
flags object optional
invalids number optional
Format: float
null
rules object optional
userEmails array [string] required
Array of recipient email addresses for bulk enrollment token generation and distribution workflows.
{
    "type": "object",
    "children": {
        "sendEmail": {
            "type": "boolean",
            "flags": {
                "insensitive": true,
                "presence": "required"
            },
            "truthy": true,
            "falsy": true
        },
        "displayName": {
            "type": "string",
            "valids": "",
            "rules": {
                "name": "max",
                "arg": 128
            }
        },
        "tags": {
            "type": "array",
            "flags": {
                "sparse": true
            },
            "items": {
                "type": "string",
                "valids": "",
                "rules": {
                    "name": "max",
                    "arg": 128
                }
            }
        },
        "duration": {
            "type": "number",
            "flags": {
                "unsafe": true
            },
            "description": "Number of seconds between 1m and 30d. 1d by default",
            "invalids": null,
            "rules": {
                "name": "integer"
            }
        },
        "language": {
            "type": "string",
            "flags": {
                "allowOnly": true
            },
            "valids": "es",
            "invalids": ""
        },
        "emailText": {
            "type": "string",
            "valids": ""
        },
        "policyId": {
            "type": "string",
            "valids": "",
            "rules": {
                "name": "regex",
                "arg": {
                    "pattern": "string"
                }
            }
        },
        "admPolicyAssignments": {
            "type": "array",
            "flags": {
                "sparse": true
            },
            "items": {
                "type": "object",
                "children": {
                    "admPolicyId": {
                        "type": "string",
                        "invalids": "",
                        "rules": {
                            "name": "regex",
                            "arg": {
                                "pattern": "string"
                            }
                        }
                    },
                    "priority": {
                        "type": "number",
                        "flags": {
                            "unsafe": true,
                            "presence": "required"
                        },
                        "invalids": null,
                        "rules": {
                            "name": "integer"
                        }
                    }
                }
            }
        },
        "profiles": {
            "type": "array",
            "flags": {
                "sparse": true
            },
            "items": {
                "type": "string",
                "invalids": "",
                "rules": {
                    "name": "regex",
                    "arg": {
                        "pattern": "string"
                    }
                }
            }
        },
        "applications": {
            "type": "array",
            "flags": {
                "sparse": true
            },
            "items": {
                "type": "object",
                "children": {
                    "admApplication": {
                        "type": "string",
                        "flags": {
                            "presence": "required"
                        },
                        "description": "Apple application assignment target referencing the admApplication entity to install or expose on the device, policy, or enrollment token.",
                        "examples": {
                            "value": "698f42e5457fafa13d088794"
                        },
                        "invalids": "",
                        "rules": {
                            "name": "regex",
                            "arg": {
                                "pattern": "string"
                            }
                        }
                    },
                    "managed": {
                        "type": "boolean",
                        "flags": {
                            "insensitive": true
                        },
                        "description": "Controls Apple managed-install semantics for this app assignment. This field still drives InstallAsManaged and ChangeManagementState.",
                        "examples": {
                            "value": true
                        },
                        "truthy": true,
                        "falsy": true
                    },
                    "managementFlags": {
                        "type": "number",
                        "flags": {
                            "unsafe": true,
                            "allowOnly": true
                        },
                        "description": "Optional Apple MDM InstallApplication.ManagementFlags override for this app assignment. Supported values are 1 (remove app when the MDM profile is removed), 4 (prevent backup of app documents and data), and 5 (both behaviors). If omitted, backend behavior stays unchanged: managed=true sends 5; otherwise the field is omitted. This field only overrides Apple ManagementFlags and does not imply managed=true.",
                        "examples": {
                            "value": 5
                        },
                        "valids": 0,
                        "invalids": null
                    },
                    "vpp": {
                        "type": "boolean",
                        "flags": {
                            "insensitive": true
                        },
                        "description": "Enables Apple Volume Purchase Program purchase handling for this assignment when the app should be installed through VPP licensing.",
                        "examples": {
                            "value": true
                        },
                        "truthy": true,
                        "falsy": true
                    },
                    "iOSApp": {
                        "type": "boolean",
                        "flags": {
                            "insensitive": true
                        },
                        "description": "Apple InstallApplication iOSApp flag passed for this assignment when the target app should be treated as an iOS app payload.",
                        "examples": {
                            "value": true
                        },
                        "truthy": true,
                        "falsy": true
                    },
                    "configuration": {
                        "type": "object",
                        "description": "Managed app configuration object sent with the Apple app assignment when the application supports configuration keys.",
                        "examples": {
                            "value": {}
                        }
                    },
                    "action": {
                        "type": "string",
                        "flags": {
                            "allowOnly": true
                        },
                        "description": "Assignment action defining whether the app is force-installed, available for optional install, or required during setup.",
                        "examples": {
                            "value": "forceInstall"
                        },
                        "valids": "forceInstall",
                        "invalids": ""
                    },
                    "actionStatus": {
                        "type": "string",
                        "flags": {
                            "allowOnly": true
                        },
                        "description": "Read-only effective assignment status shown in responses. Devices may report available assignments as either available or available-install depending on the device request state.",
                        "examples": {
                            "value": "forceInstall"
                        },
                        "valids": "forceInstall",
                        "invalids": ""
                    },
                    "scripts": {
                        "type": "object",
                        "description": "Optional agent-side install lifecycle scripts associated with this assignment for Apple agent-managed application flows.",
                        "examples": {
                            "value": {}
                        },
                        "children": {
                            "preInstall": {
                                "type": "string",
                                "valids": ""
                            },
                            "postInstall": {
                                "type": "string",
                                "valids": ""
                            },
                            "audit": {
                                "type": "string",
                                "valids": ""
                            },
                            "enforce": {
                                "type": "string",
                                "valids": ""
                            },
                            "runner": {
                                "type": "string",
                                "valids": ""
                            }
                        }
                    },
                    "updatePolicy": {
                        "type": "object",
                        "description": "Additional update-policy configuration stored with the app assignment for downstream deployment or agent-handled behaviors.",
                        "examples": {
                            "value": {}
                        }
                    }
                }
            }
        },
        "admVppLocationId": {
            "type": "string",
            "valids": "",
            "rules": {
                "name": "regex",
                "arg": {
                    "pattern": "string"
                }
            }
        },
        "segmentId": {
            "type": "number",
            "flags": {
                "unsafe": true
            },
            "invalids": null,
            "rules": {
                "name": "integer"
            }
        }
    },
    "userEmails": [
        "[email protected]",
        "[email protected]",
        "[email protected]"
    ]
}

Responses

200 Response application/json
status boolean optional
data object optional
total number required
Total number of enrollment tokens requested in bulk creation operation for processing tracking and validation.
Format: float
success number required
Count of successfully created enrollment tokens in bulk operation indicating completed provisioning for device distribution.
Format: float
fail number required
Count of failed enrollment token creations in bulk operation requiring investigation for email validation or quota issues.
Format: float
{
    "status": true,
    "data": {
        "total": 10,
        "success": 9,
        "fail": 1
    }
}
400 Response application/json
status boolean optional
false
error object optional
code number optional
5086
message string optional
Attached adm profiles can not be added
{
    "status": false,
    "error": {
        "code": 5050,
        "message": "Feature not allowed for you billing plan"
    }
}
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"
    }
}