---
title: ManageEngine MDM API Integration on Truto
slug: manageenginemdm
category: Device Management
canonical: "https://truto.one/integrations/detail/manageenginemdm/"
---

# ManageEngine MDM API Integration on Truto



**Category:** Device Management  
**Status:** Generally available

## MCP-ready AI tools

Truto exposes 157 tools for ManageEngine MDM that AI agents can call directly.

- **list_all_manage_engine_mdm_devices** — List managed devices in ManageEngine MDM. Returns: device_id, os_version, is_lost_mode_enabled, owned_by, is_removed, product_name, device_name, platform_type, platform_type_id, udid, serial_number, model, user, imei, summary. Optional filters include search, group_id, platform, device_type, owned_by, email, imei, and serial_number.
- **get_single_manage_engine_mdm_device_by_id** — Get detailed information about a specific managed device in ManageEngine MDM by id. Returns the full device object including model, serial_number, os, security, battery_level, network_usage, sims, knox_details, and summary. The optional summary query parameter includes profile/app/doc/group counts. Required: id.
- **update_a_manage_engine_mdm_device_by_id** — Update device details such as name, asset tag, warranty, and purchase information in ManageEngine MDM by id. Returns the updated device object including model, serial_number, os, security, and summary. To revert fields to defaults, provide empty string and -1. Required: id.
- **manage_engine_mdm_devices_get_summary** — Get a summary of a managed device in ManageEngine MDM. Returns: agent_version, device_name, doc_count, device_id, group_count, platform_type, last_contact_time, profile_count, app_count, group. Required: device_id.
- **manage_engine_mdm_devices_get_certificates** — Get certificates installed on a managed device in ManageEngine MDM. Returns the certificates object containing managedcertificates and unmanagedcertificates arrays, each with certificatename, certificatesubjectname, certificateissuername, certificateexpiry, serialnumber, isidentity, signaturealgorithmoid, and signaturealgorithmname. Required: device_id.
- **manage_engine_mdm_devices_get_restrictions** — Get device restrictions applied to a managed device in ManageEngine MDM. Returns: allow_inapp_purchase, developer_unlock, allow_app_removal, allow_news, show_notification_center, allow_radio_service, allow_profile_installation, request_to_leave_classroom, allow_managed_book_sync, allow_bluetooth_modification, allow_use_of_ibookstore, allow_open_doc_in_managed, allow_diagnostic_submission,…
- **manage_engine_mdm_devices_get_filevault** — Get FileVault encryption details for a managed Mac device in ManageEngine MDM. Returns the filevault object including filevault_status, is_encryption_enabled, is_institution_recovery_key, is_personal_recovery_key, and resource_id. Required: device_id.
- **manage_engine_mdm_devices_get_firmware** — Get firmware details for a managed Mac machine in ManageEngine MDM. Returns: is_firmware_change_pending, is_roms_allowed, is_firmware_password_exists, firmware_mode, managed_password_id. Required: device_id.
- **manage_engine_mdm_devices_get_firmware_password** — Get the firmware password of a managed Mac machine in ManageEngine MDM. Returns: firmware_password, resource_id. Required: device_id.
- **manage_engine_mdm_devices_get_locations_all** — Get the location details of all managed devices in ManageEngine MDM. Returns the deviceLocationMap containing per-device arrays of location records with added_time, latitude, longitude, and located_time.
- **manage_engine_mdm_devices_get_location** — Get the location history of a managed device in ManageEngine MDM. Returns: locations. Required: device_id.
- **manage_engine_mdm_devices_get_location_with_address** — Get device location history with resolved addresses from a prior location request in ManageEngine MDM. Returns: locations. Required: device_id.
- **manage_engine_mdm_devices_request_location** — Request device location with address details in ManageEngine MDM. By default, the last 3 days of location data is provided in the professional edition and the last known location in the standard edition. Returns: export_batch_id, wait, status. Required: device_id.
- **manage_engine_mdm_devices_list_profiles** — List the profiles installed on a ManageEngine MDM device. Returns: profile_id, profile_name, profile_description, status, platform_type, latest_version, executed_version, associated_by_user_name, associated_by_user_id, associated_on, applied_time, created_time, created_user, last_modified_time, last_modified_user, remark, localized_remarks. Required: device_id.
- **manage_engine_mdm_devices_associate_profiles** — Associate one or more MDM profiles to a device in ManageEngine MDM. Returns an empty 204 response on success. Required: device_id, profile_ids.
- **manage_engine_mdm_devices_disassociate_profiles** — Disassociate one or more profiles from a device in ManageEngine MDM. Returns an empty 204 response on success. Required: device_id.
- **manage_engine_mdm_devices_get_profile_details** — Get details of a specific profile associated to a device in ManageEngine MDM. Returns: created_time, last_modified_user, last_modified_time, created_user, associated_by_user_name, remark, applied_time, profile_description, associated_by_user_id, localized_remarks, profile_name, platform_type, latest_version, executed_version, profile_id, associated_on, status. Required: device_id, profile_id.
- **manage_engine_mdm_devices_get_configuration_profiles** — List all installed configuration profiles on a device in ManageEngine MDM, including both user-installed and MDM-installed profiles. Returns: payload_uuid, payload_identifier, payload_description, payload_organization, payload_type, payload_version, payload_has_rem_password, payload_is_encrypted, payload_display_name, payload_unremovable, payloadcontent. Required: device_id.
- **manage_engine_mdm_devices_list_apps** — List the apps installed on a ManageEngine MDM device. Returns: app_id, app_name, app_type, app_category_name, is_paid_app, platform_type, latest_version, executed_version, islatestver, associated_by, associated_on, remarks, localized_remark, status, release_label_details. Required: device_id.
- **manage_engine_mdm_devices_associate_apps** — Associate one or more apps to a specific device in ManageEngine MDM. Returns a status response confirming the app-to-device association. Required: device_id.
- **manage_engine_mdm_devices_disassociate_apps** — Dissociate apps from a device in ManageEngine MDM. Returns an empty 204 response on success. Required: device_id.
- **manage_engine_mdm_devices_get_app_details** — Get details of a specific app distributed to a device in ManageEngine MDM. Returns the app object including app_id, app_name, status, platform_type, associated_by, associated_on, release_label_details, latest_version, and remarks. Required: device_id, app_id.
- **manage_engine_mdm_devices_refresh_app_status** — Refresh the app installation status for a device in ManageEngine MDM. Returns an empty 204 response on success. Required: device_id.
- **manage_engine_mdm_devices_get_polltime** — Get the next poll time for a ManageEngine MDM device. Returns: next_poll_time. Required: device_id.
- **manage_engine_mdm_devices_get_applicable_actions** — Get applicable remote actions for a ManageEngine MDM device. Returns: knox_actions, actions. Required: device_id.
- **manage_engine_mdm_devices_perform_action** — Perform an action on a ManageEngine MDM device such as scan, lock, remote control, complete wipe, or enable lost mode. Returns an empty 202 Accepted response on success. Required: device_id, action_name.
- **manage_engine_mdm_devices_get_scan_status** — Get the last scan status for a ManageEngine MDM device. Returns: status_description, status_code, kb_url. Required: device_id.
- **manage_engine_mdm_devices_get_privacy** — Get privacy settings for a ManageEngine MDM device. Returns: fetch_location, view_privacy_settings, disable_wipe, fetch_device_name, fetch_installed_app, disable_bug_report, applicable_for, disable_remote_control, fetch_phone_number. Required: device_id.
- **manage_engine_mdm_devices_execute_bulk_command** — Execute a bulk device command in ManageEngine MDM by command name. The response payload is command-specific and cannot be enumerated from the available source documentation. Required: command_name.
- **manage_engine_mdm_devices_get_command_history** — Get command history for a specific device in ManageEngine MDM. Returns: command_status, managed_status, command_id, command_name, added_time, device_id, added_by, command_history_id, added_by_name, command_life, remarks_args, remarks. Required: device_id.
- **manage_engine_mdm_devices_get_recent_command** — Get the last initiated command status for a ManageEngine MDM device. Returns: status_description, status_code, command_name, kb_url. Required: device_id.
- **manage_engine_mdm_devices_apply_knox_action** — Apply a Knox action to a ManageEngine MDM device. Returns: status_description, status_code, command_name, kb_url. Required: device_id, action_name.
- **manage_engine_mdm_devices_remove_action** — Remove a pending action from a ManageEngine MDM device if it has not yet been performed. Returns an empty 204 response on success. Required: device_id, action_name.
- **list_all_manage_engine_mdm_groups** — List Manage Engine MDM groups available in MDM. Returns: group_id, name, group_type, domain, description.
- **create_a_manage_engine_mdm_group** — Create a Manage Engine MDM group for managing devices. Returns: group_id, name, group_type, domain, description. Required: name, group_type.
- **get_single_manage_engine_mdm_group_by_id** — Get details of a specific Manage Engine MDM group by id. Returns: group_id, name, group_type, domain, description. Required: id.
- **delete_a_manage_engine_mdm_group_by_id** — Delete a Manage Engine MDM group by id. Returns an empty 204 response on success. Required: id.
- **manage_engine_mdm_groups_list_members** — List members present in a ManageEngine MDM group. Returns: member_ids. Required: group_id. Use the include=memberdetails query parameter to request expanded member detail in the response.
- **manage_engine_mdm_groups_add_members** — Add multiple members simultaneously to an existing ManageEngine MDM group. Returns: member_ids. Required: group_id, member_ids.
- **manage_engine_mdm_groups_add_member** — Add a particular member to a selected ManageEngine MDM group. Returns an empty 202 response on success. Required: group_id, member_id.
- **manage_engine_mdm_groups_remove_member** — Remove a member from a particular ManageEngine MDM group. Returns an empty 204 response on success. Required: group_id, member_id.
- **manage_engine_mdm_groups_associate_apps** — Associate one or more apps to a ManageEngine MDM group by providing a list of app IDs. Returns an empty response on success. Required: group_id, app_ids.
- **manage_engine_mdm_groups_disassociate_apps** — Disassociate all apps from a ManageEngine MDM group. Returns an empty 204 response on success. Required: group_id.
- **manage_engine_mdm_groups_associate_profiles** — Associate configuration profiles to a ManageEngine MDM group. Returns an empty response on success. Required: group_id, profile_ids.
- **manage_engine_mdm_groups_disassociate_profiles** — Disassociate configuration profiles from a ManageEngine MDM group. Returns an empty response on success. Required: group_id, profile_ids.
- **manage_engine_mdm_groups_move_devices** — Move a set of members from one ManageEngine MDM group to other target groups. Returns: success. Required: group_id, member_ids, target_group_ids.
- **manage_engine_mdm_groups_move_devices_to_target** — Move a set of members from one ManageEngine MDM group to other target groups. Returns: success. Required: group_id, member_ids, target_group_ids.
- **list_all_manage_engine_mdm_profiles** — List MDM profiles in ManageEngine Mobile Device Manager Plus. Returns: creation_time, last_modified_time, profile_version, payloads, last_modified_by, profile_description, created_by, collection_id, profile_name, profile_status, platform_type, is_moved_to_trash, profile_id, scope, profile_status_id, provider_type, connection_type, ondemandrule, proxy_type, send_all_nw_traffic, proxy_server_port,…
- **create_a_manage_engine_mdm_profile** — Create a new MDM profile in ManageEngine Mobile Device Manager Plus. Returns the created profile including profile_id, profile_name, profile_status, platform_type, and payloads. Required: profile_name, platform_type.
- **manage_engine_mdm_profiles_trash** — Trash or permanently delete MDM profiles in ManageEngine Mobile Device Manager Plus. On first call the profile is trashed; if already trashed it is deleted permanently. Returns an empty 204 response on success. Required: profile_ids.
- **get_single_manage_engine_mdm_profile_by_id** — Get a single MDM profile by id in ManageEngine Mobile Device Manager Plus. Returns: creation_time, last_modified_time, profile_version, payloads, last_modified_by, profile_description, created_by, collection_id, profile_name, profile_status, platform_type, is_moved_to_trash, profile_id, scope, profile_status_id, provider_type, connection_type, ondemandrule, proxy_type, send_all_nw_traffic,…
- **update_a_manage_engine_mdm_profile_by_id** — Modify an existing MDM profile in ManageEngine Mobile Device Manager Plus. Returns an empty 202 response on success. Required: id.
- **manage_engine_mdm_profiles_list_payloads** — List all payload types configured within a ManageEngine MDM profile. Returns: payloads, provider_type, connection_type, ondemandrule, proxy_type, send_all_nw_traffic, proxy_server_port, proxy_server, vpn_type, sub_config, config_id, ondemand_match_app_enabled, proxy_pac_url, config_type, config_name, ikev2, connection_name, enable_vpn_on_demand, proxy_user_name, certificate_uuid, proxy_password.…
- **manage_engine_mdm_profiles_get_payload_ids** — Get the payload item IDs for a specific payload type within a ManageEngine MDM profile. Returns: payload_name, payloaditems, provider_type, connection_type, ondemandrule, proxy_type, send_all_nw_traffic, proxy_server_port, proxy_server, vpn_type, sub_config, config_id, ondemand_match_app_enabled, proxy_pac_url, config_type, config_name, ikev2, connection_name, enable_vpn_on_demand,…
- **manage_engine_mdm_profiles_add_payload** — Add a payload of a specific type to a ManageEngine MDM profile. Returns the created payload configuration including payload_id, max_passcode_age, require_alphanumeric, min_passcode_length, and payload-type-specific fields. Required: profile_id, payload_name. The request body structure varies by payload type.
- **manage_engine_mdm_profiles_remove_payload** — Remove a payload type and all its items from a ManageEngine MDM profile. Returns an empty 204 response on success. Required: profile_id, payload_name.
- **manage_engine_mdm_profiles_get_payload_details** — Get detailed configuration for a specific payload item in a ManageEngine MDM profile. Returns: max_passcode_age, require_alphanumeric, max_failed_attempts, min_passcode_length, min_complex_chars, no_of_passcode_maintained, allow_simple_value, auto_lock_idle_for, max_grace_period, payload_id, provider_type, connection_type, ondemandrule, proxy_type, send_all_nw_traffic, proxy_server_port,…
- **manage_engine_mdm_profiles_remove_payload_item** — Remove a specific payload item from a ManageEngine MDM profile. Returns an empty 204 response on success. Required: profile_id, payload_name, payload_id.
- **manage_engine_mdm_profiles_publish** — Publish a ManageEngine MDM profile so it can be distributed to devices and groups. Every profile needs to be published before it can be distributed. Returns an empty 204 response on success. Required: profile_id.
- **manage_engine_mdm_profiles_update_all** — Update a ManageEngine MDM profile to all associated devices and groups. Returns an empty 202 response on success. Required: profile_id.
- **manage_engine_mdm_profiles_bulk_update** — Update a specific payload item within a ManageEngine MDM profile by replacing its configuration. Returns the payload configuration object with payload-type-specific fields. Required: profile_id, payload_name, payload_id. The request body structure varies by payload type — refer to the ManageEngine MDM Profile API Help page for the payload-specific JSON format of each type.
- **list_all_manage_engine_mdm_apps** — List apps available in the ManageEngine MDM App Repository. Returns: app_id, app_name, app_category, app_type, bundle_identifier, version, platform_type, description, icon, store_url, is_app_paid, country_code, store_id, added_time, modified_time, release_labels.
- **create_a_manage_engine_mdm_app** — Add a Store or enterprise app to the ManageEngine MDM server. Returns: app_id, app_name, app_category, app_type, bundle_identifier, version, platform_type, description, icon, store_url, is_app_paid, country_code, store_id, added_time, modified_time, release_labels. Required: app_name, app_type, app_file, app_category_id, supported_devices, release_label_id.
- **get_single_manage_engine_mdm_app_by_id** — Get details of a specific app version in ManageEngine MDM by app and release label. Returns: app_id, app_name, app_category, app_type, bundle_identifier, version, platform_type, description, icon, store_url, is_app_paid, country_code, store_id, added_time, modified_time, release_labels. Required: app_id, id.
- **manage_engine_mdm_apps_create_app_channel** — Create a release label channel for maintaining multiple versions of enterprise apps in ManageEngine MDM. Returns: release_label_id. Required: channel_name.
- **manage_engine_mdm_apps_associate_to_devices** — Associate an app to specific devices in ManageEngine MDM. Returns an empty 202 response on success. Required: app_id, release_label_id, device_ids.
- **manage_engine_mdm_apps_associate_to_groups** — Associate a ManageEngine MDM app to one or more groups for a specific release label. Returns an empty 202 response on success. Required: app_id, release_label_id, group_ids.
- **update_a_manage_engine_mdm_app_by_id** — Update a ManageEngine MDM app's details or app version within a specific release label. Returns the updated app object including app_id, app_name, version, platform_type, app_type, and release_labels. Required: app_id, id.
- **manage_engine_mdm_apps_approve_version** — Approve a specific app version within a release label in ManageEngine MDM. Returns the app object including app_id, app_name, version, platform_type, and release_labels. Required: app_id, release_label_id.
- **manage_engine_mdm_apps_disassociate_from_device** — Disassociate a ManageEngine MDM app from a specific device. Returns an empty 204 response on success. Required: app_id, device_id.
- **manage_engine_mdm_apps_disassociate_from_group** — Disassociate a ManageEngine MDM app from a specific group. Returns an empty 204 response on success. Required: app_id, group_id.
- **delete_a_manage_engine_mdm_app_by_id** — Delete an existing app from the ManageEngine MDM App Repository by id. Returns an empty 204 response on success. Required: id.
- **manage_engine_mdm_apps_delete_version** — Delete a specific version of an app from the ManageEngine MDM App Repository. Approved app versions cannot be deleted. Returns an empty 204 response on success. Required: app_id, release_label_id.
- **list_all_manage_engine_mdm_blacklist_apps** — List apps available for blocklisting in the ManageEngine MDM inventory. Returns: identifier, appgroupid, platform, appname.
- **manage_engine_mdm_blacklist_apps_add** — Add a new app to the blocklist repository in ManageEngine MDM. Returns: identifier, appgroupid, platform, appname. Required: apps.
- **manage_engine_mdm_blacklist_apps_blocklist_devices** — Blocklist apps on managed devices in ManageEngine MDM. Returns: resource_ids. Required: resource_ids, app_group_ids.
- **manage_engine_mdm_blacklist_apps_remove_from_devices** — Remove blocklisted apps from managed devices in ManageEngine MDM. Returns: resource_ids. Required: resource_ids, app_group_ids.
- **manage_engine_mdm_blacklist_apps_blocklist_groups** — Blocklist apps from device groups in ManageEngine MDM. Returns: resource_ids. Required: resource_ids, app_group_ids.
- **manage_engine_mdm_blacklist_apps_remove_from_groups** — Remove blocklisted apps from groups in ManageEngine MDM. Returns: resource_ids. Required: resource_ids, app_group_ids.
- **manage_engine_mdm_blacklist_apps_get_status** — Get the blocklist status of apps on devices managed by ManageEngine MDM. Returns the Blackliststatus array with each entry containing status, resourceId, identifier, and appname.
- **list_all_manage_engine_mdm_content** — List content (documents and media) available on the ManageEngine MDM server. Returns: doc_id, doc_name, added_time, updated_time, last_modified_by_name, last_modified_by, created_by_name, created_by, size, doc_type, repository_type, description.
- **create_a_manage_engine_mdm_content** — Add a document or media file to the ManageEngine MDM server. Returns: doc_id, doc_name, added_time, updated_time, last_modified_by_name, last_modified_by, created_by_name, created_by, size, doc_type, repository_type, description. Required: tags, description, file_id.
- **get_single_manage_engine_mdm_content_by_id** — Get details of a specific document or media file in ManageEngine MDM by id. Returns: doc_id, doc_name, added_time, updated_time, last_modified_by_name, last_modified_by, created_by_name, created_by, size, doc_type, repository_type, description. Required: id.
- **update_a_manage_engine_mdm_content_by_id** — Update content on the ManageEngine MDM server by id. Returns: doc_id, doc_name, added_time, updated_time, last_modified_by_name, last_modified_by, created_by_name, created_by, size, doc_type, repository_type, description. Required: id, tags, description, file_id.
- **delete_a_manage_engine_mdm_content_by_id** — Delete a document or media file from the ManageEngine MDM server by id. Returns an empty 204 response on success. Required: id.
- **manage_engine_mdm_content_associate_to_devices** — Associate ManageEngine MDM content to one or more devices by device ID. Returns an empty 204 response on success. Required: doc_id, devices.
- **manage_engine_mdm_content_disassociate_from_devices** — Disassociate ManageEngine MDM content from one or more devices by device ID. Returns an empty 204 response on success. Required: doc_id, devices.
- **manage_engine_mdm_content_associate_to_groups** — Associate ManageEngine MDM content to one or more groups by group ID. Returns an empty 204 response on success. Required: doc_id, groups.
- **manage_engine_mdm_content_disassociate_from_groups** — Disassociate ManageEngine MDM content from one or more groups by group ID. Returns an empty 204 response on success. Required: doc_id, groups.
- **manage_engine_mdm_content_associate_to_users** — Associate ManageEngine MDM content to one or more users by user ID. Returns an empty 204 response on success. Required: doc_id, users.
- **manage_engine_mdm_content_disassociate_from_users** — Disassociate content (document or media) from a list of users in ManageEngine MDM. Returns an empty 204 response on success. Required: doc_id.
- **list_all_manage_engine_mdm_announcements** — List all announcements in ManageEngine MDM. Returns: announcement_name, announcement_format, creation_time, created_by_user, last_modified_time, collection_id, profile_id, last_modified_by_user, ack_button, announcement_id, is_moved_to_trash, needs_acknowledgement, announcement_detail, no_of_devices_distributed, no_of_groups_distributed.
- **create_a_manage_engine_mdm_announcement** — Create a new announcement in ManageEngine MDM. Returns an empty 204 response on success. Required: announcement_name, announcement_format, announcement_detail.
- **manage_engine_mdm_announcements_delete_bulk** — Delete one or more announcements in ManageEngine MDM. Returns an empty 204 response on success.
- **get_single_manage_engine_mdm_announcement_by_id** — Get details of a specific announcement in ManageEngine MDM by id. Returns: announcement_name, announcement_format, creation_time, created_by_user, last_modified_time, collection_id, profile_id, last_modified_by_user, ack_button, announcement_id, is_moved_to_trash, needs_acknowledgement, announcement_detail, no_of_devices_distributed, no_of_groups_distributed. Required: id.
- **update_a_manage_engine_mdm_announcement_by_id** — Modify an existing announcement in ManageEngine MDM by id. Returns an empty 204 response on success. Required: id, announcement_name, announcement_format, announcement_detail.
- **delete_a_manage_engine_mdm_announcement_by_id** — Delete an announcement by id in ManageEngine MDM. Returns an empty 204 response on success. Required: id.
- **manage_engine_mdm_announcements_get_group_distribution** — Get the group IDs to which a ManageEngine MDM announcement is distributed. Returns: groups. Required: announcement_id.
- **manage_engine_mdm_announcements_distribute_to_groups** — Distribute an announcement to specified groups in ManageEngine MDM. Returns an empty 204 response on success. Required: announcement_id, group_ids.
- **manage_engine_mdm_announcements_remove_from_groups** — Disassociate a ManageEngine MDM announcement from the specified groups. Returns an empty 204 response on success. Required: announcement_id, group_ids.
- **manage_engine_mdm_announcements_distribute_to_devices** — Distribute an announcement to specific devices in ManageEngine MDM by providing a list of device IDs. Returns an empty 204 response on success. Required: announcement_id, device_ids.
- **manage_engine_mdm_announcements_remove_from_devices** — Remove an announcement from specific devices in ManageEngine MDM by disassociating it from the given device IDs. Returns an empty 204 response on success. Required: announcement_id, device_ids.
- **manage_engine_mdm_announcements_get_device_distribution** — Get the device IDs to which an announcement is distributed in ManageEngine MDM. Returns: devices. Required: announcement_id.
- **list_all_manage_engine_mdm_enrollment_settings** — Get ManageEngine MDM enrollment settings configuration. Returns: is_authentication_handling_available, selected_ad, directory_authentication, auth_mode, email_unmanaged_alerts, notify_device_unmanaged, is_ad_integrated.
- **manage_engine_mdm_enrollment_settings_save** — Save ManageEngine MDM enrollment settings for on-premises. Returns: status. Required: auth_mode, email_unmanaged_alerts, notify_device_unmanaged.
- **manage_engine_mdm_enrollment_settings_save_inactive_policy** — Save ManageEngine MDM inactive device policy settings, configuring the action type and inactivity thresholds for devices that have not contacted the MDM server. Returns: status. Required: action_type, action_threshold, inactive_threshold.
- **manage_engine_mdm_enrollment_settings_delete_inactive_policy** — Delete ManageEngine MDM inactive device policy settings for devices that have not contacted the MDM server. Returns an empty 204 response on success.
- **list_all_manage_engine_mdm_users** — List managed users in ManageEngine MDM with optional filtering by group, user type, or search keyword. Returns: email_address, user_id, name, phone_number, domain.
- **manage_engine_mdm_users_remove_multiple** — Remove multiple managed users from ManageEngine MDM by providing their user IDs. Returns an empty 204 response on success. Required: user_ids.
- **get_single_manage_engine_mdm_user_by_id** — Get details of a specific managed user in ManageEngine MDM by id. Returns: user_email, user_id, name, phone_number, device_count. Required: id.
- **manage_engine_mdm_users_remove** — Remove a specific managed user from ManageEngine MDM. Returns an empty 204 response on success. Required: user_id.
- **update_a_manage_engine_mdm_user_by_id** — Modify a managed user in ManageEngine MDM by updating their email, name, and phone number. Returns an empty 202 response on success. Required: id, user_email, user_name, phone_number.
- **manage_engine_mdm_users_get_devices** — Get device IDs associated with a user in ManageEngine MDM by filtering on email and domain. Returns: device_ids. Optional: email_id, domain_name.
- **list_all_manage_engine_mdm_compliance** — List all fence policies (compliance profiles) in ManageEngine MDM. Returns: compliance_id, collection_id, compliance_status, compliance_name, platform_type, created_by, created_by_name, creation_time, last_modified_by, last_modified_by_name, last_modified_time, total_count, yet_to_evaluate_count, compliant_devices_count, non_compliant_devices_count, not_applicable_count, notification_sent_count.
- **create_a_manage_engine_mdm_compliance** — Create a new fence policy (compliance profile) in ManageEngine MDM with geofence rules and violation actions. Returns: policies, description, rule, compliance_name, collection_id, is_moved_to_trash, compliance_id. Required: policies, description, compliance_name.
- **manage_engine_mdm_compliance_delete_multiple** — Delete multiple fence policies in ManageEngine MDM. Returns an empty 204 response on success.
- **get_single_manage_engine_mdm_compliance_by_id** — Get a specific fence policy (compliance profile) by id in ManageEngine MDM. Returns: policies, description, rule, compliance_name, collection_id, is_moved_to_trash, compliance_id. Required: id.
- **update_a_manage_engine_mdm_compliance_by_id** — Modify an existing fence policy (compliance profile) by id in ManageEngine MDM with updated geofence rules and violation actions. Returns: policies, description, rule, compliance_name, collection_id, is_moved_to_trash, compliance_id. Required: id, policies, description, compliance_name.
- **delete_a_manage_engine_mdm_compliance_by_id** — Delete a Fence Policy (compliance profile) in ManageEngine MDM by id. Returns an empty 204 response on success. Required: id.
- **list_all_manage_engine_mdm_compliance_groups** — List Fence Policy groups associated with compliance policies in ManageEngine MDM. Returns: group_id, group_name, group_type, member_count.
- **create_a_manage_engine_mdm_compliance_group** — Associate a Fence Policy to multiple device groups in ManageEngine MDM. Returns an empty 204 response on success. Required: group_ids.
- **get_single_manage_engine_mdm_compliance_group_by_id** — Get details of a specific Fence Policy group by id in ManageEngine MDM. Returns: group_id, group_name, group_type, member_count. Required: id.
- **update_a_manage_engine_mdm_compliance_group_by_id** — Modify a Fence Policy group by id in ManageEngine MDM. Returns: group_id, group_name, group_type, member_count. Required: id.
- **delete_a_manage_engine_mdm_compliance_group_by_id** — Delete a Fence Policy group by id in ManageEngine MDM. Returns an empty 204 response on success. Required: id.
- **manage_engine_mdm_compliance_groups_associate** — Associate a Fence Policy to multiple device groups in ManageEngine MDM. Returns an empty 204 response on success. Required: compliance_id, group_ids.
- **manage_engine_mdm_compliance_groups_disassociate** — Disassociate a Fence Policy from multiple device groups in ManageEngine MDM. Returns an empty 204 response on success. Required: compliance_id.
- **list_all_manage_engine_mdm_scheduled_actions** — List scheduled actions in ManageEngine MDM. Returns an empty 202 Accepted response on success.
- **create_a_manage_engine_mdm_scheduled_action** — Create a scheduled action in ManageEngine MDM to execute Remote Restart or Shutdown on devices in groups at a specific date, time, week, or day. Returns an empty 202 Accepted response on success. Required: groups, time_zone, schedule_params, reason_message, execution_type, expiry, schedule_once_time.
- **get_single_manage_engine_mdm_scheduled_action_by_id** — Get a scheduled action by id in ManageEngine MDM. Returns an empty 202 Accepted response on success. Required: id.
- **update_a_manage_engine_mdm_scheduled_action_by_id** — Update an existing scheduled action in ManageEngine MDM. Returns an empty 202 Accepted response on success. Required: id, group_action_id, groups, time_zone, schedule_params, reason_message, execution_type, expiry, schedule_once_time.
- **delete_a_manage_engine_mdm_scheduled_action_by_id** — Delete (suspend) a scheduled action in ManageEngine MDM, stopping it from being executed on devices in groups. Returns an empty 202 Accepted response on success. Required: id, group_action_id.
- **manage_engine_mdm_scheduled_actions_suspend** — Suspend a scheduled action in ManageEngine MDM to stop it from being executed on devices in groups. Returns an empty 202 response on success. Required: action_id.
- **manage_engine_mdm_scheduled_actions_validate_group** — Validate groups on which a scheduled action needs to be executed in ManageEngine MDM before scheduling. Returns an empty 202 Accepted response on success. Required: groups, action_name.
- **list_all_manage_engine_mdm_vpp** — List all VPP (Volume Purchase Program) location tokens added to ManageEngine MDM. Returns: non_vpp_app_count, vpp_token_details, trash_count.
- **create_a_manage_engine_mdm_vpp** — Add a new VPP location token (server token) to ManageEngine MDM. Returns: location_name, expired, businessstore_id, organisation_name, expiry_date. Required: vpp_token_file, email_address.
- **get_single_manage_engine_mdm_vpp_by_id** — Get details of a specific VPP location token in ManageEngine MDM by id. Returns: non_vpp_apps_count, location_name, total_apps_count, expiry_date, last_sync_time, org_type, organization_name, businessstore_id, license_assign_type. Required: id.
- **update_a_manage_engine_mdm_vpp_by_id** — Modify an existing VPP location token in ManageEngine MDM by id. Returns an empty 202 response on success. Required: id, vpp_token_file, email_address.
- **delete_a_manage_engine_mdm_vpp_by_id** — Delete a specific VPP location token from ManageEngine MDM by id. Returns an empty 202 response on success. Required: id.
- **manage_engine_mdm_vpp_get_apps** — Get the list of VPP apps for a specific VPP token in ManageEngine MDM. Returns the apps array where each item includes appgroupid, appname, displayimageloc, licensecount, packageid, and resourcecount. Required: vpp_id.
- **manage_engine_mdm_vpp_associate_apps** — Associate VPP apps to devices for a specific VPP token in ManageEngine MDM. Returns an empty 204 response on success. Required: vpp_id.
- **manage_engine_mdm_vpp_disassociate_apps** — Disassociate VPP apps from devices for a specific VPP token in ManageEngine MDM. Returns an empty 204 response on success. Required: vpp_id.
- **manage_engine_mdm_vpp_delete_all** — Delete all VPP location tokens from ManageEngine MDM. Associated apps are also removed once the tokens are deleted. Returns an empty 202 response on success.
- **manage_engine_mdm_vpp_get_all_sync_status** — Get the sync status of all VPP location tokens in ManageEngine MDM. Returns the vpp_sync_details array where each item includes businessstore_id, if_sync_failed, status, failed_apps_count, total_apps_count, completed_apps_count, successful_apps_count, remarks, and other_mdm_hostname.
- **manage_engine_mdm_vpp_sync_all** — Sync all VPP location tokens with the ManageEngine MDM server. Returns an empty 202 response on success.
- **manage_engine_mdm_vpp_get_failure_details** — Get failure details for apps that failed to sync under a specific VPP location token in ManageEngine MDM. Returns the apps list including appgroupid, appname, displayimageloc, licensecount, packageid, and resourcecount for each failed app. Required: vpp_id.
- **manage_engine_mdm_vpp_get_sync_status** — Get the sync status of a specific VPP location token in ManageEngine MDM. Returns: if_license_insufficient, if_sync_failed, apps_with_insufficient_licenses, failed_apps_count, total_apps_count, successful_apps_count, last_sync_time, completed_apps_count, remarks, status, other_mdm_hostname. Required: vpp_id.
- **manage_engine_mdm_vpp_sync** — Sync a specific VPP location token with the ManageEngine MDM console. Returns an empty 202 response on success. Required: vpp_id.
- **list_all_manage_engine_mdm_files** — List files uploaded to ManageEngine MDM. Returns: content_type, file_name, file_id, expiry_time, content_length.
- **create_a_manage_engine_mdm_file** — Upload a file to ManageEngine MDM for usage in other API calls. Returns: content_type, file_name, file_id, expiry_time, content_length. Required: content_disposition, stream. The /api/v1/mdm/files endpoint is deprecated.
- **get_single_manage_engine_mdm_file_by_id** — Get details of a specific file in ManageEngine MDM by id. Returns: content_type, file_name, file_id, expiry_time, content_length. Required: id.
- **delete_a_manage_engine_mdm_file_by_id** — Delete a file from ManageEngine MDM by id. Returns an empty 204 response on success. Required: id.
- **manage_engine_mdm_files_associate_to_devices** — Associate a file to one or more devices in ManageEngine MDM. Returns an empty 204 response on success. Required: file_id.
- **manage_engine_mdm_files_disassociate_from_devices** — Disassociate a file from devices in ManageEngine MDM. Returns an empty 204 response on success. Required: file_id.
- **manage_engine_mdm_files_associate_to_groups** — Associate a file to one or more groups in ManageEngine MDM. Returns an empty 204 response on success. Required: file_id, groups.
- **manage_engine_mdm_files_disassociate_from_groups** — Disassociate a file from groups in ManageEngine MDM. Returns an empty 204 response on success. Required: file_id.
- **manage_engine_mdm_files_distribute_to_devices** — Distribute a file to specific devices in ManageEngine MDM. Returns an empty 204 response on success. Required: file_id.
- **manage_engine_mdm_files_distribute_to_groups** — Distribute a file to one or more device groups in ManageEngine MDM. Returns a distribution status response confirming the file was sent to the specified groups. Required: file_id.

