Dates: May 21, 2026
Esper Agent Version: 12.0.3791
Updated: May 25, 2026
New Features
-
Restricted Permissions for User Management: Custom admin roles can now be configured with a Restricted modifier on User Management permissions, limiting a custom admin to assigning only roles whose permissions fall within their own. Enterprise Admins can apply this setting to:
- creating invites
- updating user roles
- viewing role lists independently
Currently, the Restricted modifiers are not supported in the Impersonation Preview tool. Restricted role access is not based on role hierarchy, but instead based on scopes that the role already contains. Learn more about the User Management role permissions.
- Audit Linux scripts from the Event Feed: You can now view and download the complete output of any command/script executed on a device (stdout, stderr, and exit code) directly from the event feed. Download a snippet for each script event and audit exactly what a script did instead of seeing a truncated snippet.
- Send Background scripts to a Windows device: You can now apply a background script to a Windows device. Use a blueprint to configure the script and then converge the device.
Reach out to Esper if you’re interested in provisioning Windows devices.
- iOS Esper Agent updated to version 1.2.2: The provisioning profiles have been renewed in accordance with Apple's annual certificate requirements. There are no functional changes in this release.
-
Android Esper Agent Updates:
- Added support for setting static IP on Samsung Knox devices.
- Added support for CLEAR_APP_CACHE command on supervisor-supported devices.
- Added FCM-based device notifications to support remote viewer session start.
- Fixed an issue where the navigation bar was not hidden in kiosk mode on Samsung devices running Android 16.
- API Changelog:
➕ Added
- PUT /v2/devices/{id}/devicestate - endpoint added
✏️ Updated
-
PUT /authz2/v1/roles/{role_id}/scopes - added the new
create:device_command:CLEAR_APP_CACHEenum value to the request propertyscope_names/items/ -
GET /commands/v0/commands/
- ⚠️ added the new
CLEAR_APP_CACHEenum value to thecontent/results/items/commandresponse property for the response status200 - added the optional property
content/results/items/command_args/argumentsto the response with the200status
- ⚠️ added the new
-
POST /commands/v0/commands/
- ⚠️ added the new
CLEAR_APP_CACHEenum value to thecontent/commandresponse property for the response status201 - added the new optional request property
command_args/arguments - added the new
CLEAR_APP_CACHEenum value to the request propertycommand - added the optional property
content/command_args/argumentsto the response with the201status
- ⚠️ added the new
-
GET /commands/v0/commands/{id}/
- ⚠️ added the new
CLEAR_APP_CACHEenum value to thecontent/commandresponse property for the response status200 - added the optional property
content/command_args/argumentsto the response with the200status
- ⚠️ added the new
-
GET /device/v0/devices/
- added the optional property
content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/hardware_infoto the response with the200status - added the optional property
content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/memory_infoto the response with the200status - added the optional property
content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/network_infoto the response with the200status - added the optional property
content/results/items/oneOf[#/components/schemas/device_WindowsDevice]/software_infoto the response with the200status
- added the optional property
-
DELETE /device/v0/devices/{id}/
- added the optional property
content/oneOf[#/components/schemas/device_WindowsDevice]/hardware_infoto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_WindowsDevice]/memory_infoto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_WindowsDevice]/network_infoto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_WindowsDevice]/software_infoto the response with the200status
- added the optional property
-
GET /device/v0/devices/{id}/
- added the optional property
content/oneOf[#/components/schemas/device_WindowsDevice]/hardware_infoto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_WindowsDevice]/memory_infoto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_WindowsDevice]/network_infoto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_WindowsDevice]/software_infoto the response with the200status
- added the optional property
-
GET /enterprise/{enterprise_id}/group/{group_id}/download/eventfeed/ - ⚠️ added the new
CLEAR_APP_CACHEenum value to theresults/items/commandresponse property for the response status200 -
GET /v0/enterprise/{enterprise_id}/command/ - ⚠️ added the new
CLEAR_APP_CACHEenum value to theresults/items/commandresponse property for the response status200 -
POST /v0/enterprise/{enterprise_id}/command/
- ⚠️ added the new
CLEAR_APP_CACHEenum value to thecommandresponse property for the response status201 - added the new
CLEAR_APP_CACHEenum value to the request propertycommand
- ⚠️ added the new
-
GET /v2/background-scripts/ - added the optional property
content/results/items/descriptionto the response with the200status -
POST /v2/background-scripts/
- added the new optional request property
description - added the optional property
content/descriptionto the response with the201status
- added the new optional request property
-
GET /v2/background-scripts/{background_script_id}/ - added the optional property
content/allOf[#/components/schemas/blueprints_BackgroundScriptRead]/descriptionto the response with the200status -
GET /v2/blueprints/ - added the optional property
content/results/items/settings/windows/background_scriptsto the response with the200status -
POST /v2/blueprints/
- added the new optional request property
settings/windows/background_scripts - added the optional property
content/settings/windows/background_scriptsto the response with the201status
- added the new optional request property
-
DELETE /v2/blueprints/{blueprint_id}/ - added the optional property
content/settings/windows/background_scriptsto the response with the204status -
GET /v2/blueprints/{blueprint_id}/ - added the optional property
content/settings/windows/background_scriptsto the response with the200status -
PUT /v2/blueprints/{blueprint_id}/
- added the new optional request property
allOf[#/components/schemas/blueprints_BlueprintV2]/settings/windows/background_scripts - added the optional property
content/settings/windows/background_scriptsto the response with the200status
- added the new optional request property
-
GET /v2/blueprints/{blueprint_id}/versions/ - added the optional property
content/results/items/settings/windows/background_scriptsto the response with the200status -
GET /v2/blueprints/{blueprint_id}/versions/{version_id}/ - added the optional property
content/settings/windows/background_scriptsto the response with the200status -
GET /v2/devices/
- added the optional property
content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/background_scripts_statsto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/memory_info/total_swap_memoryto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/display_refresh_rateto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/display_resolutionto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/host_nameto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/last_boot_timeto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/os_build_timeto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/os_distributionto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/os_platformto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_CursorPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/supported_abito the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/background_scripts_statsto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/memory_info/total_swap_memoryto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/display_refresh_rateto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/display_resolutionto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/host_nameto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/last_boot_timeto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/os_build_timeto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/os_distributionto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/os_platformto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_OffsetPaginatedDeviceList]/results/items/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/supported_abito the response with the200status
- added the optional property
-
GET /v2/devices/{id}
- added the optional property
content/oneOf[#/components/schemas/device_WindowsDeviceV2]/background_scripts_statsto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_WindowsDeviceV2]/memory_info/total_swap_memoryto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/display_refresh_rateto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/display_resolutionto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/host_nameto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/last_boot_timeto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/os_build_timeto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/os_distributionto the response with the200status - added the optional property
content/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/os_platformto the response with the200status - added the optional property content/oneOf[#/components/schemas/device_WindowsDeviceV2]/software_info/supported_abi to the response with the 200 status
- added the optional property
-
PUT /authz2/v1/roles/{role_id}/scopes - added the new
We’re excited to launch DevRel 190 over the coming days, and the Esper team is hard at work on the next release. Please contact Esper Support to share your thoughts on how Esper can improve future releases.