<!--
{
  "availability" : [
    "macOS: 10.13.0 -"
  ],
  "documentType" : "symbol",
  "framework" : "DeviceManagement",
  "identifier" : "/documentation/DeviceManagement/Set-Firmware-Password-Command",
  "metadataVersion" : "0.1.0",
  "role" : "Web Service Endpoint",
  "symbol" : {
    "kind" : "Web Service Endpoint",
    "modules" : [
      "Device Management"
    ],
    "preciseIdentifier" : "rest:put:mdm#SetFirmwarePasswordCommand"
  },
  "title" : "Set Firmware Password"
}
-->

# Set Firmware Password

Change or clear the firmware password on a device.

## Discussion

This command has a throttle interval to prevent executing it more frequently than every 30 seconds. Requests that occur within the throttle interval return an error.

> Important:
> There’s no way to set or clear a firmware password in MDM without knowing the current password, unless the server provides a way to prompt the administrator for the current password. Contact AppleCare service and support if the current password is unknown.

After processing the command, the device restarts so that the new firmware password takes effect. This command returns an error and fails if a firmware password is already pending.

Refer to the following sections to determine supported channels and requirements, and to see an example request and response.

This command isn’t supported on a Mac with Apple silicon.

### Command availability

|||
|--------------------------|---------------------------|
|Device channel            |macOS                      |
|User channel              |N/A                        |
|Requires supervision      |macOS                      |
|Allowed in user enrollment|N/A                        |
|Required access right     |DeviceLockAndRemovePasscode|

### Example request and response

**Request:**

```plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>Command</key>
    <dict>
        <key>AllowOroms</key>
        <false/>
        <key>CurrentPassword</key>
        <string>oldpassword</string>
        <key>NewPassword</key>
        <string>newpassword</string>
        <key>RequestType</key>
        <string>SetFirmwarePassword</string>
    </dict>
    <key>CommandUUID</key>
    <string>0001_SetFirmwarePassword</string>
</dict>
</plist>
```

**Response:**

```plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>CommandUUID</key>
    <string>0001_SetFirmwarePassword</string>
    <key>SetFirmwarePassword</key>
    <dict>
        <key>PasswordChanged</key>
        <true/>
    </dict>
    <key>Status</key>
    <string>Acknowledged</string>
    <key>UDID</key>
    <string>E84CD517-CB37-52F7-988C-DB5137B604B8</string>
</dict>
</plist>
```

## Topics

### Commands and responses

[`SetFirmwarePasswordCommand`](/documentation/DeviceManagement/SetFirmwarePasswordCommand)

The command to change or clear the firmware password on a device.

[`SetFirmwarePasswordResponse`](/documentation/DeviceManagement/SetFirmwarePasswordResponse)

A response from the device after it processes the command to change or clear the firmware password on a device.



---

Copyright &copy; 2026 Apple Inc. All rights reserved. | [Terms of Use](https://www.apple.com/legal/internet-services/terms/site.html) | [Privacy Policy](https://www.apple.com/privacy/privacy-policy)