Posted on 06-16-2025 01:40 PM
Hi I've created this script utilizing the jamf API to wipe some 2015 intel MacBook Airs, but it's locking the devices instead of wiping them. I using the existing json format since the classic api's erase command has been deprecated. What am i running into here?
`
#!/bin/bash
# Define credentials
response=$(curl -v -u "GVC4_API_Admin_Migration:Change2025" https://gvc4.jamfcloud.com/api/v1/auth/token -X POST)
bearerToken=$(echo "$response" | jq -r '.token')
# Device IDs
computerIDs=(2403 2636 2619 2595)
for comID in "${computerIDs[@]}"
do
echo "Sending erase command to computer ID $comID..."
#curl -X POST \
#-H "Accept: application/json" -H "Authorization: Bearer ${bearerToken}" \
#"https://gvc4.jamfcloud.com/JSSResource/computercommands/command/EraseDevice/passcode/123456/id/$comI..."
curl -X 'POST' \
"https://gvc4.jamfcloud.com/api/v1/computer-inventory/$comID/erase" \
-H "Authorization: Bearer $bearerToken" \
-H "Content-Type: application/json" \
-d '{ "pin": "123456" }'
done
`
06-16-2025 08:29 PM - edited 06-16-2025 08:36 PM
@gesiyeIgbas https://developer.jamf.com/jamf-pro/reference/createcomputercommandbycommandidandpasscode states that ErseDevice was deprecated on 2023-06-21 so that's probably why it becomes a DeviceLock.
You might want to take a look at https://learn.jamf.com/en-US/bundle/technical-articles/page/Erase_Device_Command_Options.html for the v2 endpoint which was updated 2024-09-02 and note the Obliteration Behavior option since Erase All Contents and Settings doesn't work on pre-T2 Macs like the 2015 MBAs.