Skip to main content
Question

Restart API Not working

  • May 7, 2026
  • 3 replies
  • 159 views

Forum|alt.badge.img+2

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?

3 replies

johnodaman
Forum|alt.badge.img
  • New Contributor
  • May 20, 2026

I was running into the same issue so applied a heap of potentially relevant privileges then deleted them one by one until it broke.

Here’s what I ended up with - purpose being to read device groups/memberships and restart devices.

Privileges:
"View MDM command information in Jamf Pro API",
"Read Mobile Devices",
"Read Smart Mobile Device Groups",
"Send Mobile Device Restart Device Command"

My request body looks the same as yours.  When successful, you’ll get a 201 response.

Interestingly it was the "View MDM command information in Jamf Pro API" privilege that was missing from my original.  I instead had "Send MDM command information in Jamf Pro API" which for my use case wasn’t actually needed.


johnodaman
Forum|alt.badge.img
  • New Contributor
  • May 20, 2026

Just had a closer look at the documentation this morning on https://myinstance/api/doc/#/mdm/post_v2_mdm_commands

Looks like this is by design.

x-required-privileges ["View MDM command information in Jamf Pro API"]

atomczynski12
Forum|alt.badge.img

This is from two years ago.

https://www.linkedin.com/pulse/how-issue-restart-mobile-device-command-en-masse-jamf-adam-tomczynski-3buvc/
This is how I was restarting Apple TVs at the time.