## How it works

1. **Link your customer's ManageEngine MDM account.** Use Truto's frontend SDK; we handle every OAuth and API key flow so you don't need to create the OAuth app.
2. **Authentication is automatic.** Truto refreshes tokens, stores credentials securely, and injects them into every API request.
3. **Call Truto's API to reach ManageEngine MDM.** The Proxy API is a 1-to-1 mapping of the ManageEngine MDM API.
4. **Get a unified response format.** Every response uses a single shape, with cursor-based pagination and data in the `result` field.

## Use cases

- **Automate employee lifecycle for device provisioning and offboarding** — HRIS and identity platforms can trigger MDM group assignments on hire and remote wipes on termination, closing the loop between HR events and endpoint security without manual IT intervention.
- **Continuous endpoint compliance monitoring for GRC platforms** — Compliance and security tools can nightly-sync device inventory, FileVault status, passcode restrictions, and installed certificates to prove SOC2, HIPAA, or ISO 27001 controls are enforced across the fleet.
- **Embed remote device actions inside helpdesk and ITSM workflows** — Ticketing platforms can let agents lock, wipe, locate, or enable lost mode on a user's device directly from a ticket, eliminating console-switching and shortening resolution times.
- **Sync device inventory into ITAM and finance systems** — Asset management platforms can maintain a live source of truth for hardware, OS versions, ownership, and app/VPP license consumption, helping finance reconcile spend and IT track warranty status.
- **Distribute apps, profiles, and content from external admin consoles** — Security, LMS, or internal tooling platforms can push VPP apps, configuration profiles, and secure documents to specific devices or groups without their users leaving the parent product.

