# Retrieve firmware details for a Mac machine gets the firmware info of the device ## Endpoint `GET /api/v1/mdm/devices/{device_id}/firmware` ## Request URL `https://`[{serverurl}](https://www.manageengine.com/mobile-device-management/help/api/cloud/oauth-authentication-endpoint-domain.html)`/api/v1/mdm/devices/{device_id}/firmware` ## Scope `MDMOnDemand.MDMInventory.READ` ## Header `Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52` ## Request Parameters ### Request Headers - **Accept** `string` — **Mandatory** — `application/json` ### Path Parameters - **device_id** `string` — **Mandatory** - Unique identifier of the device. Obtain from the [Get Device List](https://www.manageengine.com/mobile-device-management/help/api/cloud/devices-get-device-list.html) response. ### Query Parameters - **searchkey** `string` — Optional - Value to search for. Must be used in combination with searchfield to specify which field is searched. - **searchfield** `string` — Optional - Name of the field to search against. Used together with searchkey (e.g., name, email, udid). - **is_allowed_apps** `boolean` — Optional - Set to true to return apps from the allow list, false to return apps from the block list. - **is_app_purchased_from_portal** `boolean` — Optional - Set to true to restrict results to apps purchased through the enterprise app portal (VPP/managed Google Play). Default: false. - **search** `string` — Optional - Free-text search string applied to the default searchable fields of the resource. - **app_scope** `string` — Optional - Filter applications by their assignment scope. Allowed values: 1=All, 2=Assigned to groups, 3=Assigned to devices. - **platform** `string` — Optional - Filter results by device platform. Allowed values: 1=iOS, 2=Android, 3=Windows, 4=macOS, 6=tvOS. - **delta-token** `string` — Optional - Token used for delta/incremental fetches. Pass the token returned from a previous response to retrieve only items modified since that point. - **skip-token** `string` — Optional - Pagination continuation token returned by a previous response. Pass it to fetch the next page of results. - **limit** `integer` — Optional - Maximum number of records to return in a single response. Used together with offset for pagination. ## Sample Request ```curl curl --request GET \ --url https://appdomain/api/v1/mdm/devices/{device_id}/firmware \ --header 'Accept: application/json' \ --header 'Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52' ``` ## Response Parameters ### HTTP Code 200 Response body: `application/json` - `JSON object` - **is_firmware_change_pending** `boolean` - Whether a restart is required for firmware changes to take effect. - **is_roms_allowed** `boolean` - Whether ROMS loading is allowed. - **is_firmware_password_exists** `boolean` - Whether firmware password is enabled (manually or through MDM). - **firmware_mode** `integer` - Firmware mode: 1 - Command Mode, 2 - Full Mode. - **managed_password_id** `integer` - Managed password ID (-1 = password not set through MDM). ## Possible Response Codes - **200** — HTTP code ## Sample Response: HTTP 200 Mac firmware details ```json { "is_firmware_change_pending": false, "is_roms_allowed": false, "is_firmware_password_exists": false, "firmware_mode": 1, "managed_password_id": -1 } ``` ## Rate Limits **Duration:** 1 minute | **Threshold:** 250 | **Lock period:** 5 minutes Duration - Time window for the threshold. Threshold - Number of API calls allowed within the specified duration. Lock Period - Wait time before consecutive API requests.