We are building a Python application using the JAMF Pro REST API (OAuth2 client credentials) to send MDM restart commands to iPads. We are calling POST /api/v2/mdm/commands with a Bearer token and the following body: {"clientData": [{"managementId": "<device-management-uuid>"}], "commandData": {"commandType": "RESTART_DEVICE"}}. The API client has the following privileges assigned: Read Mobile Devices, Update Mobile Devices, Send Mobile Device Restart Device Command, Send MDM command information in Jamf Pro API, Send Blank Pushes to Mobile Devices, Update Mobile Device Inventory Collection, Update Sites, and Update Change Management. Despite all of these permissions being assigned, we are consistently receiving a 403 INVALID_PRIVILEGE: Forbidden response. The managementIdUUID is retrieved from the device detail endpoint /api/v2/mobile-devices/{id}/detail and confirmed correct. We have tried two separate API clients, both returning the same 403. Reading devices works perfectly with the same token — only the command endpoint returns 403. Has anyone successfully sent a RESTART_DEVICE command via the v2 API with OAuth2 and can confirm the exact privilege name required?
Question
Restart API Not working
Enter your E-mail address. We'll send you an e-mail with instructions to reset your password.
