# Add a new Kiosk payload configuration to an existing profile Create Android Kiosk payload ## Endpoints **POST** `/api/v1/mdm/profiles/{profile_id}/payloads/androidkioskpolicy` ## Request URL ``` https://{serverurl}/api/v1/mdm/profiles/{profile_id}/payloads/androidkioskpolicy ``` ## Scope ``` MDMOnDemand.MDMDeviceMgmt.CREATE ``` ## Header ``` Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52 ``` ## Request Parameters ### Path Parameters - **profile_id** (string, Mandatory) Unique identifier of the profile. Obtain from the [Create Profile](https://www.manageengine.com/mobile-device-management/help/api/cloud/profiles-create-profile.html) or [Get Profiles](https://www.manageengine.com/mobile-device-management/help/api/cloud/profiles-get-profile.html) response ### Query Parameters - **t** (long, Optional) - **ignoreHeader** (boolean, Optional) - **qlt** (long, Optional) - **previousTab** (string, Optional) - **service** (string, Optional) - **search** (string, Optional) Free-text search string applied to the default searchable fields of the resource - **all** (boolean, Optional) - **dc_customerid** (long, Optional) - **mdm_instance** (string, Optional) - **signupsrc** (string, Optional) - **zaaid** (string, Optional) - **command** (string, Optional) - **orderby** (string, Optional) - **sortorder** (string, Optional) - **select_all** (boolean, Optional) When true, applies the operation to every record matching the current filter rather than to specific IDs. Default: false - **zoho-internal** (boolean, Optional) - **dc_instance** (string, Optional) - **SUBREQUEST** (string, Optional) - **source** (string, Optional) - **nocache** (long, Optional) param to avoid being served from cache - **wms_csrparam** (string, Optional) CSRF Token ### Request Body **Content-Type:** application/json **Type:** JSON object #### Attributes - **sub_config** (string, Optional) Sub-configuration type identifier - **kiosk_mode** (integer, Optional) Kiosk mode. 0 = Single App, 1 = Multi App, 3 = Single Web App (COSU). Default: 0 - **launcher_type** (integer, Optional) Launcher type. 1 = Default device launcher, 2 = ME MDM custom launcher. Default: 2 - **allowed_apps** (array, Optional) List of apps allowed in kiosk mode - **group_display_name** (string, Optional) — Display name of the app or app group - **app_id** (long, Optional) — Unique identifier of the app group - **background_apps** (array, Optional) List of apps that run in the background during kiosk mode - **group_display_name** (string, Optional) — Display name of the app or app group - **app_id** (long, Optional) — Unique identifier of the app group - **enable_default_app** (boolean, Optional) Whether a default app is launched automatically in kiosk mode. Default: false - **default_kiosk_app** (array, Optional) The default app launched automatically when kiosk mode starts (single app) - **group_display_name** (string, Optional) — Display name of the app or app group - **app_id** (long, Optional) — Unique identifier of the app group - **default_app_launch_mode** (integer, Optional) Default app launch behavior. Default: 0 - **default_app_launch_timeout** (integer, Optional) Seconds of idle time before the default app is relaunched. Default: 20 - **wallpaper** (long, Optional) Wallpaper image file ID - **is_wallpaper_removed** (boolean, Optional) Whether the kiosk wallpaper image has been removed. Default: false - **show_me_mdm_app** (boolean, Optional) Whether the ME MDM app is visible on the kiosk launcher. Default: true - **allow_notification_badge** (boolean, Optional) Whether notification badges are shown on app icons in kiosk mode. Default: false - **allow_task_manager** (boolean, Optional) Whether the task manager is accessible in kiosk mode. Default: true - **allow_system_bar** (boolean, Optional) Whether the system bar is visible in kiosk mode. Default: true - **allow_navigation_bar** (boolean, Optional) Whether the navigation bar is visible in kiosk mode. Default: true - **allow_status_bar** (boolean, Optional) Whether the status bar is visible in kiosk mode. Default: true - **allow_status_bar_expansion** (boolean, Optional) Whether the status bar can be expanded in kiosk mode. Default: true - **allow_home_button** (boolean, Optional) Whether the home button is functional in kiosk mode. Default: true - **allow_power_button** (boolean, Optional) Whether the power button is functional in kiosk mode. Default: true - **allow_back_button** (boolean, Optional) Whether the back button is functional in kiosk mode. Default: true - **allow_shutdown** (boolean, Optional) Whether the device can be shut down in kiosk mode. Default: true - **allow_key_guard** (boolean, Optional) Whether the key guard (lock screen) is enabled in kiosk mode. Default: true - **allow_notification** (boolean, Optional) Whether notifications are shown in kiosk mode. Default: true - **allow_system_error_dialog** (boolean, Optional) Whether app crash dialogs are displayed in kiosk mode. Default: false - **allow_recent_apps** (boolean, Optional) Whether the recent apps view is accessible in kiosk mode. Default: true - **allow_custom_settings** (boolean, Optional) Whether the custom settings app is enabled in kiosk mode. Default: true - **is_stay_awake_on_charging** (boolean, Optional) Whether the device stays awake while charging in kiosk mode. Default: true - **allow_simunlock** (boolean, Optional) Whether SIM unlock is allowed in kiosk mode. Default: true - **allow_multiwindow** (boolean, Optional) Whether multi-window (split screen) mode is allowed in kiosk mode. Default: true - **kiosk_custom_settings** (object, Optional) Advanced kiosk device feature controls configuration - **allow_wifi** (boolean, Optional) — Whether the user can access Wi-Fi settings in kiosk mode. Default: true - **screen_orientation** (string, Optional) — Forced screen orientation. Values: PORTRAIT, LANDSCAPE, AUTO - **allow_brightness** (boolean, Optional) — Whether the user can adjust screen brightness. Default: true - **screen_timeout** (string, Optional) — Screen timeout duration in milliseconds. 0 = User controlled, 15000 = 15 sec, 30000 = 30 sec, 60000 = 1 min, 300000 = 5 min, 1800000 = 30 min, 2147483647 = Always on - **allow_flash_light** (boolean, Optional) — Whether the flashlight is accessible in kiosk mode. Default: true - **allow_mobile_network** (boolean, Optional) — Whether mobile network settings are accessible. Default: true - **allow_mobile_hotspot_settings** (boolean, Optional) — Whether mobile hotspot settings are accessible. Default: true - **hotspot_settings_timeout** (integer, Optional) — Seconds before hotspot settings panel auto-closes. Default: 30 - **allow_bluetooth_settings** (boolean, Optional) — Whether Bluetooth settings are accessible. Default: true - **bluetooth_settings_timeout** (integer, Optional) — Seconds before Bluetooth settings panel auto-closes. Default: 30 - **allow_apn_settings** (boolean, Optional) — Whether APN settings are accessible. Default: true - **apn_settings_timeout** (integer, Optional) — Seconds before APN settings panel auto-closes. Default: 30 - **settings_timeout** (integer, Optional) — General settings panel timeout in seconds. Default: 30 - **allow_wifi_network_configuration** (boolean, Optional) — Whether the user can add or configure Wi-Fi networks. Default: true - **allow_battery_optimization** (boolean, Optional) — Whether battery optimization settings are accessible. Default: true - **allow_locale_settings** (boolean, Optional) — Whether language and locale settings are accessible. Default: true - **allow_device_passcode_change_settings** (boolean, Optional) — Whether the user can change the device passcode from kiosk mode. Default: true - **allow_display_settings** (boolean, Optional) — Whether display settings are accessible. Default: true - **battery_optimized_apps** (array, Optional) — List of apps exempt from battery optimization in kiosk mode - **group_display_name** (string, Optional) - **app_id** (long, Optional) - **mobile_data_usage** (boolean, Optional) — Whether the user can view or manage mobile data usage. Default: true - **default_keyboard** (boolean, Optional) — Whether only the default keyboard is allowed. Default: true - **allow_location_settings** (boolean, Optional) — Whether location settings are accessible. Default: true - **allow_airplane_mode** (boolean, Optional) — Whether the user can toggle airplane mode. Default: true - **allow_location** (boolean, Optional) — Whether location services are enabled on the device. Default: true - **allow_nfc_settings** (boolean, Optional) — Whether NFC settings are accessible. Default: true - **allow_datetime_settings** (boolean, Optional) — Whether date and time settings are accessible. Default: true - **allow_accessibility_settings** (boolean, Optional) — Whether accessibility settings are accessible. Default: true - **auto_distribute_apps** (boolean, Optional) Whether kiosk apps are automatically distributed to the device. Default: true - **webclippolicies** (array, Optional) List of web shortcuts displayed on the kiosk home screen - **webclip_policy_id** (long, Optional) — Unique identifier of the web shortcut policy - **webclip_name** (string, Optional) — Display name of the web shortcut shown on the kiosk home screen - **auto_distribute_webapp** (boolean, Optional) Whether kiosk web shortcuts are automatically distributed. Default: true - **exit_kiosk_password** (string, Optional) Password required to exit kiosk mode (write-only; use exit_kiosk_password_id for credential ID reads) - **exit_kiosk_password_id** (long, Optional) ID of the saved password credential for kiosk exit - **idle_refresh_timeout** (integer, Optional) Seconds of idle time before web shortcuts are refreshed. -1 = Disabled. Default: -1 - **clear_cookies_on_idle_timeout** (boolean, Optional) Whether cookies are cleared when the idle refresh timeout triggers. Default: true - **clear_cache_on_idle_timeout** (boolean, Optional) Whether cache is cleared when the idle refresh timeout triggers. Default: false ## Sample Request ### Curl ```bash curl --request POST \ --url https://appdomain/api/v1/mdm/profiles/{profile_id}/payloads/androidkioskpolicy \ --header 'Authorization: Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52' \ --header 'content-type: application/json' \ --data '{}' ``` ### Java ```java import java.net.URI; import java.net.http.HttpClient; import java.net.http.HttpRequest; import java.net.http.HttpResponse; import java.io.IOException; import java.net.http.HttpTimeoutException; public class Main { public static void main(String[] args) { HttpRequest request = HttpRequest.newBuilder() .uri(URI.create("https://appdomain/api/v1/mdm/profiles/{profile_id}/payloads/androidkioskpolicy")) .header("content-type", "application/json") .header("Authorization", "Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52") .method("POST", HttpRequest.BodyPublishers.ofString("{}")) .build(); HttpResponse response = HttpClient.newHttpClient().send(request, HttpResponse.BodyHandlers.ofString()); System.out.println(response.body()); } } ``` ### Python ```python import http.client conn = http.client.HTTPSConnection("appdomain") payload = "{}" headers = { 'content-type': "application/json", 'Authorization': "Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52" } conn.request("POST", "/api/v1/mdm/profiles/{profile_id}/payloads/androidkioskpolicy", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ### Deluge ```javascript headersMap = Map(); headersMap.put("Content-Type", "application/json"); headersMap.put("Accept", "application/json"); data = Map(); response = invokeUrl [ url: "https://appDomain/api/v1/mdm/profiles/{profile_id}/payloads/androidkioskpolicy" type: POST headers: headersMap body: data connection: connection_name ] info response; ``` ### PowerShell ```powershell $headers=@{} $headers.Add("content-type", "application/json") $headers.Add("Authorization", "Zoho-oauthtoken d92d4xxxxxxxxxxxxx15f52") $response = Invoke-WebRequest -Uri 'https://appdomain/api/v1/mdm/profiles/{profile_id}/payloads/androidkioskpolicy' -Method POST -Headers $headers -ContentType 'application/json' -Body '{}' ``` ## Sample Request Body ```json { "enable_default_app": false, "launcher_type": 2, "default_kiosk_app": [], "wallpaper": "value", "sub_config": "KIOSK_CUSTOM_SETTINGS", "default_app_launch_timeout": 20, "allowed_apps": [], "default_app_launch_mode": 0, "kiosk_mode": 0, "background_apps": [] } ``` ## Response Parameters ### HTTP 200 **Response Body:** application/json **Type:** JSON object #### Attributes - **payload_id** (long) — Unique identifier for the created payload item - **sub_config** (string) — Sub-configuration type identifier - **kiosk_mode** (integer) — Kiosk mode. 0 = Single App, 1 = Multi App, 3 = Single Web App (COSU). Default: 0 - **launcher_type** (integer) — Launcher type. 1 = Default device launcher, 2 = ME MDM custom launcher. Default: 2 - **allowed_apps** (array) - **background_apps** (array) - **enable_default_app** (boolean) — Default: false - **default_kiosk_app** (array) - **default_app_launch_mode** (integer) — Default: 0 - **default_app_launch_timeout** (integer) — Default: 20 - **wallpaper** (long) - **is_wallpaper_removed** (boolean) — Default: false - **show_me_mdm_app** (boolean) — Default: true - **allow_notification_badge** (boolean) — Default: false - **allow_task_manager** (boolean) — Default: true - **allow_system_bar** (boolean) — Default: true - **allow_navigation_bar** (boolean) — Default: true - **allow_status_bar** (boolean) — Default: true - **allow_status_bar_expansion** (boolean) — Default: true - **allow_home_button** (boolean) — Default: true - **allow_power_button** (boolean) — Default: true - **allow_back_button** (boolean) — Default: true - **allow_shutdown** (boolean) — Default: true - **allow_key_guard** (boolean) — Default: true - **allow_notification** (boolean) — Default: true - **allow_system_error_dialog** (boolean) — Default: false - **allow_recent_apps** (boolean) — Default: true - **allow_custom_settings** (boolean) — Default: true - **is_stay_awake_on_charging** (boolean) — Default: true - **allow_simunlock** (boolean) — Default: true - **allow_multiwindow** (boolean) — Default: true - **kiosk_custom_settings** (object) - **auto_distribute_apps** (boolean) — Default: true - **webclippolicies** (array) - **auto_distribute_webapp** (boolean) — Default: true - **exit_kiosk_password** (string) - **exit_kiosk_password_id** (long) - **idle_refresh_timeout** (integer) — Default: -1 - **clear_cookies_on_idle_timeout** (boolean) — Default: true - **clear_cache_on_idle_timeout** (boolean) — Default: false ## Sample Response: HTTP 200 ```json { "enable_default_app": false, "payload_id": 9007199254741000, "launcher_type": 2, "default_kiosk_app": [], "wallpaper": "value", "sub_config": "KIOSK_CUSTOM_SETTINGS", "default_app_launch_timeout": 20, "allowed_apps": [], "default_app_launch_mode": 0, "kiosk_mode": 0, "background_apps": [] } ``` ## Rate Limit **Duration:** 1 minute **Threshold:** 30 **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.