## What you can build

- **One-click remote wipe and lock from your UI** — Expose ManageEngine MDM device actions (lock, wipe, reboot, lost mode) as native buttons in your app using the perform_action endpoint.
- **Live device fleet dashboard** — List and drill into every enrolled device with OS, hardware, security posture, and last-seen data pulled from the device and summary endpoints.
- **Automated group-based policy assignment** — Move devices between MDM groups on HR or role changes to instantly apply the right profiles, apps, and compliance policies via the group membership endpoints.
- **FileVault and restriction compliance checks** — Run scheduled scans against get_filevault and get_restrictions to flag non-compliant macOS and mobile devices in your GRC dashboard.
- **Geo-locate lost devices from a support ticket** — Trigger a location request and fetch the latest address-resolved coordinates directly into your helpdesk thread using the location endpoints.
- **Blocklist app monitoring and remediation** — Detect prohibited apps installed on devices via the blacklist status endpoint and push blocklist enforcement to devices or groups in a single call.

## FAQs

### What authentication method does the ManageEngine MDM integration use?

ManageEngine MDM uses OAuth 2.0 tokens issued via the Zoho/ManageEngine authentication service. Truto handles the token exchange, refresh, and secure storage so your end users only complete a standard OAuth consent flow.

### Does Truto support both on-premise and cloud editions of ManageEngine MDM?

Yes. The API surface is largely consistent across editions, but on-premise deployments require your end user to provide their server URL during connection. Truto handles both variants through a single integration configuration.

### Which device platforms are covered by this integration?

All platforms supported by ManageEngine MDM — iOS, Android (including Samsung Knox), macOS, Windows, and ChromeOS — are covered. Platform-specific data like FileVault status (macOS), firmware password (macOS), and Knox actions (Samsung) are exposed via dedicated tools.

### Can we execute remote actions like wipe or lock at scale?

Yes. In addition to per-device perform_action calls, the execute_bulk_command tool lets you dispatch commands to multiple devices in one request, and command history endpoints let you audit execution status.

### How fresh is the data returned from the API?

Device data reflects the last successful check-in with the MDM server. You can trigger a fresh scan or a location request on demand, and use get_polltime and get_scan_status to know when devices last reported in.

### Can we manage app distribution including Apple VPP licenses?

Yes. You can list, create, approve, and associate apps to devices or groups, and separately manage Apple VPP tokens — including syncing licenses, fetching VPP apps, and checking sync status for license reconciliation.
